ClaudeCodeMod

All shelves / MCP servers

App Store Connect

joshuarileydev/app-store-connect-mcp-server · 322 stars · TypeScript · MIT

MCP server A Model Context Protocol (MCP) server for interacting with the App Store Connect API. This server provides tools for managing apps, beta testers, bundle IDs, devices, app metadata, and capabilities in App Store Connect.

Install

In your shell
npx @smithery/cli install appstore-connect-mcp-server --client claude

These repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.

Open the repo

Files

README.md

App Store Connect MCP Server

A Model Context Protocol (MCP) server for interacting with the App Store Connect API. This server provides tools for managing apps, beta testers, bundle IDs, devices, app metadata, and capabilities in App Store Connect.

Overview

The App Store Connect MCP Server is a comprehensive tool that bridges the gap between AI and Apple's App Store Connect ecosystem. Built on the Model Context Protocol (MCP), this server enables developers to interact with their App Store Connect data directly through conversational AI, making app management, beta testing, and analytics more accessible than ever.

Key Benefits:

  • 🤖 AI-Powered App Management: Use natural language to manage your iOS and macOS apps
  • 📊 Comprehensive Analytics: Access detailed app performance, sales, and user engagement data
  • 👥 Streamlined Beta Testing: Efficiently manage beta groups and testers
  • 🌍 Localization Management: Update app descriptions, keywords, and metadata across all languages
  • 🔧 Developer Tools Integration: List Xcode project schemes and integrate with development workflows
  • 🔐 Secure Authentication: Uses official App Store Connect API with JWT authentication
  • 🚀 Real-time Data: Access up-to-date information directly from Apple's systems

Who This Is For:

  • iOS/macOS developers managing apps in App Store Connect
  • Development teams coordinating beta testing programs
  • Product managers analyzing app performance and user engagement
  • Marketing teams managing app metadata and localizations
  • DevOps engineers automating app store workflows
  • Anyone looking to streamline their Apple developer experience

This server transforms complex App Store Connect operations into simple conversational commands, whether you're checking app analytics, managing beta testers, updating app descriptions, or exploring your development pipeline.

Features

  • App Management
  • List all apps
  • Get detailed app information
  • View app metadata and relationships
  • Beta Testing
  • List beta groups
  • List beta testers
  • Add/remove testers from groups
  • Manage beta test configurations
  • View beta feedback with screenshots and device information
  • App Store Version Localizations ✨ NEW
  • Create new app store versions with release scheduling
  • List all app store versions for an app
  • List all localizations for an app version
  • Get specific localization details
  • Update app descriptions, keywords, and promotional text
  • Manage marketing and support URLs
  • Update "What's New" text for releases
  • Bundle ID Management
  • List bundle IDs
  • Create new bundle IDs
  • Get bundle ID details
  • Enable/disable capabilities
  • Device Management
  • List registered devices
  • Filter by device type, platform, status
  • View device details
  • User Management
  • List team members
  • View user roles and permissions
  • Filter users by role and access
  • Analytics & Reports
  • Create analytics report requests for apps
  • Download App Store engagement, commerce, and usage analytics
  • Access performance and frameworks usage reports
  • Download sales and trends reports (daily, weekly, monthly, yearly)
  • Download finance reports by region
  • Xcode Development Tools
  • List available schemes in Xcode projects and workspaces
  • Integrate with development workflows and CI/CD pipelines

Installation

Using Smithery

To install App Store Connect Server for Claude Desktop automatically:

npx @smithery/cli install appstore-connect-mcp-server --client claude

Manual Installation

npm install @joshuarileydev/app-store-connect-mcp-server

Configuration

Add the following to your Claude Desktop configuration file:

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "app-store-connect": {
      "command": "npx",
      "args": [
        "-y",
        "appstore-connect-mcp-server"
      ],
      "env": {
        "APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
        "APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
        "APP_STORE_CONNECT_P8_PATH": "/path/to/your/auth-key.p8",
        "APP_STORE_CONNECT_VENDOR_NUMBER": "YOUR_VENDOR_NUMBER_OPTIONAL"
      }
    }
  }
}

Authentication

Required Configuration

  1. Generate an App Store Connect API Key from App Store Connect
  2. Download the .p8 private key file
  3. Note your Key ID and Issuer ID
  4. Set the required environment variables in your configuration:
  • APP_STORE_CONNECT_KEY_ID: Your API Key ID
  • APP_STORE_CONNECT_ISSUER_ID: Your Issuer ID
  • APP_STORE_CONNECT_P8_PATH: Path to your .p8 private key file

Optional Configuration for Sales & Finance Reports

To enable sales and finance reporting tools, you'll also need:

  • APP_STORE_CONNECT_VENDOR_NUMBER: Your vendor number from App Store Connect

Note: Sales and finance report tools (download_sales_report, download_finance_report) will only be available if the vendor number is configured. You can find your vendor number in App Store Connect under "Sales and Trends" or "Payments and Financial Reports".

Complete Tool Reference

📱 App Management Tools

#### list_apps Get a list of all apps in App Store Connect.

Parameters:

  • limit (optional): Maximum number of apps to return (default: 100, max: 200)
  • bundleId (optional): Filter by bundle identifier

Example:

"List all my apps"
"Show me apps with bundle ID com.example.myapp"
"Get the first 50 apps"

#### get_app_info Get detailed information about a specific app.

Parameters:

  • appId (required): The ID of the app
  • include (optional): Related resources to include (e.g., appClips, appInfos, appStoreVersions, betaGroups, builds)

Example:

"Get info for app ID 123456789"
"Show me app 123456789 with beta groups and builds"
"Get detailed information about my app including app store versions"

👥 Beta Testing Tools

#### list_beta_groups List all beta testing groups (internal and external).

Parameters:

  • limit (optional): Maximum number of groups to return (default: 100, max: 200)
  • appId (optional): Filter by app ID

Example:

"Show all beta groups"
"List beta groups for app 123456789"
"Get the first 20 beta groups"

#### list_group_testers List testers in a specific beta group.

Parameters:

  • groupId (required): The ID of the beta group
  • limit (optional): Maximum number of testers to return (default: 100, max: 200)

Example:

"List all testers in group ABC123"
"Show me the first 50 testers in beta group ABC123"

#### add_tester_to_group Add a new tester to a beta group.

Parameters:

  • groupId (required): The ID of the beta group
  • email (required): Email address of the tester
  • firstName (optional): Tester's first name
  • lastName (optional): Tester's last name

Example:

"Add john@example.com to beta group ABC123"
"Add John Smith (john@example.com) to group ABC123"

#### remove_tester_from_group Remove a tester from a beta group.

Parameters:

  • groupId (required): The ID of the beta group
  • testerId (required): The ID of the tester

Example:

"Remove tester XYZ789 from group ABC123"
"Delete tester XYZ789 from beta group ABC123"

#### list_beta_feedback_screenshots List beta feedback screenshot submissions.

Parameters:

  • appId (optional): Filter by app ID
  • bundleId (optional): Filter by bundle identifier
  • buildId (optional): Filter by build ID
  • limit (optional): Maximum results (default: 100)
  • includeBuilds (optional): Include build information
  • includeTesters (optional): Include tester information

Example:

"Show beta feedback screenshots for app 123456789"
"List feedback screenshots for bundle ID com.example.app"
"Get feedback with tester info for build XYZ"

#### get_beta_feedback_screenshot Get detailed information about a specific beta feedback screenshot.

Parameters:

  • feedbackId (required): The ID of the feedback
  • includeBuilds (optional): Include build information
  • includeTesters (optional): Include tester information
  • downloadScreenshot (optional): Download the screenshot image (default: true)

Example:

"Get feedback screenshot FEEDBACK123"
"Show me feedback FEEDBACK123 with tester details"
"Download screenshot from feedback FEEDBACK123"

Facts

Kind
MCP server
Repo
joshuarileydev/app-store-connect-mcp-server
Group
Uncategorized
Stars
322
License
MIT
Language
TypeScript
Last push
2025-09-02
Forks
57

More on this shelf

  1. 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  2. 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
  3. 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
  4. 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
  5. 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
  6. 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k