App Store Connect MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASC_MODE | No | readonly, write or full. If set, it pins the mode for that client; the settings page warns when it detects this | |
| ASC_KEY_ID | No | Key ID | |
| ASC_ISSUER_ID | No | Issuer ID | |
| ASC_CONFIG_DIR | No | Use a different settings folder | |
| ASC_PRIVATE_KEY | No | PEM contents of the .p8 private key (\n escapes are fine) | |
| ASC_PRIVATE_KEY_PATH | No | Path to the .p8 private key file | |
| ASC_MAX_RESPONSE_CHARS | No | Largest response returned inline | 60000 |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| asc_check_connectionA | Verify the API key works and show the server's mode (readonly/write/full), spec version and rate-limit status. Run this first when setting up or when calls fail with auth errors. |
| asc_list_appsA | List the apps in the App Store Connect account with their ids, names, bundle ids and SKUs. App ids are needed by most other tools. |
| asc_app_overviewB | One-call status of an app: its details, the latest App Store versions with their review/release state and phased-release progress, and the most recent builds with processing state. |
| asc_list_buildsB | List an app's builds, newest first, with build number, marketing version, platform, processing state and expiry. |
| asc_list_customer_reviewsA | List an app's App Store customer reviews with rating, title, body, territory and any developer response. Use unansweredOnly to find reviews that still need a reply. |
| asc_list_beta_groupsA | List an app's TestFlight beta groups (internal and external) with their ids, whether they receive every build automatically (hasAccessToAllBuilds), and public link settings. |
| asc_list_version_localizationsA | List the per-locale App Store metadata of a version: description, keywords, what's new, promotional text, marketing and support URLs. Get version ids from asc_app_overview. |
| asc_download_sales_reportA | Download a Sales and Trends report (sales, subscriptions, subscription events, installs, ...) and return it as parsed rows. The vendor number is under Payments and Financial Reports in App Store Connect. Reports are usually available a day after the reporting date. |
| asc_download_finance_reportA | Download a monthly financial report (proceeds by region) and return it as parsed rows. Region codes include US, EU, JP, AU, CA, GB, WW (all regions, FINANCE_DETAIL only), ZZ (consolidated). |
| asc_list_mediaA | Show the screenshots and app preview videos of an App Store version, per language and device size: file names in display order, sizes, and Apple's processing state or errors. Use it before and after uploading. |
| asc_list_resource_groupsA | List every resource group (tag) in the App Store Connect API with its operation count, e.g. Apps, Builds, BetaGroups, Subscriptions, GameCenterLeaderboards. Use it to browse the API when you don't know what to search for; then call asc_search_operations with a tag. |
| asc_search_operationsA | Search all 1,300+ App Store Connect API operations by keywords (e.g. 'customer reviews', 'testflight testers', 'subscription prices', 'xcode cloud builds'). Returns operationIds to pass to asc_describe_operation and asc_call_operation. Prefer a curated asc_* tool when one fits the task. |
| asc_describe_operationA | Show everything needed to call one operation: path params, query params (filters, sort, include, limit), sparse fieldsets (fields[type] -> attribute names), and the full JSON request-body schema for creates and updates. Call this before asc_call_operation for any operation you haven't used yet. |
| asc_call_operationA | Execute any App Store Connect API operation by operationId. Inputs are validated against Apple's OpenAPI spec before sending. Query keys use Apple's exact names, e.g. {"filter[app]": "123", "sort": "-uploadedDate", "fields[builds]": ["version","processingState"], "include": "preReleaseVersion", "limit": 50}. Bodies use JSON:API form: {"data": {"type": "...", "attributes": {...}, "relationships": {...}}}. Responses are compacted (resource links removed); follow nextUrl with asc_fetch_url or pass fetchAll. Creates and updates need the write access mode and deletes need full; a blocked call explains how the user can enable them. |
| asc_fetch_urlA | GET a full api.appstoreconnect.apple.com URL, such as a nextUrl from a previous response or a relationship's related link. Only Apple's API host is allowed. |
| asc_list_app_infoA | Show the app-level store details per language: name, subtitle, privacy policy and privacy choices URLs. Lists both the live app info and the one being edited for the next version, and says which can be changed. |
| asc_list_analytics_reportsA | List the analytics reports Apple produces for an app (App Store engagement, commerce, app usage, framework usage, performance), or, with reportId, the dates each report is available for. Reports exist only after asc_analytics_setup has been run for the app. |
| asc_download_analytics_reportA | Download one analytics report (e.g. "App Store Discovery and Engagement Detailed", "App Sessions Standard") for a date range and return its rows. All parts are downloaded from Apple's links, checked against Apple's checksums, unzipped and merged. Find report names with asc_list_analytics_reports. |
| asc_open_settingsA | Open the local settings page in the user's browser, where they add or replace their API key, choose the access mode (read-only, write, full) and add this server to Claude Code, Claude Desktop or Cursor. Use it when credentials are missing or rejected, or when the user wants writes enabled. Only the user can change settings there. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools target a distinct resource (apps, builds, beta groups, reviews, localizations, media, settings) and the read/curated set is clearly separated from the generic escape hatch (search_operations -> describe_operation -> call_operation), which is well signposted. Minor overlap remains between asc_fetch_url and asc_call_operation/nextUrl handling, and the three download_*_report tools plus list_analytics_reports vs download_analytics_report could be momentarily confused, though descriptions disambiguate.
All 19 tools use a uniform asc_ prefix with snake_case and a leading verb (list_, download_, search_, describe_, call_, check_, open_, fetch_). The sole nominal name, asc_app_overview, is an intentional one-call aggregate and still reads predictably within the pattern.
19 tools sits at the upper edge of a comfortable set; the curated tools cover the highest-value App Store Connect workflows while search/describe/call_operation collapse the 1,300+ API operations into three tools rather than exploding the surface. It is slightly heavy but each tool has a defensible reason to exist.
Read coverage is strong (apps, builds, versions, localizations, media, reviews, beta groups, sales/finance/analytics reports) and writes/deletes are reachable via asc_call_operation with the access-mode gating explained. The one visible dead end is media: asc_list_media references uploading 'before and after' but no upload tool is offered, and there are no curated create/update helpers for common write flows.