andrewlwn77/app-store-mcp
If you are the rightful owner of app-store-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The App Store MCP Server provides access to app store data from both Apple App Store and Google Play Store through the App Stores API.
App Store MCP Server
ā ļø IMPORTANT SECURITY NOTICE: Never commit API keys to version control. This package requires an API key to be set via environment variable.
An MCP (Model Context Protocol) server that provides access to app store data from both Apple App Store and Google Play Store through the App Stores API.
Features
- Autocomplete: Get app name suggestions based on search terms
- Search: Search for apps across app stores
- Details: Get detailed information about specific apps
- Reviews: Fetch user reviews for apps
- š Intelligent Caching: In-memory LRU cache reduces API calls and improves performance
- š Pagination: Configurable page sizes to reduce token consumption by 60%+
- ā” Performance: Cache hit responses return instantly
Installation
This MCP server is designed to be used with MCP-compatible applications like Claude Desktop, VS Code with Copilot, or other MCP clients.
MCP Client Configuration
Add this server to your MCP client configuration:
Claude Desktop
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"app-store": {
"command": "npx",
"args": ["-y", "@andrewlwn77/app-store-mcp"],
"env": {
"APP_STORE_API_KEY": "your-api-key-here",
"CACHE_ENABLED": "true",
"CACHE_TTL_SECONDS": "300",
"CACHE_MAX_ENTRIES": "100",
"RESULTS_PER_PAGE": "10"
}
}
}
}
VS Code with GitHub Copilot
Add to your MCP configuration (User Settings JSON or .vscode/mcp.json
):
{
"servers": {
"app-store": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@andrewlwn77/app-store-mcp"],
"env": {
"APP_STORE_API_KEY": "your-api-key-here",
"CACHE_ENABLED": "true",
"CACHE_TTL_SECONDS": "300",
"CACHE_MAX_ENTRIES": "100",
"RESULTS_PER_PAGE": "10"
}
}
}
}
Direct Installation (for development)
npm install -g @andrewlwn77/app-store-mcp
Local Development
git clone <repository-url>
cd app-store-mcp
npm install
npm run build
Configuration
Required: You must set the APP_STORE_API_KEY
environment variable before running the server.
- Get an API key from RapidAPI App Stores
- Set the environment variable:
# Option 1: Export in your shell export APP_STORE_API_KEY="your-api-key-here" # Option 2: Create a .env file (for local development) echo "APP_STORE_API_KEY=your-api-key-here" > .env
ā ļø Security: Never commit your .env
file or API key to version control!
Configuration
The server supports several environment variables for performance tuning:
Variable | Description | Default | Example |
---|---|---|---|
APP_STORE_API_KEY | Required - Your RapidAPI key | - | abc123def456 |
CACHE_ENABLED | Enable/disable response caching | true | false |
CACHE_TTL_SECONDS | Cache entry time-to-live | 300 | 600 |
CACHE_MAX_ENTRIES | Maximum cached entries (LRU eviction) | 100 | 50 |
RESULTS_PER_PAGE | Default pagination page size | 10 | 5 |
Configuration Example
# High-performance configuration
export CACHE_TTL_SECONDS=600
export RESULTS_PER_PAGE=5
export CACHE_MAX_ENTRIES=200
# Disable caching for development/debugging
export CACHE_ENABLED=false
Usage
Testing the Server
# For local development and testing
npm start
# For development with auto-reload
npm run dev
# Test the server directly (requires MCP client)
npx -y @andrewlwn77/app-store-mcp
Note: This server is designed to be used through MCP clients. Direct execution will wait for MCP protocol messages via stdin.
Available Tools
1. app_store_autocomplete
Get app name suggestions based on a search term.
Parameters:
store
(required): "apple" or "google"term
(required): Search term for autocompletelanguage
(optional): Language code (default: "en")page
(optional): Page number, 1-based (default: 1)pageSize
(optional): Results per page (default: fromRESULTS_PER_PAGE
)
2. app_store_search
Search for apps in the app store.
Parameters:
store
(required): "apple" or "google"term
(required): Search termlanguage
(optional): Language code (default: "en")page
(optional): Page number, 1-based (default: 1)pageSize
(optional): Results per page (default: fromRESULTS_PER_PAGE
)
3. app_store_details
Get detailed information about a specific app.
Parameters:
store
(required): "apple" or "google"id
(required): App ID (bundle ID for iOS, package name for Android)language
(optional): Language code (default: "en")
4. app_store_reviews
Get reviews for a specific app.
Parameters:
store
(required): "apple" or "google"id
(required): App ID (bundle ID for iOS, package name for Android)language
(optional): Language code (default: "en")page
(optional): Page number, 1-based (default: 1)pageSize
(optional): Results per page (default: fromRESULTS_PER_PAGE
)
Example Usage
Once configured with an MCP client, you can use natural language to interact with the tools:
- "Search for meditation apps on Google Play Store"
- "Get details for Spotify on the Apple App Store"
- "Show me recent reviews for Snapchat on Android"
- "Find app suggestions for 'photo editing' on iOS"
The server will automatically handle the API calls and return formatted results.
Configuration
The server can be configured using environment variables:
APP_STORE_API_KEY
: Your RapidAPI key for the App Stores API (required)
Development
Project Structure
app-store-mcp/
āāā src/
ā āāā index.ts # Main MCP server implementation
ā āāā types.ts # TypeScript type definitions
āāā package.json
āāā tsconfig.json
āāā .env.example
āāā README.md
Type Safety
This server is written in TypeScript and provides full type safety for:
- API parameters
- API responses
- Error handling
- Store validation (only accepts "apple" or "google")
License
MIT