Interact with Apple's App Store Connect API
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
3 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: APP_STORE_KEY_ID
Environment variable: APP_STORE_ISSUER_ID
Environment variable: APP_STORE_PRIVATE_KEY_PATH
Environment variable: APP_STORE_APP_ID
Environment variable: APP_STORE_KEY_TYPE
Environment variable: APP_STORE_SCOPE
Environment variable: APP_STORE_SUBJECT
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-gjeltep-app-store-connect-mcp": {
"env": {
"APP_STORE_SCOPE": "your-app-store-scope-here",
"APP_STORE_APP_ID": "your-app-store-app-id-here",
"APP_STORE_KEY_ID": "your-app-store-key-id-here",
"APP_STORE_SUBJECT": "your-app-store-subject-here",
"APP_STORE_KEY_TYPE": "your-app-store-key-type-here",
"APP_STORE_ISSUER_ID": "your-app-store-issuer-id-here",
"APP_STORE_PRIVATE_KEY_PATH": "your-app-store-private-key-path-here"
},
"args": [
"app-store-connect-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
Talk to App Store Connect about your app. Modular tools, async I/O, and OpenAPI‑driven typing so your agent stays accurate as Apple evolves.
httpx client, server‑side filtering, and smart pagination to keep payloads lean.pip install app-store-connect-mcp
git clone https://github.com/gjeltep/app-store-connect-mcp.git
cd app-store-connect-mcp
uv pip install -e ".[dev]"
Set these environment variables:
# Required
export APP_STORE_KEY_ID="YOUR_KEY_ID"
export APP_STORE_ISSUER_ID="YOUR_ISSUER_ID"
export APP_STORE_PRIVATE_KEY_PATH="/path/to/AuthKey_XXXXX.p8"
# Optional
export APP_STORE_APP_ID="YOUR_APP_ID"
export APP_STORE_KEY_TYPE="team" # or "individual"
Run with your environment variables set (recommended):
app-store-connect-mcp
Or use a .env file during development:
# Copy and configure .env file
cp .env.example .env
# Edit .env with your credentials
# Run with --env-file flag
app-store-connect-mcp-dev --env-file .env
# Validate configuration without starting server
app-store-connect-mcp-dev --env-file .env --validate-only
Use with any MCP‑compatible client; the server announces tools and handles calls over stdio.
Models are generated from Apple's official OpenAPI spec (fetched automatically from Apple's developer site).
You can override the source with APP_STORE_CONNECT_OPENAPI_URL to point to a local JSON file.
uv pip install -e .[dev]
python scripts/generate_models.py
For development setup, testing, and contribution guidelines, see CONTRIBUTING.md.
Tools use a resource-first naming convention (resource.verb) with category tags for discoverability.
rating, territory, appStoreVersion).device_model, os_version, app_platform, device_platform, build_id, tester_id).appPlatform, deviceModel, osVersion)created_since_days, created_after, created_before).Requests:
access_type).Reports:
name, category).granularity, processing_date).Segments:
Products & Workflows:
product_type).is_enabled).Builds:
execution_progress, completion_status, is_pull_request_build).Build Artifacts & Results:
SCM Integration:
graph TD
%% Entry Point
subgraph "Entry Point"
SERVER[server.py<br/>MCP stdio server]
end
%% Domain Implementations
subgraph "Domain Handlers"
TESTFLIGHT[testflight/handlers.py<br/>TestFlight crash<br/>management]
APP[app/handlers.py<br/>App Store review<br/>management]
ANALYTICS[analytics/handlers.py<br/>Analytics report<br/>management]
XCODE_CLOUD[xcode_cloud/handlers.py<br/>Xcode Cloud CI/CD<br/>management]
end
%% Core Architecture
subgraph "Core Components"
subgraph "Core Framework"
PROTOCOLS[protocols.py<br/>Abstract interfaces]
BASE_HANDLER[base_handler.py<br/>Abstract base class]
QUERY_BUILDER[query_builder.py<br/>Fluent query construction]
FILTERS[filters.py<br/>Chainable filter engine]
RESPONSE_HANDLER[response_handler.py<br/>API response processing]
CONTAINER[container.py<br/>Dependency injection]
ERRORS[errors.py<br/>Structured error handling]
end
subgraph "API Layer"
ASC_CLIENT[app_store_connect.py<br/>App Store Connect client<br/>with JWT auth]
HTTP_CLIENT[http_client.py<br/>Base HTTP client]
MODELS[app_store_connect_models.py<br/>Auto-generated Pydantic<br/>models from OpenAPI spec]
end
subgraph "Data & Tools"
OPENAPI[app_store_connect_api_openapi.json<br/>Apple's OpenAPI spec]
GENERATE_SCRIPT[scripts/generate_models.py<br/>Model generation script]
end
end
%% Vertical Stack Relationships
SERVER -->|"routes to"| ANALYTICS
ANALYTICS -->|"uses"| ASC_CLIENT
%% Styling
classDef entry fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef core fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef domain fill:#fce4ec,stroke:#880e4f,stroke-width:2px
class SERVER entry
class PROTOCOLS,BASE_HANDLER,QUERY_BUILDER,FILTERS,RESPONSE_HANDLER,CONTAINER,ERRORS,ASC_CLIENT,HTTP_CLIENT,MODELS,OPENAPI,GENERATE_SCRIPT core
class TESTFLIGHT,APP,ANALYTICS,XCODE_CLOUD domain
Built on the official Model Context Protocol Python SDK — see the docs and examples in the python‑sdk README.
See CONTRIBUTING.md if you'd like to help.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally