MCP server for App Store Connect & Google Play Console — iOS/Android app management
Connect Runs on your machine
claude mcp add app-publish -e APPLE_KEY_ID=<APPLE_KEY_ID> -e APPLE_KEY_TYPE=<APPLE_KEY_TYPE> -e APPLE_ISSUER_ID=<APPLE_ISSUER_ID> -e APPLE_P8_PATH=<APPLE_P8_PATH> -e GOOGLE_SERVICE_ACCOUNT_PATH=<GOOGLE_SERVICE_ACCOUNT_PATH> -e GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_REFRESH_TOKEN=<GOOGLE_REFRESH_TOKEN> -e APPLE_VENDOR_NUMBER=<APPLE_VENDOR_NUMBER> -e APP_PUBLISH_READ_ONLY=<APP_PUBLISH_READ_ONLY> -e APPLE_REPORTS_KEY_ID=<APPLE_REPORTS_KEY_ID> -e APPLE_REPORTS_P8_PATH=<APPLE_REPORTS_P8_PATH> -e APPLE_ADMIN_KEY_ID=<APPLE_ADMIN_KEY_ID> -e APPLE_ADMIN_P8_PATH=<APPLE_ADMIN_P8_PATH> -e APPLE_REPORTS_ISSUER_ID=<APPLE_REPORTS_ISSUER_ID> -e APPLE_REPORTS_KEY_TYPE=<APPLE_REPORTS_KEY_TYPE> -e APPLE_ADMIN_ISSUER_ID=<APPLE_ADMIN_ISSUER_ID> -e APPLE_ADMIN_KEY_TYPE=<APPLE_ADMIN_KEY_TYPE> -- npx -y [email protected]
{
"mcpServers": {
"app-publish": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_KEY_TYPE": "<APPLE_KEY_TYPE>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_P8_PATH": "<APPLE_P8_PATH>",
"GOOGLE_SERVICE_ACCOUNT_PATH": "<GOOGLE_SERVICE_ACCOUNT_PATH>",
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>",
"APPLE_VENDOR_NUMBER": "<APPLE_VENDOR_NUMBER>",
"APP_PUBLISH_READ_ONLY": "<APP_PUBLISH_READ_ONLY>",
"APPLE_REPORTS_KEY_ID": "<APPLE_REPORTS_KEY_ID>",
"APPLE_REPORTS_P8_PATH": "<APPLE_REPORTS_P8_PATH>",
"APPLE_ADMIN_KEY_ID": "<APPLE_ADMIN_KEY_ID>",
"APPLE_ADMIN_P8_PATH": "<APPLE_ADMIN_P8_PATH>",
"APPLE_REPORTS_ISSUER_ID": "<APPLE_REPORTS_ISSUER_ID>",
"APPLE_REPORTS_KEY_TYPE": "<APPLE_REPORTS_KEY_TYPE>",
"APPLE_ADMIN_ISSUER_ID": "<APPLE_ADMIN_ISSUER_ID>",
"APPLE_ADMIN_KEY_TYPE": "<APPLE_ADMIN_KEY_TYPE>"
}
}
}
}
{
"mcpServers": {
"app-publish": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_KEY_TYPE": "<APPLE_KEY_TYPE>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_P8_PATH": "<APPLE_P8_PATH>",
"GOOGLE_SERVICE_ACCOUNT_PATH": "<GOOGLE_SERVICE_ACCOUNT_PATH>",
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>",
"APPLE_VENDOR_NUMBER": "<APPLE_VENDOR_NUMBER>",
"APP_PUBLISH_READ_ONLY": "<APP_PUBLISH_READ_ONLY>",
"APPLE_REPORTS_KEY_ID": "<APPLE_REPORTS_KEY_ID>",
"APPLE_REPORTS_P8_PATH": "<APPLE_REPORTS_P8_PATH>",
"APPLE_ADMIN_KEY_ID": "<APPLE_ADMIN_KEY_ID>",
"APPLE_ADMIN_P8_PATH": "<APPLE_ADMIN_P8_PATH>",
"APPLE_REPORTS_ISSUER_ID": "<APPLE_REPORTS_ISSUER_ID>",
"APPLE_REPORTS_KEY_TYPE": "<APPLE_REPORTS_KEY_TYPE>",
"APPLE_ADMIN_ISSUER_ID": "<APPLE_ADMIN_ISSUER_ID>",
"APPLE_ADMIN_KEY_TYPE": "<APPLE_ADMIN_KEY_TYPE>"
}
}
}
}
{
"servers": {
"app-publish": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_KEY_TYPE": "<APPLE_KEY_TYPE>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_P8_PATH": "<APPLE_P8_PATH>",
"GOOGLE_SERVICE_ACCOUNT_PATH": "<GOOGLE_SERVICE_ACCOUNT_PATH>",
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>",
"APPLE_VENDOR_NUMBER": "<APPLE_VENDOR_NUMBER>",
"APP_PUBLISH_READ_ONLY": "<APP_PUBLISH_READ_ONLY>",
"APPLE_REPORTS_KEY_ID": "<APPLE_REPORTS_KEY_ID>",
"APPLE_REPORTS_P8_PATH": "<APPLE_REPORTS_P8_PATH>",
"APPLE_ADMIN_KEY_ID": "<APPLE_ADMIN_KEY_ID>",
"APPLE_ADMIN_P8_PATH": "<APPLE_ADMIN_P8_PATH>",
"APPLE_REPORTS_ISSUER_ID": "<APPLE_REPORTS_ISSUER_ID>",
"APPLE_REPORTS_KEY_TYPE": "<APPLE_REPORTS_KEY_TYPE>",
"APPLE_ADMIN_ISSUER_ID": "<APPLE_ADMIN_ISSUER_ID>",
"APPLE_ADMIN_KEY_TYPE": "<APPLE_ADMIN_KEY_TYPE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
APPLE_KEY_IDOptional, secret | Apple App Store Connect API Key ID |
APPLE_KEY_TYPEOptional | Apple API key type: TEAM (default) or INDIVIDUAL |
APPLE_ISSUER_IDOptional, secret | Apple App Store Connect Issuer ID for TEAM keys |
APPLE_P8_PATHOptional | Path to Apple AuthKey .p8 file |
GOOGLE_SERVICE_ACCOUNT_PATHOptional | Path to Google Play service account JSON key file |
GOOGLE_CLIENT_IDOptional | Google Desktop OAuth client ID |
GOOGLE_CLIENT_SECRETOptional, secret | Google Desktop OAuth client secret |
GOOGLE_REFRESH_TOKENOptional, secret | Google OAuth refresh token |
APPLE_VENDOR_NUMBEROptional | Apple vendor number for sales and finance reports |
APP_PUBLISH_READ_ONLYOptional | Set to true to register only read tools (list/get/search/query/download, no Google edit creation or deletion) |
APPLE_REPORTS_KEY_IDOptional | Extra Apple key ID for Sales/Finance/Analytics reports |
APPLE_REPORTS_P8_PATHOptional | Path to the reports key .p8 file |
APPLE_ADMIN_KEY_IDOptional | Admin key ID for analytics requests and finance/reporting fallback |
APPLE_ADMIN_P8_PATHOptional | Path to the Admin key .p8 file |
APPLE_REPORTS_ISSUER_IDOptional | Reports key issuer; defaults to APPLE_ISSUER_ID |
APPLE_REPORTS_KEY_TYPEOptional | Reports key type: TEAM or INDIVIDUAL; defaults to APPLE_KEY_TYPE |
APPLE_ADMIN_ISSUER_IDOptional | Admin key issuer; defaults to APPLE_ISSUER_ID |
APPLE_ADMIN_KEY_TYPEOptional | Admin key type: TEAM or INDIVIDUAL; defaults to APPLE_KEY_TYPE |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 19 Oct 2026 |
| Last updated | 19 Oct 2026 |
| Registry name | io.github.mikusnuz/app-publish |
More search and web servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
