{
  "markdown": "# 🍏 App Store Connect MCP Server\n\n[![npm version](https://img.shields.io/npm/v/%40muhammetali%2Fasc-mcp-server.svg)](https://npmjs.org/package/@muhammetali/asc-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-blue.svg)](https://modelcontextprotocol.io/)\n\nA powerful [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for managing iOS app releases, TestFlight distribution, screenshots, and review submissions **directly from your AI Assistant** (Claude, Gemini, etc.).\n\nNo more clicking through App Store Connect for 20 minutes just to submit a new version. Let your AI agent handle the deployment pipeline.\n\n> \"Claude, distribute the latest build to the Internal Testers group.\"\n> \"Gemini, create version 2.1.0, attach the newest build, and submit it for review.\"\n> \"Claude, what was the reason for our last App Store rejection?\"\n\n---\n\n## 🌟 Key Features\n\n*   🚀 **End-to-end Releases:** Create versions, assign builds, update \"What's New\", and submit for review.\n*   ✈️ **TestFlight Automation:** Distribute builds to beta groups and manage testers.\n*   🖼️ **Metadata & Screenshots:** Update app descriptions, keywords, privacy policies, and upload/delete screenshots.\n*   📊 **Financials & Sales:** Fetch daily/weekly sales and financial reports.\n*   🛡️ **Pre-flight Checks:** Built-in error handling and submission pre-flight validation.\n\n## 🛠️ Provided Tools\n\n### 📦 Apps & Metadata\n*   `asc_list_apps` - List all apps under your account\n*   `asc_get_app_info` - Detailed app info (privacy policy, age rating, localizations)\n*   `asc_update_app_info_localization` - Update privacy policy URL, name, subtitle per locale\n\n### 🚀 Versions & Release\n*   `asc_list_versions` - Fetch all versions with states (LIVE, DRAFT, REJECTED, etc.)\n*   `asc_create_version` - Create a new App Store version\n*   `asc_update_whats_new` - Batch update \"What's New\" for all locales\n*   `asc_update_version_localization` - Update single locale metadata (description, keywords)\n*   `asc_get_version_localizations` - View all locale metadata\n*   `asc_assign_build` - Attach a TestFlight build to a version\n\n### ✈️ Builds & TestFlight\n*   `asc_list_builds` - View recent builds and their processing status\n*   `asc_get_build_details` - Detailed build info\n*   `asc_list_beta_groups` - List TestFlight beta groups\n*   `asc_add_build_to_beta_group` - Distribute build to a specific tester group\n*   `asc_set_testflight_whats_new` - Set TestFlight release notes\n*   `asc_get_testflight_feedback` - Pull tester screenshot + crash feedback (text, device, OS, tester, build) so an AI agent can triage it\n\n### 🔍 Review & Submission\n*   `asc_get_review_submission` - Check review status, demo account, and rejection info\n*   `asc_update_review_detail` - Set demo account, reviewer notes, contact info\n*   `asc_submit_for_review` - Submit version for review (with pre-flight checks)\n*   `asc_get_rejection_reasons` - View recent rejection reasons and resolutions\n\n### 📊 Reports\n*   `asc_sales_report` - Sales data (daily/weekly/monthly)\n*   `asc_financial_report` - Financial reports by region\n\n### 📸 Screenshots\n*   `asc_list_screenshot_sets` - View screenshot sets\n*   `asc_upload_screenshot` - 3-step upload automation (reserve, upload, commit)\n*   `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)\n*   `asc_delete_screenshot` - Delete a single screenshot\n*   `asc_delete_all_screenshots` - Clear an entire screenshot set\n\n---\n\n## ⚙️ Quick Start\n\n### 1. Generate App Store Connect API Keys\n1. Go to [App Store Connect > Users and Access > Keys](https://appstoreconnect.apple.com/access/api).\n2. Generate an **App Store Connect API Key** with **App Manager** or **Admin** access.\n3. Download the `.p8` file. You will also need the `Key ID` and `Issuer ID`.\n\n### 2. Installation\n\nClone this repository and build:\n```bash\ngit clone https://github.com/YOUR_USERNAME/asc-mcp-server.git\ncd asc-mcp-server\nnpm install\nnpm run build\n```\n\n### 3. Connect to Claude Code (or any MCP Client)\n\nUse the `claude mcp add` command to inject this server into your Claude environment:\n\n```bash\nclaude mcp add asc-mcp -- node /path/to/asc-mcp-server/dist/index.js\n```\n\nThen configure the environment variables in your Claude settings (`~/.claude/settings.json`):\n```json\n{\n  \"mcpServers\": {\n    \"asc-mcp\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/asc-mcp-server/dist/index.js\"],\n      \"env\": {\n        \"APP_STORE_CONNECT_KEY_ID\": \"YOUR_KEY_ID\",\n        \"APP_STORE_CONNECT_ISSUER_ID\": \"YOUR_ISSUER_ID\",\n        \"APP_STORE_CONNECT_P8_PATH\": \"/path/to/AuthKey_YOUR_KEY_ID.p8\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## 🤖 AI Workflow Examples\n\n### 1. New Release Pipeline\nJust 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.\"*\n\nThe AI will sequentially execute:\n`asc_list_builds` -> `asc_create_version` -> `asc_update_whats_new` -> `asc_assign_build` -> `asc_update_review_detail` -> `asc_submit_for_review`\n\n### 2. Handle Rejections\n*\"Why was our app rejected? Read the rejection reason, let me fix the code, then update the review notes explaining the fix and resubmit.\"*\n\n### 3. Quick TestFlight Push\n*\"Distribute the newest build to the 'Internal Testers' group and set the notes to 'Added dark mode'.\"*\n\n### 4. Triage Beta Feedback\n*\"What are TestFlight testers saying about the latest build? Summarize the crashes and complaints.\"*\n\nThe AI will call `asc_get_testflight_feedback` and summarize the screenshot + crash submissions for you.\n\n### 5. Auto-Generate Release Notes from Git\n*\"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.\"*\n\nThe 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`).\n\n### 6. ASO Keyword Refresh\n*\"Pull our current App Store keywords, research what's trending for our category, and update the keyword field with a stronger 100-character set.\"*\n\nThe AI calls `asc_get_version_localizations` to read the current keywords, then `asc_update_version_localization` to write the new ones back.\n\n### 7. Auto-Respond to Reviews\n*\"Reply to this week's 1 and 2-star reviews with a genuinely helpful, empathetic response.\"*\n\nThe AI calls `asc_list_customer_reviews`, drafts a reply per review, then posts each one with `asc_respond_to_review`.\n\n## 📄 License\nThis project is licensed under the MIT License - see the LICENSE file for details.\n",
  "bytes": 6836,
  "sha": "cf707752957b0e7cdf09d1b6e5b8a56a4e5f870eb7050b8495727a50e388759a",
  "repo_slug": "muhammetali/asc-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_muhammetali_asc_mcp_server_3d00ce21/readme"
}