Local MCP server for App Store Connect API to manage apps, builds, TestFlight, subscriptions, reviews, and more on macOS.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Asc MCP.
A local Model Context Protocol server for the App Store Connect API.
Manage apps, builds, TestFlight, reviews, and more from Codex, Claude, and other MCP clients on macOS.
asc-mcp is a Swift-based MCP server that connects a local macOS MCP client to the App Store Connect API. It exposes 502 tools across 33 App Store tool domains + 2 core domains, enabling you to automate iOS and macOS release workflows through natural language.
Configuration examples are included for Codex, Claude Code, Claude Desktop, Gemini CLI, VS Code with GitHub Copilot, Continue, Cursor, and Devin Desktop (formerly Windsurf). Client configuration is documented; release CI verifies installation, MCP initialization, and tool discovery on macOS rather than launching every third-party client.
New here? Follow the Quick Start. The remaining sections are reference material for advanced configuration, tool selection, and contributors.
asc-mcp is a local stdio server: the MCP client starts it on the same computer. A client being available on Linux or Windows does not make this Swift server cross-platform.
| Environment | Status | Notes |
|---|---|---|
| macOS 15.6+ with Xcode 26.x | Recommended | Release CI specifically uses GitHub's macOS 15 runner with Xcode 26.2 |
| macOS 14.0-15.5 | Declared deployment target only | Build and runtime are unverified; a separately installed Swift 6.2+ toolchain may be needed |
| Linux | Not supported yet | Porting work and Linux CI are not complete |
| Windows | Not supported | Current source dependencies and Swift MCP stdio transport are not Windows-compatible |
See Apple's Xcode system requirements for the macOS versions supported by each Xcode release.
Web and cloud sessions do not automatically inherit a local MCP configuration. Run the MCP client locally on a compatible Mac, or use a client feature that explicitly keeps execution on that Mac.
The recommended setup stores App Store Connect credentials once in a private local file. MCP clients then need only the path to the asc-mcp executable.
.p8 file. Apple allows it to be downloaded only once.Create private configuration directories, then move the downloaded .p8 file into ~/.keys/. Replace the source path and filename in the second command:
Create ~/.config/asc-mcp/companies.json:
Replace /Users/you with your actual home-directory path. Keep both files outside the repository and restrict access:
[!CAUTION] Never commit
companies.json, a.p8key, or raw credentials to Git. Revoke the App Store Connect key immediately if it is exposed.
Choose one client. You do not need to configure every client.
Codex
Claude Code
For Claude Desktop, Gemini CLI, VS Code, Continue, Cursor, and Devin Desktop, use the ready-to-copy examples in MCP Client Setup.
Restart a GUI client after changing its configuration, open its MCP tool list, and ask:
If the connection or request fails, see Troubleshooting.
Mint installs the pinned release from source and keeps the executable at ~/.mint/bin/asc-mcp.
Update or reinstall the pinned release:
Stable users should install a version tag. Installing main or develop is intended only for maintainers and pre-release testing.
Use Xcode 26.x on a compatible macOS version, or install a standalone Swift 6.2+ toolchain.
The executable is .build/release/asc-mcp. If you copy it elsewhere, also copy the adjacent resource bundle:
The bundle contains the versioned OpenAPI operation contract used by release checks.
Version 4.1 keeps every existing tool name, required input, projection key, and array shape. Xcode Cloud read tools now reject undocumented arguments and validate returned links, paging, relationship lineage, and included resources more strictly. New *Present projection fields distinguish Apple-omitted arrays from present empty arrays while legacy array fields remain arrays. Newly exposed nested *_limit inputs must be paired with their matching include value, and continuation calls must repeat the original request scope unchanged. The new product and workflow delete tools default to a safe preview and require the latest preview receipt plus exact inventory confirmation before permanent deletion.
Version 4 keeps every existing tool name and worker filter, but destructive Marketing and review-attachment calls now require an exact confirmation ID before any Apple request:
| Existing tool | New required confirmation |
|---|---|
custom_pages_delete | confirm_page_id |
ppo_delete_experiment | confirm_experiment_id |
promoted_delete | confirm_promoted_purchase_id |
review_attachments_delete | confirm_attachment_id |
screenshots_delete_set, screenshots_delete_preview_set | confirm_set_id |
screenshots_delete | confirm_screenshot_id |
screenshots_delete_preview | confirm_preview_id |
ppo_update_experiment also requires confirm_experiment_id when state is supplied. Calls that update only name or traffic proportion remain unchanged. After an unknown or committed_unverified mutation result, use the returned inspection action before retrying.
Remove undocumented top-level arguments from existing Marketing and review-attachment calls. Version 4 rejects unknown keys before any network request instead of silently ignoring them.
The default ~/.config/asc-mcp/companies.json file shown in the Quick Start is recommended because it works consistently for terminal and GUI clients without duplicating secrets in every client configuration.
For multiple companies, add more entries:
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/zelentsov-dev-asc-mcp)<a href="https://allmcps.com/mcp/zelentsov-dev-asc-mcp"><img src="https://allmcps.com/api/badge/zelentsov-dev-asc-mcp?style=directory" alt="Asc MCP on AllMCPs" /></a>