Connects AI assistants to the App Store Connect API for TestFlight builds, review analysis, metadata updates and sales reports.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add app-store-connect-ryaker --env APPLE_KEY_ID='<APPLE_KEY_ID>' --env APPLE_ISSUER_ID='<APPLE_ISSUER_ID>' --env APPLE_PRIVATE_KEY='<APPLE_PRIVATE_KEY>' -- npx -y @ryaker/appstore-connect-mcp~/.codex/config.toml
[mcp_servers.app-store-connect-ryaker]
command = "npx"
args = ["-y", "@ryaker/appstore-connect-mcp"]
env = { APPLE_KEY_ID = "<APPLE_KEY_ID>", APPLE_ISSUER_ID = "<APPLE_ISSUER_ID>", APPLE_PRIVATE_KEY = "<APPLE_PRIVATE_KEY>" }
# codex mcp add app-store-connect-ryaker --env APPLE_KEY_ID='<APPLE_KEY_ID>' --env APPLE_ISSUER_ID='<APPLE_ISSUER_ID>' --env APPLE_PRIVATE_KEY='<APPLE_PRIVATE_KEY>' -- npx -y @ryaker/appstore-connect-mcp~/.cursor/mcp.json
{
"mcpServers": {
"app-store-connect-ryaker": {
"command": "npx",
"args": [
"-y",
"@ryaker/appstore-connect-mcp"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_PRIVATE_KEY": "<APPLE_PRIVATE_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"app-store-connect-ryaker": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ryaker/appstore-connect-mcp"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_PRIVATE_KEY": "<APPLE_PRIVATE_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"app-store-connect-ryaker": {
"command": "npx",
"args": [
"-y",
"@ryaker/appstore-connect-mcp"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_PRIVATE_KEY": "<APPLE_PRIVATE_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"app-store-connect-ryaker": {
"command": "npx",
"args": [
"-y",
"@ryaker/appstore-connect-mcp"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_PRIVATE_KEY": "<APPLE_PRIVATE_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"app-store-connect-ryaker": {
"command": "npx",
"args": [
"-y",
"@ryaker/appstore-connect-mcp"
],
"env": {
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_ISSUER_ID": "<APPLE_ISSUER_ID>",
"APPLE_PRIVATE_KEY": "<APPLE_PRIVATE_KEY>"
}
}
}
}Environment variables
APPLE_KEY_IDAPPLE_ISSUER_IDAPPLE_PRIVATE_KEY
Replace the placeholders with your own credentials and keep them out of version control.