App Store MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENAI_API_KEY | No | API key for OpenAI fallback for review digestion (only needed if using appstore-mcp[openai] extra). | |
| ANTHROPIC_API_KEY | No | API key for Anthropic fallback for review digestion (only needed if using appstore-mcp[anthropic] extra). | |
| APPSTORE_MCP_SAMPLING_MODEL | No | Override the model used for review digestion fallback. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_app_storeA | Search Apple App Store apps by keyword. Returns slim results (id, name, developer, rating, price) - use get_app_store_app for the full profile of a specific app. |
| get_app_store_appA | Fetch the full public App Store profile for one app by numeric ID or apps.apple.com URL. Page-sourced fields (subtitle, has_iap, privacy) are best-effort; set include_page_data=false to skip that second request. Set include_raw=true to also get Apple's unmodified lookup payload (large - only when normalized fields are not enough). |
| compare_app_store_appsA | Fetch full profiles for multiple apps (IDs or apps.apple.com URLs) in one batch for side-by-side competitor comparison. Returns the profiles plus per-app errors; apps that fail do not fail the whole call. |
| get_app_store_chartsA | Fetch ranked top-chart apps for a storefront. Best-effort: sourced from an undocumented Apple RSS feed. |
| get_app_store_reviewsA | Fetch recent public customer reviews for an app. Best-effort: sourced from an undocumented Apple feed capped at ~500 reviews per storefront, with a small page-sourced fallback when the feed is empty. Reviews are per-country. |
| digest_app_store_reviewsA | Fetch up to |
| get_app_store_screenshotsA | Fetch an app's App Store screenshots as actual images, so you can
analyze visual positioning, onboarding style, and paywall design
directly. Returns up to |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| compare_competitors | Run a competitor comparison for the given apps on one storefront. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct aspect of App Store data: batch profiles, individual profiles, search, charts, raw reviews, review digests, and screenshots. No overlap in purpose.
All tools follow a consistent verb_noun pattern in snake_case, with 'app_store' as the common noun. Verbs like get, search, compare, digest are clear and predictable.
Seven tools cover the essential App Store operations without being too few or excessive. The scope is well-scoped for a focused server.
Core CRUD-like operations are present (get, search, compare), along with reviews and screenshots. Minor gap: no developer info or historical ranking data, but the main use cases are well covered.