app-publish-mcp
Unified MCP server for App Store Connect & Google Play Console — manage listings, screenshots, releases, reviews & submissions
README
app-publish-mcp
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.
When to Use
Use this MCP when you need to:
- "Update my app's App Store description and keywords" — modify version localizations, app info localizations
- "Upload new screenshots for iPhone 16 Pro" — create screenshot sets and upload images
- "Submit a new version for review" — create version, assign build, set review info, submit
- "Check the status of my app review" — list versions and check review state
- "Respond to a user review on Google Play" — list reviews and reply
- "Create a phased release on Google Play" — create edit, create release on a track, commit
- "Manage TestFlight beta testers" — create groups, invite testers, manage access
- "Set up in-app purchases" — create and manage IAPs and subscription groups on both platforms
- "Register a new device for development" — manage devices, certificates, and provisioning profiles
Features
Apple App Store Connect (56 tools)
| Category | Tools |
|---|---|
| App Management | apple_list_apps, apple_get_app, apple_get_app_info, apple_update_category |
| Bundle IDs | apple_list_bundle_ids, apple_create_bundle_id |
| Bundle ID Capabilities | apple_list_bundle_id_capabilities, apple_enable_capability, apple_disable_capability |
| Versions | apple_list_versions, apple_create_version |
| Version Localizations | apple_list_version_localizations, apple_create_version_localization, apple_update_version_localization |
| App Info Localizations | apple_list_app_info_localizations, apple_update_app_info_localization |
| Screenshots | apple_list_screenshot_sets, apple_create_screenshot_set, apple_upload_screenshot, apple_delete_screenshot |
| Builds | apple_list_builds, apple_assign_build |
| Age Rating | apple_get_age_rating, apple_update_age_rating |
| Review Info | apple_update_review_detail |
| Submission | apple_submit_for_review, apple_cancel_submission |
| Pricing | apple_get_pricing, apple_set_price, apple_list_availability |
| Customer Reviews | apple_list_reviews, apple_respond_to_review |
| Certificates | apple_list_certificates, apple_create_certificate, apple_revoke_certificate |
| Provisioning Profiles | apple_list_profiles, apple_create_profile, apple_delete_profile |
| Devices | apple_list_devices, apple_register_device, apple_update_device |
| TestFlight Beta Groups | apple_list_beta_groups, apple_create_beta_group, apple_delete_beta_group, apple_add_beta_testers_to_group, apple_remove_beta_testers_from_group |
| TestFlight Beta Testers | apple_list_beta_testers, apple_invite_beta_tester, apple_delete_beta_tester |
| In-App Purchases | apple_list_iap, apple_create_iap, apple_get_iap, apple_delete_iap |
| Subscription Groups | apple_list_subscription_groups, apple_create_subscription_group, apple_delete_subscription_group |
Google Play Console (35 tools)
| Category | Tools |
|---|---|
| Edit Lifecycle | google_create_edit, google_commit_edit, google_validate_edit, google_delete_edit |
| App Details | google_get_details, google_update_details |
| Store Listing | google_list_listings, google_get_listing, google_update_listing, google_delete_listing |
| Country Availability | google_get_country_availability |
| Testers | google_get_testers, google_update_testers |
| Images | google_list_images, google_upload_image, google_delete_image, google_delete_all_images |
| Tracks & Releases | google_list_tracks, google_get_track, google_create_release, google_promote_release, google_halt_release |
| Bundle / APK | google_upload_bundle, google_upload_apk |
| Reviews | google_list_reviews, google_get_review, google_reply_to_review |
| In-App Products | google_list_iap, google_get_iap, google_create_iap, google_update_iap, google_delete_iap |
| Subscriptions | google_list_subscriptions, google_get_subscription, google_archive_subscription |
Prompts (2)
| Prompt | Description |
|---|---|
app_release_checklist |
Guided checklist for releasing an app update — walks through version creation, metadata, build assignment and submission for iOS and/or Android |
app_store_optimization |
ASO audit that reviews current listing metadata (title, description, keywords, screenshots, localization) and provides actionable improvement recommendations |
Resources (2)
| URI | Description |
|---|---|
app-publish://config |
Current server configuration — connected accounts, auth methods, tool counts |
app-publish://supported-platforms |
All supported tools grouped by platform with descriptions |
Setup
1. Install
npm install
npm run build
2. Apple Credentials
- Go to App Store Connect > Keys
- Create an API Key with App Manager role
- Download the
.p8file - Note the Key ID and Issuer ID
3. Google Credentials
- Go to Google Cloud Console
- Enable Google Play Android Developer API
- Create a Service Account and download the JSON key
- In Google Play Console, grant the service account access under Settings > API access
4. Configure Environment
cp .env.example .env
Edit .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
5. Add to Claude Code
Add to ~/.claude/settings.local.json:
{
"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"
}
}
}
}
Usage Examples
Submit an iOS app update
1. apple_list_apps → get app ID
2. apple_create_version → create version 1.1.0
3. apple_list_version_localizations → get localization IDs
4. apple_update_version_localization → set whatsNew, description
5. apple_list_builds → find the uploaded build
6. apple_assign_build → attach build to version
7. apple_update_review_detail → set reviewer contact info
8. apple_submit_for_review → submit!
Release an Android app
1. google_create_edit → start edit session
2. google_update_details → update contact info
3. google_update_listing → update store listing
4. google_upload_bundle → upload .aab file
5. google_create_release → create release on production track
6. google_validate_edit → check for errors
7. google_commit_edit → publish changes
Manage Google Play in-app products
1. google_list_iap → list all products
2. google_create_iap → create a new managed product
3. google_update_iap → update price or description
4. google_delete_iap → remove a product
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.