mcpField
A
asc-mcp-server

asc-mcp-server

Local
github.com/muhammetaliDeveloper Tools1Updated 8w ago

About asc-mcp-server

asc-mcp-server is an MCP server for managing iOS app releases and App Store Connect workflows. It supports AI coding agents with tools for TestFlight, store metadata, review submissions, screenshots, and reports.

Key features

  1. 01Create versions and submit releases for review
  2. 02Distribute builds and manage TestFlight groups
  3. 03Edit localized metadata and screenshots
  4. 04Retrieve sales and financial reports
  5. 05Validate submissions before review

Use cases

  1. 01Prepare and submit a new app version
  2. 02Send a build to a TestFlight group
  3. 03Review tester feedback and rejection reasons

MCP support

Exposes App Store Connect management tools to MCP clients, including release, TestFlight, metadata, review, screenshot, and reporting operations.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"muhammetali-asc": {
"command": "npx",
"args": [
"-y",
"@muhammetali/asc-mcp-server"
],
"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>"
}
}
}
}
Run commandnpx -y @muhammetali/asc-mcp-server
Environment variables to set
APP_STORE_CONNECT_KEY_IDSecretApp Store Connect API Key ID
APP_STORE_CONNECT_ISSUER_IDApp Store Connect Issuer ID
APP_STORE_CONNECT_P8_PATHSecretAbsolute path to the App Store Connect .p8 private key file

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@muhammetali/asc-mcp-server1.2.0

Tools

68

Saved tool list · updated 3w ago

This tool takes no parameters.

Details

From the project README

🍏 App Store Connect MCP Server

npm version License: MIT MCP Compatible

A powerful Model Context Protocol (MCP) server for managing iOS app releases, TestFlight distribution, screenshots, and review submissions directly from your AI Assistant (Claude, Gemini, etc.).

No more clicking through App Store Connect for 20 minutes just to submit a new version. Let your AI agent handle the deployment pipeline.

"Claude, distribute the latest build to the Internal Testers group." "Gemini, create version 2.1.0, attach the newest build, and submit it for review." "Claude, what was the reason for our last App Store rejection?"


🌟 Key Features

  • 🚀 End-to-end Releases: Create versions, assign builds, update "What's New", and submit for review.
  • ✈️ TestFlight Automation: Distribute builds to beta groups and manage testers.
  • 🖼️ Metadata & Screenshots: Update app descriptions, keywords, privacy policies, and upload/delete screenshots.
  • 📊 Financials & Sales: Fetch daily/weekly sales and financial reports.
  • 🛡️ Pre-flight Checks: Built-in error handling and submission pre-flight validation.

🛠️ Provided Tools

📦 Apps & Metadata
  • asc_list_apps - List all apps under your account
  • asc_get_app_info - Detailed app info (privacy policy, age rating, localizations)
  • asc_update_app_info_localization - Update privacy policy URL, name, subtitle per locale
🚀 Versions & Release
  • asc_list_versions - Fetch all versions with states (LIVE, DRAFT, REJECTED, etc.)
  • asc_create_version - Create a new App Store version
  • asc_update_whats_new - Batch update "What's New" for all locales
  • asc_update_version_localization - Update single locale metadata (description, keywords)
  • asc_get_version_localizations - View all locale metadata
  • asc_assign_build - Attach a TestFlight build to a version
✈️ Builds & TestFlight
  • asc_list_builds - View recent builds and their processing status
  • asc_get_build_details - Detailed build info
  • asc_list_beta_groups - List TestFlight beta groups
  • asc_add_build_to_beta_group - Distribute build to a specific tester group
  • asc_set_testflight_whats_new - Set TestFlight release notes
  • asc_get_testflight_feedback - Pull tester screenshot + crash feedback (text, device, OS, tester, build) so an AI agent can triage it
🔍 Review & Submission
  • asc_get_review_submission - Check review status, demo account, and rejection info
  • asc_update_review_detail - Set demo account, reviewer notes, contact info
  • asc_submit_for_review - Submit version for review (with pre-flight checks)
  • asc_get_rejection_reasons - View recent rejection reasons and resolutions
📊 Reports
  • asc_sales_report - Sales data (daily/weekly/monthly)
  • asc_financial_report - Financial reports by region
📸 Screenshots
  • asc_list_screenshot_sets - View screenshot sets
  • asc_upload_screenshot - 3-step upload automation (reserve, upload, commit)
  • asc_upload_screenshots_batch - Whole sets across many localizations in one call; finds or creates each set and clears it first (a 7-locale x 9-image refresh is 1 call instead of ~70)
  • asc_delete_screenshot - Delete a single screenshot
  • asc_delete_all_screenshots - Clear an entire screenshot set

⚙️ Quick Start

1. Generate App Store Connect API Keys
  1. Go to App Store Connect > Users and Access > Keys.
  2. Generate an App Store Connect API Key with App Manager or Admin access.
  3. Download the .p8 file. You will also need the Key ID and Issuer ID.
2. Installation

Clone this repository and build:

git clone https://github.com/YOUR_USERNAME/asc-mcp-server.git
cd asc-mcp-server
npm install
npm run build
3. Connect to Claude Code (or any MCP Client)

Use the claude mcp add command to inject this server into your Claude environment:

claude mcp add asc-mcp -- node /path/to/asc-mcp-server/dist/index.js

Then configure the environment variables in your Claude settings (~/.claude/settings.json):

{
  "mcpServers": {
    "asc-mcp": {
      "command": "node",
      "args": ["/path/to/asc-mcp-server/dist/index.js"],
      "env": {
        "APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
        "APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
        "APP_STORE_CONNECT_P8_PATH": "/path/to/AuthKey_YOUR_KEY_ID.p8"
      }
    }
  }
}

🤖 AI Workflow Examples

1. New Release Pipeline

Just tell your AI: "Prepare the latest build for release. Create version 2.1.0, attach the build, update the release notes, set the demo account password, and submit it for review."

The AI will sequentially execute: asc_list_builds -> asc_create_version -> asc_update_whats_new -> asc_assign_build -> asc_update_review_detail -> asc_submit_for_review

2. Handle Rejections

"Why was our app rejected? Read the rejection reason, let me fix the code, then update the review notes explaining the fix and resubmit."

3. Quick TestFlight Push

"Distribute the newest build to the 'Internal Testers' group and set the notes to 'Added dark mode'."

4. Triage Beta Feedback

"What are TestFlight testers saying about the latest build? Summarize the crashes and complaints."

The AI will call asc_get_testflight_feedback and summarize the screenshot + crash submissions for you.

5. Auto-Generate Release Notes from Git

"Look at the commits since our last tag, write user-friendly release notes from them (no commit-speak), and push them as the What's New text."

The AI reads your local git history, drafts copy, then calls asc_update_whats_new (and can loop over each locale via asc_update_version_localization).

6. ASO Keyword Refresh

"Pull our current App Store keywords, research what's trending for our category, and update the keyword field with a stronger 100-character set."

The AI calls asc_get_version_localizations to read the current keywords, then asc_update_version_localization to write the new ones back.

7. Auto-Respond to Reviews

"Reply to this week's 1 and 2-star reviews with a genuinely helpful, empathetic response."

The AI calls asc_list_customer_reviews, drafts a reply per review, then posts each one with asc_respond_to_review.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.