An MCP (Model Context Protocol) server for Apple App Store Connect.
Features
356 MCP tools covering the major capability areas of the App Store
Connect API (tracking API version 4.4.1), including the three-step asset
upload flow for screenshots, previews, and review attachments:
App Management: List apps, get app details, view app versions
Build Management: List and inspect builds, view processing status
App Store Versions: Create, update, delete versions; submit for review
TestFlight: Manage beta groups and testers, beta localizations, build beta details
Provisioning: Manage bundle IDs, certificates, profiles, and devices
In-app purchases, subscriptions and subscription groups are versioned
(App Store Connect API 4.4.1). Create a version, edit its localizations
and images, then attach the version to a review submission with
add_review_submission_item.
Game Center content reaches App Review through add_review_submission_item:
attach the achievement, leaderboard, leaderboard set, activity, or challenge
version to a draft review submission.
Xcode Cloud (7 tools)
Tool
Description
list_ci_products
List CI products
get_ci_product
Get CI product details
list_ci_workflows
List CI workflows
get_ci_workflow
Get CI workflow details
list_ci_build_runs
List CI build runs
get_ci_build_run
Get CI build run details
start_ci_build_run
Start a new build run
Analytics (7 tools)
Tool
Description
list_analytics_report_requests
List analytics requests
get_analytics_report_request
Get analytics request
create_analytics_report_request
Create analytics request
delete_analytics_report_request
Delete analytics request
list_analytics_reports
List analytics reports
list_analytics_report_instances
List report instances
list_analytics_report_segments
List report segments
Diagnostics & Metrics (10 tools)
Tool
Description
list_perf_power_metrics
List performance/power metrics
list_diagnostic_signatures
List diagnostic signatures
list_diagnostic_logs
List diagnostic logs
list_app_store_review_attachments
List review attachments
get_app_store_review_attachment
Get review attachment
create_app_store_review_attachment
Create review attachment
delete_app_store_review_attachment
Delete review attachment
get_routing_app_coverage
Get routing app coverage
create_routing_app_coverage
Create routing app coverage
delete_routing_app_coverage
Delete routing app coverage
Users & Roles (8 tools)
Tool
Description
list_users
List team members
get_user
Get user details
update_user
Update user roles
delete_user
Remove user from team
list_user_invitations
List pending invitations
get_user_invitation
Get invitation details
create_user_invitation
Invite new user
delete_user_invitation
Cancel invitation
Sandbox Testers (3 tools)
Sandbox testers are created and deleted in App Store Connect; the API
exposes only reads, updates, and purchase-history resets.
Tool
Description
list_sandbox_testers
List sandbox testers
update_sandbox_tester
Update sandbox tester
clear_sandbox_tester_purchase_history
Clear a tester's purchase history
Encryption Declarations (4 tools)
Tool
Description
list_encryption_declarations
List encryption declarations
get_encryption_declaration
Get declaration details
create_encryption_declaration
Create declaration
assign_build_to_encryption_declaration
Assign build to declaration
Reports (2 tools)
Tool
Description
get_sales_report
Get sales and trends reports
get_finance_report
Get financial reports
EULA (4 tools)
Tool
Description
get_end_user_license_agreement
Get EULA
create_end_user_license_agreement
Create EULA
update_end_user_license_agreement
Update EULA
delete_end_user_license_agreement
Delete EULA
App Categories (2 tools)
Tool
Description
list_app_categories
List app categories
get_app_category
Get category details
Alternative Distribution (4 tools)
Tool
Description
list_alternative_distribution_keys
List distribution keys
get_alternative_distribution_key
Get distribution key
create_alternative_distribution_key
Create distribution key
delete_alternative_distribution_key
Delete distribution key
Marketplace Search (4 tools)
Tool
Description
get_marketplace_search_detail
Get marketplace search detail
create_marketplace_search_detail
Create marketplace search detail
update_marketplace_search_detail
Update marketplace search detail
delete_marketplace_search_detail
Delete marketplace search detail
Review Submissions (6 tools)
App Store versions, custom product pages, experiments, app events, Game
Center content, and commerce versions all reach App Review through this
flow.
Tool
Description
list_review_submissions
List review submissions for an app
get_review_submission
Get a submission and its attached items
create_review_submission
Open a review submission
add_review_submission_item
Attach an item to a submission
submit_review_submission
Submit for review
cancel_review_submission
Cancel a submission
Webhooks (8 tools)
Tool
Description
list_webhooks
List webhooks for an app
get_webhook
Get webhook details
create_webhook
Create a webhook
update_webhook
Update a webhook
delete_webhook
Delete a webhook
ping_webhook
Send a test delivery
list_webhook_deliveries
List deliveries for a webhook
redeliver_webhook_delivery
Redeliver a past delivery
Build Uploads (6 tools)
Tool
Description
list_build_uploads
List build uploads
get_build_upload
Get build upload details
start_build_upload
Reserve a new build upload
list_build_upload_files
List files in a build upload
upload_build_file
Upload and commit a build file
delete_build_upload
Delete a build upload
TestFlight Beta Feedback (8 tools)
Tool
Description
list_beta_feedback_crashes
List crash feedback from testers
get_beta_feedback_crash
Get crash feedback details
get_beta_feedback_crash_log
Download a crash log
delete_beta_feedback_crash
Delete crash feedback
list_beta_feedback_screenshots
List screenshot feedback
get_beta_feedback_screenshot
Get screenshot feedback details
delete_beta_feedback_screenshot
Delete screenshot feedback
get_beta_build_usage_metrics
Get beta build usage metrics
Background Assets (10 tools)
Tool
Description
list_background_assets
List Apple-hosted background assets
get_background_asset
Get background asset details
create_background_asset
Create a background asset
update_background_asset
Update a background asset
list_background_asset_versions
List asset versions
get_background_asset_version
Get a version, including state details
create_background_asset_version
Create a version
list_background_asset_upload_files
List upload files for a version
upload_background_asset_file
Upload and commit an asset pack
get_background_asset_version_release
Get a version's release state
Accessibility Declarations (5 tools)
Tool
Description
list_accessibility_declarations
List declarations per device family
get_accessibility_declaration
Get declaration details
create_accessibility_declaration
Create a declaration
update_accessibility_declaration
Update a declaration
delete_accessibility_declaration
Delete a declaration
App Tags (3 tools)
Tool
Description
list_app_tags
List Apple-created tags for an app
list_app_tag_territories
List territories a tag applies to
update_app_tag
Opt in or out of a tag
Android to iOS App Mapping (5 tools)
Tool
Description
list_android_to_ios_app_mappings
List Android app mappings
get_android_to_ios_app_mapping
Get a mapping
create_android_to_ios_app_mapping
Map an Android app to this app
update_android_to_ios_app_mapping
Update a mapping
delete_android_to_ios_app_mapping
Delete a mapping
Asset Uploads (3 tools)
Tool
Description
upload_app_screenshot
Upload a screenshot
upload_app_preview
Upload an app preview
upload_review_attachment
Upload a review attachment
Other (2 tools)
Tool
Description
list_customer_review_summarizations
Read customer review summaries
get_alternative_distribution_package
Get a version's distribution package
Development
Running Tests
make test
Code Formatting
make fmt
Linting
make lint
Architecture
The MCP protocol layer, JWT/ES256 signing, and HTTP client are implemented
using only the Go standard library. The CLI is built on
spf13/cobra (see ADR-0004). No other
runtime dependencies are required.
The server is dual-era: it speaks the stateless MCP protocol revision
2026-07-28 (per-request _meta version/capabilities, server/discover,
no sessions) and still serves handshake-based clients, negotiating
2025-11-25, 2025-06-18, 2025-03-26, or 2024-11-05 via initialize.
Each request picks its era: a _metaio.modelcontextprotocol/protocolVersion
key (or a server/discover call) selects the modern path; everything else
takes the legacy path unchanged.
Two transports are supported, sharing the same dispatcher and tool registry:
asc-mcp serve — stdio. JSON-RPC messages on stdin/stdout. Use this when
the server is spawned by a desktop client such as Claude Desktop.
asc-mcp serve-http --addr :8080 — Streamable HTTP. POST /mcp for
JSON-RPC submissions, GET /healthz for the K8s probe, GET /metrics
for Prometheus scraping. Modern (2026-07-28) requests are sessionless
and must carry the Mcp-Method header (plus Mcp-Name on tools/call);
legacy clients get an Mcp-Session-Id on initialize, echo it on every
subsequent request, and may DELETE /mcp to end the session. Useful
flags:
--auth-tokens (or ASC_MCP_AUTH_TOKENS env): comma-separated
Bearer tokens. Required for any non-trusted-network deployment.
--allowed-origins: comma-separated Origin allowlist (DNS rebinding
defense for browser clients).
--tls-cert / --tls-key: PEM cert+key to terminate TLS in
process (TLS 1.2 minimum). Omit both to listen plain HTTP behind a
TLS-terminating reverse proxy.
Asset uploads (screenshots, previews, review attachments) use the
three-step App Store Connect handshake (reserve → chunked upload →
commit) under the hood. Tools accept either a local file_path or a
base64-encoded file_data_base64 so they work both from stdio and over
the HTTP transport.
asc-mcp/
├── cmd/asc-mcp/ # Application entry point
├── internal/asc/
│ ├── api/ # App Store Connect API client
│ ├── config/ # Configuration management
│ ├── server/ # MCP server implementation
│ └── tools/ # Tool implementations
├── config/ # Configuration templates
├── script/ # Build and test scripts
└── doc/ # Documentation