MCP server for App Store Connect & Google Play Console — iOS/Android app management
MCP server for App Store Connect & Google Play Console — iOS/Android app management. The app mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 12 defined tools rather than through you.
A unified MCP (Model Context Protocol) server for App Store Connect and Google Play Console. Manage app listings, screenshots, releases, reviews and submissions — all from your AI assistant.
Everything the assistant can do here goes through one of these:
Category — ToolsVersions — apple_list_versions, apple_create_versionScreenshots — apple_list_screenshot_sets, apple_create_screenshot_set, apple_upload_screenshot, apple_delete_screenshotBuilds — apple_list_builds, apple_assign_buildSubmission — apple_submit_for_review, apple_cancel_submissionPricing — apple_get_pricing, apple_set_price, apple_list_availabilityCertificates — apple_list_certificates, apple_create_certificate, apple_revoke_certificateDevices — apple_list_devices, apple_register_device, apple_update_deviceTesters — google_get_testers, google_update_testersImages — google_list_images, google_upload_image, google_delete_image, google_delete_all_imagesReviews — google_list_reviews, google_get_review, google_reply_to_reviewSubscriptions — google_list_subscriptions, google_get_subscription, google_archive_subscriptionInstallation goes through your MCP client rather than a global install: point it at npm on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
You will need 6 environment variables: APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_P8_PATH, GOOGLE_SERVICE_ACCOUNT_PATH, YOUR_KEY_ID, YOUR_ISSUER_ID. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. App's toolset — Category, Versions, Screenshots and 9 more — is a fair guide to whether it matches your workflow. It is maintained by mikusnuz; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| Category | Tools |
| Versions | apple_list_versions, apple_create_version |
| Screenshots | apple_list_screenshot_sets, apple_create_screenshot_set, apple_upload_screenshot, apple_delete_screenshot |
| Builds | apple_list_builds, apple_assign_build |
| Submission | apple_submit_for_review, apple_cancel_submission |
| Pricing | apple_get_pricing, apple_set_price, apple_list_availability |
| Certificates | apple_list_certificates, apple_create_certificate, apple_revoke_certificate |
| Devices | apple_list_devices, apple_register_device, apple_update_device |
| Testers | google_get_testers, google_update_testers |
| Images | google_list_images, google_upload_image, google_delete_image, google_delete_all_images |
| Reviews | google_list_reviews, google_get_review, google_reply_to_review |
| Subscriptions | google_list_subscriptions, google_get_subscription, google_archive_subscription |
{
"mcpServers": {
"app-publish-mcp": {
"command": "node",
"args": ["/path/to/app-publish-mcp/dist/index.js"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_P8_PATH": "/path/to/AuthKey.p8",
"GOOGLE_SERVICE_ACCOUNT_PATH": "/path/to/service-account.json"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| APPLE_KEY_ID | Credential the server authenticates with. | Yes |
| APPLE_ISSUER_ID | Configuration value read at startup. | Optional |
| APPLE_P8_PATH | Filesystem location the server is allowed to use. | Optional |
| GOOGLE_SERVICE_ACCOUNT_PATH | Filesystem location the server is allowed to use. | Optional |
| YOUR_KEY_ID | Credential the server authenticates with. | Yes |
| YOUR_ISSUER_ID | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.