Back to the catalog

io.github.ryaker/appstore-connect-mcp

MCP server for Apple Store Connect API integration with OAuth authentication support

Open source Open in the app JSON README (API)

About

MCP server for Apple Store Connect API integration with OAuth authentication support

Details

Kind
MCP servers
Topic
Security & identity
Publisher
ryaker
Origin
official
Category
ferramentas
Transport
local
Version
1.0.0
Stars
33
Forks
9
Last push
2026-08-28T01:43:04Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-29 04:01:20
Updated
2026-08-29 04:01:20
Origin id
io.github.ryaker/appstore-connect-mcp

README

# ๐ŸŽ App Store Connect MCP Server

[![npm version](https://img.shields.io/npm/v/@ryaker/appstore-connect-mcp.svg)](https://www.npmjs.com/package/@ryaker/appstore-connect-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](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

More