# app-store-connect

Connects your coding agent to Apple's App Store Connect API. It lets you inspect builds, manage TestFlight testers, and handle subscriptions directly from your editor.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 14
- Author: beautyfree
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/beautyfree/appstore-connect-mcp
- Updated: 2026-04-27
- HTML: https://affpapa.org/en/nevibecode/mcp/app-store-connect

## What it does

This server executes `mcp-asc` through `npx` to interface directly with the official Apple endpoints. You can run it over stdio or as an HTTP service listening on port 3001. Tools cover application metadata, version details, encryption declarations, and distribution certificates.

The setup handles routine developer tasks. You can add beta testers to TestFlight groups, update localized release notes, and check customer reviews. It also supports creating in-app subscription tiers and kicking off phased rollouts. The runtime requires Node 20+.

Authentication relies on JWT tokens generated from Apple credentials. You need a valid `.p8` private key file, an Issuer ID, and a Key ID to establish a connection. Financial tables have an extra requirement. The `download-sales-report` and `download-finance-report` tools will fail unless you supply `APP_STORE_CONNECT_VENDOR_NUMBER`.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `APP_STORE_CONNECT_KEY_ID`, `APP_STORE_CONNECT_ISSUER_ID`, `APP_STORE_CONNECT_P8_PATH`, `APP_STORE_CONNECT_VENDOR_NUMBER` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --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> --env APP_STORE_CONNECT_VENDOR_NUMBER=<APP_STORE_CONNECT_VENDOR_NUMBER> --transport stdio app-store-connect -- npx -y mcp-asc
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add app-store-connect --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> --env APP_STORE_CONNECT_VENDOR_NUMBER=<APP_STORE_CONNECT_VENDOR_NUMBER> -- npx -y mcp-asc
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "app-store-connect": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-asc"
            ],
            "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>",
                "APP_STORE_CONNECT_VENDOR_NUMBER": "<APP_STORE_CONNECT_VENDOR_NUMBER>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "app-store-connect": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-asc"
            ],
            "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>",
                "APP_STORE_CONNECT_VENDOR_NUMBER": "<APP_STORE_CONNECT_VENDOR_NUMBER>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e APP_STORE_CONNECT_KEY_ID=<APP_STORE_CONNECT_KEY_ID> -e APP_STORE_CONNECT_ISSUER_ID=<APP_STORE_CONNECT_ISSUER_ID> -e APP_STORE_CONNECT_P8_PATH=<APP_STORE_CONNECT_P8_PATH> -e APP_STORE_CONNECT_VENDOR_NUMBER=<APP_STORE_CONNECT_VENDOR_NUMBER> app-store-connect npx -y mcp-asc
```
Replace <…> with your own values

## When to use it
- manage TestFlight beta testing groups and tester rosters
- update localized release notes and store metadata
- inspect customer reviews and publish developer responses
- retrieve sales and financial reporting tables
- configure in-app subscription groups and pricing points

## Example prompts
- List the latest builds available in TestFlight for our iOS app.
- Add tester qa-lead@example.com to the internal beta group.
- Show recent App Store customer reviews and their star ratings.

## Similar
- [appstore-connect-mcp](https://affpapa.org/en/nevibecode/mcp/appstore-connect-mcp.md) — MCP server · ★ 52
- [appstore-connect](https://affpapa.org/en/nevibecode/mcp/appstore-connect.md) — MCP server · ★ 22
- [app-store-featured](https://affpapa.org/en/nevibecode/skills/app-store-featured.md) — skill · 3300 installs
- [asc-id-resolver](https://affpapa.org/en/nevibecode/skills/asc-id-resolver.md) — skill · 7600 installs
- [asc-xcode-build](https://affpapa.org/en/nevibecode/skills/asc-xcode-build.md) — skill · 7600 installs
- [blitz](https://affpapa.org/en/nevibecode/mcp/blitz.md) — MCP server · ★ 1761

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
