mcp-appstore-connect
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| APP_STORE_KEY_ID | Yes | The Key ID of your API key | |
| APP_STORE_ISSUER_ID | Yes | Your Issuer ID from App Store Connect (found in Users and Access > Integrations) | |
| APP_STORE_PRIVATE_KEY | No | Contents of your .p8 file with newlines as \n | |
| APP_STORE_PRIVATE_KEY_PATH | No | Absolute path to your .p8 private key file |
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 |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_appsB | List all apps in your App Store Connect account. Returns app name, bundle ID, SKU, and other metadata. |
| get_appC | Get detailed information about a specific app by its App Store Connect ID. |
| get_app_versionsA | Get all App Store versions for a specific app, including version string, platform, and release state. |
| list_buildsA | List TestFlight builds for an app. Returns build version, upload date, processing state, and expiration info. |
| get_buildA | Get detailed information about a specific TestFlight build. |
| list_beta_testersA | List beta testers for an app or beta group. Returns tester email, name, invite status, and state. |
| add_beta_testerA | Add a beta tester to a beta group. Creates the tester if they don't exist and adds them to the specified group. |
| remove_beta_testerA | Remove a beta tester from TestFlight entirely. This deletes the tester from all beta groups. |
| list_beta_groupsB | List beta groups for an app. Returns group name, whether it's internal, public link info, and creation date. |
| list_reviewsB | List customer reviews for an app. Returns rating, title, body, reviewer nickname, date, and territory. |
| get_reviewB | Get a specific customer review with optional response information. |
| respond_to_reviewA | Create or update a response to a customer review. Only one response per review is allowed. |
| delete_review_responseB | Delete a response to a customer review. |
| list_analytics_report_requestsB | List analytics report requests for an app. These are used to access advanced analytics data. |
| create_analytics_report_requestB | Create a new analytics report request for an app. This initiates the generation of analytics reports. |
| list_analytics_reportsB | List available analytics reports for a report request. Reports contain metrics like downloads, sessions, crashes, etc. |
| get_sales_reports_infoC | Get information about available sales and trends reports. Note: Actual report download requires handling gzip data. |
| get_finance_reports_infoB | Get information about available finance reports. Finance reports contain earnings, payments, and tax data. |
| create_app_versionA | Create a new App Store version for an app. Use this to prepare a new release. |
| update_app_versionC | Update an existing App Store version's metadata. |
| submit_for_reviewA | Submit an App Store version for App Store review. The version must be in PREPARE_FOR_SUBMISSION state. |
| get_app_store_stateA | Get the current App Store state of a version (e.g., PREPARE_FOR_SUBMISSION, IN_REVIEW, READY_FOR_SALE). |
| list_app_store_version_localizationsB | List localization information for an App Store version (what's new, description, etc.). |
| list_subscription_groupsA | List subscription groups for an app. Subscription groups contain related subscription products. |
| list_subscriptionsA | List subscriptions within a subscription group. Returns subscription name, product ID, state, and period. |
| get_subscriptionA | Get detailed information about a specific subscription. |
| list_in_app_purchasesB | List in-app purchases for an app. Returns IAP name, product ID, type, and state. |
| get_in_app_purchaseB | Get detailed information about a specific in-app purchase. |
| get_subscription_pricesA | Get pricing information for a subscription across different territories. |
| update_version_localizationA | Update an App Store version localization (description, keywords, what's new, etc.). Use get_version_localization first to get the localization ID. |
| create_version_localizationA | Create a new App Store version localization for a specific locale. Use this to add support for a new language. |
| get_app_infoA | Get app info for an app. Returns the app info ID needed for updating app-level localizations (name, subtitle). |
| list_app_info_localizationsA | List all app info localizations for an app info. Returns localization IDs and current values for name, subtitle, privacy policy. |
| update_app_info_localizationA | Update an app info localization (app name, subtitle, privacy policy). Use list_app_info_localizations first to get the localization ID. |
| create_app_info_localizationA | Create a new app info localization for a specific locale. Use this to add app name and subtitle for a new language. |
| update_buildA | Update a build's attributes like export compliance (encryption usage). Required before distributing a build. |
| set_build_for_versionB | Associate a build with an App Store version. The build must be processed and the version must be in PREPARE_FOR_SUBMISSION state. |
| submit_build_for_beta_reviewA | Submit a build for TestFlight beta app review. Required for external testing. The build must have export compliance set. |
| get_beta_review_statusB | Get the beta app review submission status for a build. |
| list_beta_build_localizationsA | List all beta build localizations for a build. These contain the 'What to Test' notes shown to TestFlight testers. |
| update_beta_build_localizationA | Update a beta build localization (What to Test notes). Use list_beta_build_localizations to get the localization ID. |
| create_beta_build_localizationB | Create a new beta build localization (What to Test notes) for a specific locale. |
| add_build_to_beta_groupB | Add a build to a beta group for TestFlight distribution. The build must be approved for beta testing (or internal only). |
| remove_build_from_beta_groupC | Remove a build from a beta group. |
| get_app_store_review_detailA | Get the App Store review details for a version (contact info, demo account, notes for reviewers). |
| update_app_store_review_detailB | Update App Store review details (contact info, demo account credentials, notes for reviewers). Get the review detail ID first using get_app_store_review_detail. |
| create_app_store_review_detailA | Create App Store review details for a version. Use this if no review details exist yet. |
| get_age_rating_declarationA | Get the age rating declaration for an App Store version. Returns current age rating settings. |
| update_age_rating_declarationB | Update the age rating declaration for an app. Values should be NONE, INFREQUENT_OR_MILD, or FREQUENT_OR_INTENSE where applicable. |
| get_phased_releaseA | Get the phased release information for an App Store version. |
| create_phased_releaseA | Create a phased release for an App Store version. Phased release gradually rolls out the update to users over 7 days. |
| update_phased_releaseA | Update a phased release state. Use to pause, resume, or complete a phased release. |
| delete_phased_releaseA | Delete a phased release configuration. This removes phased release and will release to all users at once. |
| list_app_categoriesA | List all available App Store categories. Use this to find category IDs for updating your app's categorization. |
| update_app_categoriesA | Update an app's primary and secondary categories. Get the app info ID from get_app_info first. |
| list_territoriesA | List all App Store territories (countries/regions) with their currency codes. |
| list_app_price_pointsA | List available price points for an app in a specific territory. Use this to find the price point ID for setting prices. |
| get_app_price_scheduleB | Get the current price schedule for an app, including base territory and pricing. |
| set_app_price_scheduleB | Set the price schedule for an app. This sets the base territory and manual prices. WARNING: This overwrites the existing schedule. |
| get_app_availabilityB | Get the availability (territories where the app is available) for an app. |
| set_app_availabilityA | Set app availability and the territories where it should be available. WARNING: This replaces the current availability. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| appstore://apps | |
| appstore://apps/{appId} | |
| appstore://apps/{appId}/reviews |
TDQS
Scored across 61 tools
Each tool targets a distinct resource and action (e.g., list_apps vs get_app, create_app_version vs update_app_version). There is no ambiguity between tools; even similar-sounding tools like add_beta_tester and remove_beta_tester are clearly opposed actions.
All tool names follow a consistent verb_noun pattern in snake_case, using standard verbs like create, get, list, update, delete, add, remove, set, submit. No mixing of conventions or vague verbs.
61 tools is a high number, exceeding the typical well-scoped range of 3-15. However, the server covers the extensive App Store Connect API, which includes many entities (apps, versions, localizations, beta groups, reviews, analytics, pricing, subscriptions, IAP). The count is borderline heavy but somewhat justified by the domain scope.
The tool set covers the major workflows for app management in App Store Connect: app lifecycle, versioning, localizations, beta testing, reviews, analytics reports, pricing, subscriptions, and IAP. Minor omissions like app clips or user management exist, but the core is well-covered.