MCP server for App Store Connect — check review status, read reviews, download sales reports from Claude Code, Cursor, or any AI agent. Free tier included.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
git clone https://github.com/pofky/asc-mcp{
"mcpServers": {
"asc-mcp": {
"command": "node",
"args": ["/path/to/asc-mcp/dist/index.js"]
}
}
}Resumen de MCP Servers
# App Store Connect MCP Server
> **Full control of App Store Connect from your coding agent.** 40 tools: read intelligence that thinks, plus write/control that ships your app end to end (edit metadata, upload screenshots, attach builds, TestFlight, submit, release, even build and upload the binary locally). 6 slash-command workflows and a bundled Claude Skill. Not another API wrapper.
[asc-mcp.pages.dev](https://asc-mcp.pages.dev) · [npm](https://www.npmjs.com/package/@pofky/asc-mcp) · [Pricing: free tier, Pro $9/mo](https://asc-mcp.pages.dev/#pricing)
Maintained successor to [JoshuaRileyDev/app-store-connect-mcp-server](https://github.com/JoshuaRileyDev/app-store-connect-mcp-server) (archived Feb 2026). Different angle, same API surface plus more.
```bash
npm install -g @pofky/asc-mcp
asc-mcp install-skill # one-line, optional, for auto-routed review questions
```
## What Makes This Different
Other ASC MCP servers wrap the API and give you 80 to 293 raw endpoints. This one gives you 40 opinionated tools, 6 slash-command Prompts, and a Claude Skill that all think. The read tools summarize and audit; the Pro control tools actually drive App Store Connect, from editing metadata to submitting and releasing, with the same API key. Two tools use MCP Sampling: your own client's model does the LLM work, so there is no extra cost from this server.
**Why full control is possible without fastlane:** fastlane's `deliver` and `pilot` are just calls to the same App Store Connect REST API this server authenticates against with your `.p8`. So nearly everything you would script with fastlane is a tool here, no Ruby toolchain required. The only step that needs your Mac is building and signing the binary, which `build_and_archive` and `upload_binary` drive via Xcode.
| You say | What happens |
|---------|-------------|
| "Run a preflight check on my app" | Audits metadata, character limits, screenshots, build status. Catches the issues that cause 40% of rejections. |
| "Give me a morning briefing" | Summarizes all your apps: who's in review, who got rejected, new low-rating reviews, action items. |
| "Generate release notes from my git history" | Reads commits since last tag, categorizes them, and gives you structured data to write "What's New" text. |
| "List my apps" | Shows all your iOS/macOS apps with bundle IDs |
| "Is my app in review?" | Exact review state with context ("typical time: 24-48 hours") |
| "Show me 1-star reviews" | Customer reviews filtered by rating, territory, sorted by date |
| "What were my downloads this week?" | Sales and revenue summary by territory |
No context switching. No portal. Just ask.
## Setup (3 minutes)
**Step 1.** Create an API key in [App Store Connect > Integrations > App Store Connect API](https://appstoreconnect.apple.com/access/integrations/api) (Admin or App Manager role), then grab three things from that same page:
- **Issuer ID** (`ASC_ISSUER_ID`): the UUID shown at the top of the page, with a copy button next to it.
- **Key ID** (`ASC_KEY_ID`): the 10-character ID next to your key, also in the filename `AuthKey_XXXXXXXXXX.p8`.
- **`.p8` file** (`ASC_PRIVATE_KEY_PATH`): click **Download** and point this at the saved file. Apple lets you download it only once, so keep it safe.
**Step 2.** Install:
```bash
npm install -g @pofky/asc-mcp
```
No global install needed if you prefer `npx` (see the manual config below).
**Fastest setup (recommended).** Drop your `.p8` into Apple's standard path `~/.appstoreconnect/private_keys/` (the file is named `AuthKey_XXXXXXXXXX.p8`, and the Key ID is in the filename). Then run:
```bash
asc-mcp init --write # auto-detects the key, asks for your Issuer ID, and writes the config for you
# or: asc-mcp init # same, but prints the block to paste yourself
```
`init --write` finds your Claude Desktop / Claude Code config, backs it up, and merges in the server block, so there's no JSON editing. The server also auto-discovers the `.p8` path at runtime, so you only ever need `ASC_ISSUER_ID` (and `ASC_LICENSE_KEY` for Pro).
**Stuck?** Run `asc-mcp doctor` (or ask your agent to call `asc_setup_check`). It checks your key, Issuer ID, a live connection to App Store Connect, and your license, and prints the exact fix for anything wrong. In your agent, the `/asc-start` command walks a first-time user through all of this.
**Manual setup.** Add to your agent's MCP config (Claude Desktop config, or `~/.claude.json` for Claude Code). Use `npx` for zero-install, or `asc-mcp` if you installed globally:
```json
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@pofky/asc-mcp"],
"env": {
"ASC_ISSUER_ID": "YOUR_ISSUER_ID"
}
}
}
}
```
With the `.p8` in `~/.appstoreconnect/private_keys/`, `ASC_ISSUER_ID` is the only required env var (Key ID and key path are auto-detected). Add `ASC_LICENSE_KEY` to unlock Pro.
**Step 3.** Ask your agent: "List my App Store Connect apps"
Works with **Claude Code**, **Cursor**, **Windsurf**, **Cline**, and any MCP-compatible client.
## Tools
### Free (no account needed)
| Tool | What it does |
|------|-------------|
| `asc_setup_check` | **Run first if anything's off.** Checks your key, Issuer ID, a live App Store Connect connection, and license tier, and prints the exact fix for each failure. |
| `asc_guide` | **Start here.** The in-agent playbook for every flow (first release, update, IAP, subscriptions, reviews, TestFlight, binary), with each manual App Store Connect website step flagged inline. See also [USER_GUIDE.md](USER_GUIDE.md) and [LIMITATIONS.md](LIMITATIONS.md). |
| `list_apps` | List all your apps with name, bundle ID, SKU, platform |
| `app_details` | Version history, build status, release state, dates |
| `review_status` | Current review state with human-readable context |
### Pro ($9/mo)
| Tool | What it does | Why it matters |
|------|-------------|----------------|
| `list_reviews` | Customer reviews filtered by rating, territory, sort order | See what users say without opening the portal |
| `sales_report` | Daily/weekly/monthly downloads and revenue by territory | Know your numbers instantly |
| `release_preflight` | Pre-submission audit: metadata, char limits, screenshots, builds | Catches 40%+ of common rejection causes before you submit |
| `daily_briefing` | Morning summary across all apps: status, reviews, rejections | One call replaces 10 minutes of portal clicking |
| `release_notes` | Git commits since last tag, categorized for writing "What's New" | Your AI agent writes release notes from your actual changes |
| `keyword_insights` | Analyze keywords against iTunes search competition, difficulty ratings | See which keywords are worth targeting at a glance |
| `competitor_snapshot` | Look up any app: ratings, reviews, version, price, release notes | Competitive intelligence without leaving your editor |
| `metadata_diff` | Compare live vs pending version metadata across all locales | Verify exactly what changed before submitting |
| `triage_reviews` | Pulls recent reviews and clusters them into 3 to 5 themes with counts, action buckets, and quotes, using MCP Sampling | Zero extra cost: your client's model does the clustering |
| `draft_review_response` | Drafts a public reply to a single review in the review's locale, via Sampling. Elicits tone if your client supports it. Never auto-posts. | Apple guideline 1.2 respected; you paste into ASC yourself |
### Control & Ship (Pro)
These tools write to App Store Connect. Every outward-facing action (submit, release, upload binary) requires an explicit `confirm: true`, so nothing leaves your machine by accident.
| Tool | What it does |
|------|-------------|
| `create_version` | Create a new editable App Store version for your next release |
| `update_version_metadata` | Edit description, keywords, what's-new, promo text, URLs, app name, subtitle. Validates Apple's character limits and refuses over-limit writes |
| `upload_screenshots` | Upload screenshots for a device display type (reserve, upload, commit, with checksum) |
| `list_builds` | List recent builds and their processing state (VALID = ready) |
| `attach_build` | Attach a build to the editable version (defaults to newest processed build) |
| `submit_for_review` | Submit the version to App Review (modern reviewSubmissions flow). `confirm: true` required |
| `release_version` | Release an approved version to the public App Store. `confirm: true` required |
| `manage_phased_release` | Start, pause, resume, or complete the 7-day phased rollout |
| `list_beta_groups` | List your TestFlight beta groups |
| `assign_build_to_group` | Push a build to a beta group so testers can install it |
| `invite_beta_tester` | Invite an external tester by email and add them to a group |
| `set_app_metadata` | Set primary/secondary category, copyright, content-rights, and export-compliance (encryption) in one call |
| `set_app_price` | Set the base price by creating the price schedule (`price_usd: 0` for free), auto-equalized to all territories |
| `set_app_availability` | Make the app available in all App Store territories (or a subset), with auto-include for future ones |
| `set_review_contact` | Set the App Review contact and optional demo account on the version |
| `set_age_rating` | Set the v2 age-rating declaration (full content-descriptor set) |
| `set_privacy_nutrition` | Guidance + deep link for the App Privacy nutrition labels (not API-addressable) |
| `set_eu_trader_status` | Guidance + deep link for the EU DSA trader status (not API-addressable) |
| `create_iap` | Create a non-consumable/consumable IAP with localization, availability, and an auto-equalized price |
| `create_subscription` | Create a subscription group, sub, localization, availability, price, and free trial |
| `set_iap_review_screenshot` | Attach the App Review screenshot to a subscription or IAP |
| `setup_app_store_signing` | DownloaLo que la gente pregunta sobre asc-mcp
¿Qué es pofky/asc-mcp?
+
pofky/asc-mcp es mcp servers para el ecosistema de Claude AI. MCP server for App Store Connect — check review status, read reviews, download sales reports from Claude Code, Cursor, or any AI agent. Free tier included. Tiene 0 estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala asc-mcp?
+
Puedes instalar asc-mcp clonando el repositorio (https://github.com/pofky/asc-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar pofky/asc-mcp?
+
Nuestro agente de seguridad ha analizado pofky/asc-mcp y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene pofky/asc-mcp?
+
pofky/asc-mcp es mantenido por pofky. La última actividad registrada en GitHub es de today, con 0 issues abiertos.
¿Hay alternativas a asc-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega asc-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/pofky-asc-mcp)<a href="https://claudewave.com/repo/pofky-asc-mcp"><img src="https://claudewave.com/api/badge/pofky-asc-mcp" alt="Featured on ClaudeWave: pofky/asc-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!