Apple Store Connect MCP Server
by ryaker
README.md
# š App Store Connect MCP Server
[](https://www.npmjs.com/package/@ryaker/appstore-connect-mcp)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
A Model Context Protocol (MCP) server that connects AI assistants like **Claude Desktop**, **Cursor**, **Windsurf**, and **VS Code** to the **Apple App Store Connect API**.
Automate TestFlight builds, customer review analysis, app metadata updates, and sales reports directly inside your AI coding workflow.
---
## š” Quickstart (npx)
No need to clone or build manually! You can run this MCP server directly using `npx`.
### 1. Generate App Store Connect API Key
1. Log into [App Store Connect](https://appstoreconnect.apple.com/).
2. Navigate to **Users and Access** ā **Integrations** ā **App Store Connect API**.
3. Click **Generate API Key** (Admin or App Manager role recommended).
4. Download the `.p8` key file and note your **Key ID** and **Issuer ID**.
---
### 2. Add to Your MCP Client
#### š¢ Claude Desktop
Add this to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}
}
}
}
```
ā” Cursor
Add this to ~/.cursor/mcp.json or under Cursor Settings ā Features ā MCP:
```json
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "YOUR_PRIVATE_KEY_BASE64_OR_RAW"
}
}
}
}
```
š Windsurf
Add this to ~/.codeium/windsurf/mcp_config.json:
```json
JSON
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@ryaker/appstore-connect-mcp"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_PRIVATE_KEY": "YOUR_PRIVATE_KEY"
}
}
}
}
```
š ļø Features
š± App Management: View apps, query version statuses, edit localizations & release notes.
āļø TestFlight Integration: List builds, manage beta testing groups, and add/remove beta testers.
š¬ Customer Reviews: Read, summarize, and draft responses to user reviews.
š Analytics & Sales: Retrieve unit downloads, revenue metrics, and regional performance.
š Dual Auth Support: Supports direct local API Key authentication or remote OAuth 2.0 (via Auth0).
š¬ Example Prompts
Once configured, try asking your AI assistant:
"Show me the latest TestFlight builds for my app and their processing status."
"What are the most recent 1-star reviews on the App Store and summarize user complaints?"
"Update the release notes for version 1.2.0 in English (US)."
"Give me a summary of app downloads for the past 14 days."
š Environment Variables
| Variable | Required | Description |
| :--- | :--- | :--- |
| `APPLE_KEY_ID` | **Yes** | Your App Store Connect API Key ID |
| `APPLE_ISSUER_ID` | **Yes** | Your App Store Connect Issuer ID |
| `APPLE_PRIVATE_KEY` | **Yes** | Raw PEM content or Base64-encoded string of your `.p8` key |
| `APPLE_BUNDLE_ID` | Optional | Restrict tool scope to a specific app bundle ID |
| `APPLE_APP_STORE_ID` | Optional | Restrict tool scope to a specific App Store ID |
| `OAUTH_ENABLED` | Optional | Set `true` if deploying as a remote server via OAuth 2.0 |
š» Local Development
If you want to contribute or modify the source code locally:
Bash
```bash
# 1. Clone repo
git clone [https://github.com/ryaker/appstore-connect-mcp.git](https://github.com/ryaker/appstore-connect-mcp.git)
cd appstore-connect-mcp
# 2. Install & build
npm install
npm run build
# 3. Test locally
npm start
```
š¤ Contributing & Support
Feel free to open an Issue for bug reports, missing App Store Connect endpoints, or feature requests!
License: MIT
This server cannot be deployed
Maintenance
ActivityNo data
ResponsivenessUnresponsive