App Publish
FreeNot checkedUnified MCP server for App Store Connect & Google Play Console — manage listings, screenshots, releases, reviews & submissions
About
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
Install App Publish in Claude Desktop, Claude Code & Cursor
unyly install app-publish-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add app-publish-mcp -- npx -y app-publish-mcpStep-by-step: how to install App Publish
FAQ
Is App Publish MCP free?
Yes, App Publish MCP is free — one-click install via Unyly at no cost.
Does App Publish need an API key?
No, App Publish runs without API keys or environment variables.
Is App Publish hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install App Publish in Claude Desktop, Claude Code or Cursor?
Open App Publish on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare App Publish with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
