Skip to main content
Glama
yuraist

App Store Connect MCP Server

by yuraist

App Store Connect MCP Server

A Model Context Protocol server that wraps Apple's App Store Connect API v2. Gives Claude (or any MCP client) direct access to manage apps, in-app purchases, subscriptions, TestFlight, product page experiments, and App Review submissions.

What You Can Do

Apps — List apps, view details, check version history and statuses.

In-App Purchases — Create, update, delete IAPs. Manage localizations and pricing. Submit for review.

Subscriptions — Manage subscription groups and products. Set prices per territory. Create introductory and promotional offers.

Product Page Optimization — Create custom product pages. Run A/B test experiments and check results.

Builds & TestFlight — List builds, manage beta groups and testers, distribute builds to test groups.

App Review — Check review status, view rejection reasons, submit versions for review. Update descriptions, keywords, and What's New text per locale.

See the full tool reference for all 46+ available tools.

Related MCP server: asc-mcp

Prerequisites

Setup

  1. Clone and install:

git clone https://github.com/yuraist/appstoreconnect-mcp.git
cd appstoreconnect-mcp
npm install
npm run build
  1. Create a .env file from the example:

cp .env.example .env
  1. Fill in your API credentials:

ASC_ISSUER_ID=your-issuer-id
ASC_KEY_ID=your-key-id
ASC_PRIVATE_KEY_PATH=/path/to/AuthKey_XXXXXXXXXX.p8

You'll find the Issuer ID and Key ID on the App Store Connect API Keys page.

Usage with Claude Desktop

Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "appstoreconnect": {
      "command": "node",
      "args": ["/absolute/path/to/appstoreconnect-mcp/build/index.js"],
      "env": {
        "ASC_ISSUER_ID": "your-issuer-id",
        "ASC_KEY_ID": "your-key-id",
        "ASC_PRIVATE_KEY_PATH": "/path/to/AuthKey_XXXXXXXXXX.p8"
      }
    }
  }
}

Restart Claude Desktop. The App Store Connect tools will appear in the tool list.

Usage with Claude Code

Add the server to your project:

claude mcp add appstoreconnect -- node /absolute/path/to/appstoreconnect-mcp/build/index.js

Or add it globally:

claude mcp add --scope user appstoreconnect -- node /absolute/path/to/appstoreconnect-mcp/build/index.js

Make sure the environment variables are set in your shell, or use the .env file in the project directory.

Example Prompts

Once connected, try asking Claude:

  • "List all my apps in App Store Connect"

  • "Show me the current review status for my app"

  • "Create a new consumable IAP called 'Premium Gems' with product ID com.example.gems"

  • "What subscription groups do I have for app X?"

  • "Add this build to the External Testers beta group"

  • "Start an A/B test experiment on the current version"

Security

Your API key (.p8 file) never leaves your machine. The MCP server runs locally, authenticating directly with Apple's API using short-lived JWTs.

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yuraist/appstoreconnect-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server