App Store Connect MCP Server - Manage iOS releases, TestFlight, screenshots, and review submissions from Claude Code
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add asc --env APP_STORE_CONNECT_KEY_ID='<APP_STORE_CONNECT_KEY_ID>' --env APP_STORE_CONNECT_ISSUER_ID='<APP_STORE_CONNECT_ISSUER_ID>' --env APP_STORE_CONNECT_P8_PATH='<APP_STORE_CONNECT_P8_PATH>' -- npx -y @muhammetali/asc-mcp-server~/.codex/config.toml
[mcp_servers.asc]
command = "npx"
args = ["-y", "@muhammetali/asc-mcp-server"]
env = { APP_STORE_CONNECT_KEY_ID = "<APP_STORE_CONNECT_KEY_ID>", APP_STORE_CONNECT_ISSUER_ID = "<APP_STORE_CONNECT_ISSUER_ID>", APP_STORE_CONNECT_P8_PATH = "<APP_STORE_CONNECT_P8_PATH>" }
# codex mcp add asc --env APP_STORE_CONNECT_KEY_ID='<APP_STORE_CONNECT_KEY_ID>' --env APP_STORE_CONNECT_ISSUER_ID='<APP_STORE_CONNECT_ISSUER_ID>' --env APP_STORE_CONNECT_P8_PATH='<APP_STORE_CONNECT_P8_PATH>' -- npx -y @muhammetali/asc-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"asc": {
"command": "npx",
"args": [
"-y",
"@muhammetali/asc-mcp-server"
],
"env": {
"APP_STORE_CONNECT_KEY_ID": "<APP_STORE_CONNECT_KEY_ID>",
"APP_STORE_CONNECT_ISSUER_ID": "<APP_STORE_CONNECT_ISSUER_ID>",
"APP_STORE_CONNECT_P8_PATH": "<APP_STORE_CONNECT_P8_PATH>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"asc": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@muhammetali/asc-mcp-server"
],
"env": {
"APP_STORE_CONNECT_KEY_ID": "<APP_STORE_CONNECT_KEY_ID>",
"APP_STORE_CONNECT_ISSUER_ID": "<APP_STORE_CONNECT_ISSUER_ID>",
"APP_STORE_CONNECT_P8_PATH": "<APP_STORE_CONNECT_P8_PATH>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"asc": {
"command": "npx",
"args": [
"-y",
"@muhammetali/asc-mcp-server"
],
"env": {
"APP_STORE_CONNECT_KEY_ID": "<APP_STORE_CONNECT_KEY_ID>",
"APP_STORE_CONNECT_ISSUER_ID": "<APP_STORE_CONNECT_ISSUER_ID>",
"APP_STORE_CONNECT_P8_PATH": "<APP_STORE_CONNECT_P8_PATH>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"asc": {
"command": "npx",
"args": [
"-y",
"@muhammetali/asc-mcp-server"
],
"env": {
"APP_STORE_CONNECT_KEY_ID": "<APP_STORE_CONNECT_KEY_ID>",
"APP_STORE_CONNECT_ISSUER_ID": "<APP_STORE_CONNECT_ISSUER_ID>",
"APP_STORE_CONNECT_P8_PATH": "<APP_STORE_CONNECT_P8_PATH>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"asc": {
"command": "npx",
"args": [
"-y",
"@muhammetali/asc-mcp-server"
],
"env": {
"APP_STORE_CONNECT_KEY_ID": "<APP_STORE_CONNECT_KEY_ID>",
"APP_STORE_CONNECT_ISSUER_ID": "<APP_STORE_CONNECT_ISSUER_ID>",
"APP_STORE_CONNECT_P8_PATH": "<APP_STORE_CONNECT_P8_PATH>"
}
}
}
}Environment variables
APP_STORE_CONNECT_KEY_IDAPP_STORE_CONNECT_ISSUER_IDAPP_STORE_CONNECT_P8_PATH
Replace the placeholders with your own credentials and keep them out of version control.