App Store Connect MCP Server
A Model Context Protocol (MCP) server for accessing Apple's App Store Connect API, specifically for Xcode Cloud build information.
Features
- List Xcode Cloud products (apps configured with Xcode Cloud)
- List and inspect build runs
- Get build actions (build, test, archive steps)
- View build artifacts and logs
- Get test results
- List build issues (errors and warnings) - useful for debugging failed builds
Prerequisites
- .NET 8.0 SDK or later
- Apple Developer account with App Store Connect API access
- App Store Connect API key (.p8 file)
Getting Your API Key
- Go to App Store Connect
- Navigate to Users and Access → Integrations → App Store Connect API
- Click Generate API Key (or use existing)
- Download the
.p8private key file (only available once!) - Note the Key ID and Issuer ID
Required permissions for Xcode Cloud access:
- App Manager or Admin role
- Access to the apps you want to monitor
Installation
Download Pre-built Binary (Recommended)
Download the self-contained executable for your platform from the Releases page:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | appstoreconnect-mcp-osx-arm64.tar.gz |
| macOS (Intel) | appstoreconnect-mcp-osx-x64.tar.gz |
| Linux (x64) | appstoreconnect-mcp-linux-x64.tar.gz |
| Linux (ARM64) | appstoreconnect-mcp-linux-arm64.tar.gz |
| Windows (x64) | appstoreconnect-mcp-win-x64.zip |
No .NET installation required - the executables are fully self-contained.
# Example: macOS Apple Silicon curl -L https://github.com/Stig-Johnny/appstoreconnect-mcp/releases/latest/download/appstoreconnect-mcp-osx-arm64.tar.gz | tar xz chmod +x appstoreconnect-mcp-osx-arm64/AppStoreConnectMcp
Build from Source
Requires .NET 8.0 SDK.
git clone https://github.com/Stig-Johnny/appstoreconnect-mcp.git cd appstoreconnect-mcp/AppStoreConnectMcp dotnet publish -c Release -r osx-arm64 # or your platform
Configuration
The server requires the following environment variables:
| Variable | Description |
|---|---|
APP_STORE_CONNECT_KEY_ID |
Your API key ID (e.g., ABC123DEF4) |
APP_STORE_CONNECT_ISSUER_ID |
Your issuer ID (UUID format) |
APP_STORE_CONNECT_KEY_PATH |
Path to your .p8 private key file |
APP_STORE_CONNECT_KEY_CONTENT |
Alternative: The private key content directly |
You must provide either KEY_PATH or KEY_CONTENT, not both.
Usage with Claude Code
Add to your .mcp.json configuration:
{
"mcpServers": {
"appstoreconnect": {
"type": "stdio",
"command": "/path/to/appstoreconnect-mcp-osx-arm64/AppStoreConnectMcp",
"env": {
"APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
"APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
"APP_STORE_CONNECT_KEY_PATH": "/path/to/AuthKey_XXXX.p8"
}
}
}
}Or if building from source with .NET installed:
{
"mcpServers": {
"appstoreconnect": {
"type": "stdio",
"command": "dotnet",
"args": ["run", "--project", "/path/to/appstoreconnect-mcp/AppStoreConnectMcp"],
"env": {
"APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
"APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
"APP_STORE_CONNECT_KEY_PATH": "/path/to/AuthKey_XXXX.p8"
}
}
}
}Available Tools
ListProducts
List all Xcode Cloud products (apps configured with Xcode Cloud).
ListBuilds
List recent builds for a specific product.
productId: The product ID (from ListProducts)limit: Maximum builds to return (default: 10)
GetBuildRun
Get details for a specific build run.
buildRunId: The build run ID
ListBuildActions
List all actions for a build run (build, test, archive steps).
buildRunId: The build run ID
GetBuildAction
Get details for a specific build action.
actionId: The action ID
ListArtifacts
List artifacts (logs, archives) for a build action.
actionId: The action ID
GetTestResults
Get test results for a build action.
actionId: The action ID
ListIssues
List issues (errors and warnings) for a build action. This is particularly useful for debugging failed builds.
actionId: The action ID
Example Workflow
-
List products to find your app:
-
List recent builds for your product:
ListBuilds(productId: "abc123", limit: 5) -
Get build actions to find the failed step:
ListBuildActions(buildRunId: "xyz789") -
List issues to see errors:
ListIssues(actionId: "action123")
Security Notes
- Never commit your
.p8private key to version control - Use environment variables or secure secret management
- The API key grants access to your App Store Connect account
- Consider using the
KEY_CONTENTvariable for containerized deployments
API Documentation
This server implements a subset of Apple's App Store Connect API:
License
MIT License - see LICENSE file.