joshuarileydev/app-store-connect-mcp-server

joshuarileydev/app-store-connect-mcp-server

от joshuarileydev
Управляет приложениями App Store Connect: аналитика продаж, бета-тестирование, обновление метаданных. Работает через официальное API Apple, без сторонних сервисов.

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.

Install MCP Server

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

Часто задаваемые вопросы

Инструменты были проиндексированы:
add_tester_to_group

Добавить нового тестера в бета-группу

Параметры
  • emailstringобязательный

    Адрес электронной почты тестировщика

  • firstNamestringобязательный

    В предоставленном контексте нет упоминания о тестировщике или его имени. Если вы имеете в виду конкретного человека, уточните, пожалуйста, о ком идёт речь.

  • groupIdstringобязательный

    ID бета-группы

  • lastNamestringобязательный

    I don't have any information about a tester's last name in our conversation. No tester has been mentioned in the previous exchanges, so I can't provide that information. If you're referring to something specific, please clarify what you're asking about.

create_analytics_report_request

Создаёт новый запрос на отчёт аналитики для приложения.

Параметры
  • accessTypeenum

    Тип доступа для отчёта аналитики (ONGOING для ежедневных данных, ONE_TIME_SNAPSHOT для исторических данных)

  • appIdstringобязательный

    Идентификатор приложения для генерации аналитических отчётов

create_app_store_version

Создать новую версию приложения в магазине приложений

Параметры
  • appIdstringобязательный

    ID приложения.

  • buildIdstring

    ID сборки для привязки к этой версии (необязательно)

  • copyrightstring

    Авторское право для этой версии (необязательно)

  • earliestReleaseDatestring

    Самая ранняя дата выпуска в формате ISO 8601 (обязательно, когда releaseType равен SCHEDULED)

  • platformenumобязательный

    Платформа для этой версии

  • releaseTypeenum

    Как следует выпускать приложение

  • versionStringstringобязательный

    Строка версии в формате X.Y или X.Y.Z (например, '1.0' или '1.0.0')

create_bundle_id

Зарегистрировать новый bundle ID для разработки приложений

Параметры
  • identifierstringобязательный

    Строка идентификатора пакета (например, 'com.example.app')

  • namestringобязательный

    Имя для bundle ID

  • platformenumобязательный

    Платформа для этого bundle ID

  • seedIdstring

    ID сида вашей команды (необязательно)

disable_bundle_capability

Отключить возможность для bundle ID

Параметры
  • capabilityIdstringобязательный

    Идентификатор отключаемой возможности.

download_analytics_report_segment

Скачать данные из URL сегмента аналитического отчета

Параметры
  • segmentUrlstringобязательный

    URL сегмента аналитического отчёта для скачивания

download_finance_report

Скачать финансовые отчеты для конкретного региона

Параметры
  • regionCodestringобязательный

    Код региона (например, 'Z1' для всего мира, 'WW' для Европы).

  • reportDatestringобязательный

    Укажите дату в формате ГГГГ-ММ (например, «2024-01»).

  • vendorNumberstring

    Ваш идентификатор продавца из App Store Connect (необязательно, если задан в виде переменной окружения)

download_sales_report

Скачивает отчёты о продажах и тенденциях.

Параметры
  • frequencyenum

    Частота отчета

  • reportDatestringобязательный

    Укажите дату в формате ГГГГ-ММ (например, «2024-01»).

  • reportSubTypeenum

    Подтип отчёта

  • reportTypeenum

    Тип отчета для скачивания

  • vendorNumberstring

    Ваш идентификатор продавца из App Store Connect (необязательно, если задан в виде переменной окружения)

enable_bundle_capability

Включить capability для bundle ID

Параметры
  • bundleIdIdstringобязательный

    Идентификатор bundle ID

  • capabilityTypeenumобязательный

    Тип включаемой возможности.

  • settingsobject[]

    Необязательные настройки возможностей

get_app_info

Получает подробную информацию о конкретном приложении.

Параметры
  • appIdstringобязательный

    Идентификатор приложения, для которого нужно получить информацию.

  • includeenum[]

    Необязательные связи для включения в ответ

get_app_store_version_localization

Получить подробную информацию о локализации конкретной версии в App Store

Параметры
  • localizationIdstringобязательный

    Идентификатор локализации версии в App Store

get_beta_feedback_screenshot

Получает подробную информацию о конкретной отправке скриншота бета-отзыва. По умолчанию загружает и возвращает изображение скриншота.

Параметры
  • downloadScreenshotboolean

    Скачивает и возвращает скриншот как изображение (по умолчанию: true)

  • feedbackIdstringобязательный

    ID отправки скриншота бета-отзыва

  • includeBuildsboolean

    Включите информацию о сборке в ответ (необязательно)

  • includeTestersboolean

    Включите информацию о тестере в ответ (необязательно)

get_bundle_id_info

Получить подробную информацию о конкретном bundle ID

Параметры
  • bundleIdIdstringобязательный

    Идентификатор пакета (bundle ID), для которого нужно получить информацию.

  • fieldsobject

    Конкретные поля, которые нужно включить в ответ.

  • includeenum[]

    Необязательные связи для включения в ответ

list_analytics_reports

Получить доступные аналитические отчёты для конкретного запроса отчёта

Параметры
  • filterobject
  • limitnumber

    Максимальное количество отчётов для возврата (по умолчанию: 100)

  • reportRequestIdstringобязательный

    Идентификатор запроса аналитического отчета.

list_analytics_report_segments

Получить сегменты для конкретного отчёта аналитики (содержит URL-адреса для скачивания)

Параметры
  • limitnumber

    Максимальное количество сегментов для возврата (по умолчанию: 100)

  • reportIdstringобязательный

    Идентификатор аналитического отчёта

list_apps

Получить список всех приложений в App Store Connect.

Параметры
  • limitnumber

    Максимальное количество возвращаемых приложений (по умолчанию: 100)

list_app_store_version_localizations

Получить все локализации для конкретной версии в магазине приложений

Параметры
  • appStoreVersionIdstringобязательный

    Идентификатор версии в магазине приложений

  • limitnumber

    Максимальное количество локализаций для возврата (по умолчанию: 100)

list_app_store_versions

Получить все версии в магазине приложений для конкретного приложения

Параметры
  • appIdstringобязательный

    ID приложения.

  • filterobject

    Необязательные фильтры для версий в App Store

  • limitnumber

    Максимальное количество возвращаемых версий (по умолчанию: 100)

list_beta_feedback_screenshots

Вывести список всех отправок скриншотов бета-отзывов для приложения. Сюда входят отзывы со скриншотами, информация об устройстве и комментарии тестировщиков. Вы можете идентифицировать приложение с помощью appId или bundleId.

Параметры
  • appIdstring

    ID приложения, для которого нужно получить отзыв (например, '6747745091')

  • appPlatformenum

    Фильтровать по платформе приложения (необязательно)

  • buildIdstring

    Фильтровать по конкретному идентификатору сборки (необязательно)

  • bundleIdstring

    Идентификатор пакета приложения (например, 'com.example.app'). Можно использовать вместо appId.

  • deviceModelstring

    Фильтровать по модели устройства (например, 'iPhone15_2') (необязательно)

  • devicePlatformenum

    Фильтр по платформе устройства (необязательно)

  • includeBuildsboolean

    Включите информацию о сборке в ответ (необязательно)

  • includeTestersboolean

    Включите информацию о тестере в ответ (необязательно)

  • limitnumber

    Максимальное количество элементов обратной связи для возврата (по умолчанию: 50, максимум: 200)

  • osVersionstring

    Фильтр по версии ОС (например, '18.4.1') (необязательно)

  • sortenum

    Порядок сортировки результатов (по умолчанию: -createdDate, сначала новые)

  • testerIdstring

    Отфильтровать по ID конкретного тестировщика (необязательно)

list_beta_groups

Получить список всех бета-групп (внутренних и внешних)

Параметры
  • limitnumber

    Максимальное количество групп для возврата (по умолчанию: 100)

list_bundle_ids

Находит и перечисляет идентификаторы пакетов, зарегистрированные в вашей команде.

Параметры
  • filterobject
  • includeenum[]

    Ресурсы, которые нужно включить в ответ

  • limitnumber

    Максимальное количество bundle ID для возврата (по умолчанию: 100, максимум: 200)

  • sortenum

    Порядок сортировки результатов

list_devices

Получает список всех устройств, зарегистрированных в вашей команде.

Параметры
  • fieldsobject
  • filterobject
  • limitnumber

    Максимальное количество устройств для возврата (по умолчанию: 100, максимум: 200)

  • sortenum

    Порядок сортировки результатов

list_group_testers

Получить список всех тестировщиков в конкретной бета-группе

Параметры
  • groupIdstringобязательный

    ID бета-группы

  • limitnumber

    Максимальное количество тестеров для возврата (по умолчанию: 100)

list_schemes

Вывести список всех доступных схем в проекте или рабочем пространстве Xcode.

Параметры
  • projectPathstringобязательный

    Путь к проекту Xcode (.xcodeproj) или рабочей области (.xcworkspace)

list_users

Получает список всех пользователей, зарегистрированных в вашей команде App Store Connect.

Параметры
  • filterobject
  • includeenum[]

    Ресурсы, которые нужно включить в ответ

  • limitnumber

    Максимальное количество возвращаемых пользователей (по умолчанию: 100, максимум: 200)

  • sortenum

    Порядок сортировки результатов

remove_tester_from_group

Удалить тестировщика из бета-группы

Параметры
  • groupIdstringобязательный

    ID бета-группы

  • testerIdstringобязательный

    Идентификатор бета-тестера

update_app_store_version_localization

Обновить конкретное поле в локализации версии в App Store

Параметры
  • fieldenumобязательный

    Поле для обновления

  • localizationIdstringобязательный

    Идентификатор локализации версии в App Store для обновления

  • valuestringобязательный

    Новое значение для поля

1.1.3основная
1.1.2
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0

Выберите клиент, чтобы установить joshuarileydev/app-store-connect-mcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6": {
      "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"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6": {
      "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"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6": {
      "type": "stdio",
      "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"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6\",\"type\":\"stdio\",\"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\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6": {
      "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"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6 --env APP_STORE_CONNECT_KEY_ID=YOUR_KEY_ID --env APP_STORE_CONNECT_ISSUER_ID=YOUR_ISSUER_ID --env APP_STORE_CONNECT_P8_PATH=/path/to/your/auth-key.p8 --env APP_STORE_CONNECT_VENDOR_NUMBER=YOUR_VENDOR_NUMBER_OPTIONAL -- npx -y appstore-connect-mcp-server

Либо через JSON-конфиг:

claude mcp add-json joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6 "{\"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\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6 --env APP_STORE_CONNECT_KEY_ID=YOUR_KEY_ID --env APP_STORE_CONNECT_ISSUER_ID=YOUR_ISSUER_ID --env APP_STORE_CONNECT_P8_PATH=/path/to/your/auth-key.p8 --env APP_STORE_CONNECT_VENDOR_NUMBER=YOUR_VENDOR_NUMBER_OPTIONAL -- npx -y appstore-connect-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6]
command = "npx"
args = ["-y", "appstore-connect-mcp-server"]

[mcp_servers.joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6.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"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите joshuarileydev/app-store-connect-mcp-server, а в поле команды запуска — строку ниже:
npx -y appstore-connect-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6": {
      "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"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6": {
      "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"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6
    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
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "joshuarileydev-app-store-connect-mcp-ser-a16eg2wdu6": {
      "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"
      }
    }
  }
}

Похожие MCP-сервера

alexanderclapp/clirank-mcp-server

alexanderclapp/clirank-mcp-server

от alexanderclapp

MCP сервер CLIRank для поиска и рекомендации API. Помогает Claude Code, Cursor и другим агентам находить актуальные API с ценами и документацией вместо догадок из памяти. Ускоряет интеграцию сторонних сервисов.

JavaScript⭐ 6
mikusnuz/cws-mcp

mikusnuz/cws-mcp

от mikusnuz

MCP сервер для управления расширениями в Chrome Web Store: загружает ZIP, публикует версии, проверяет статус ревью, настраивает staged rollout и обновляет метаданные. Упрощает CI/CD для разработчиков расширений Chrome.

TypeScript⭐ 4
jeannier/homebrew-mcp

jeannier/homebrew-mcp

от jeannier

Homebrew MCP сервер для macOS: управляйте пакетами через ИИ-агентов. Полный набор инструментов для установки, поиска, обновления и диагностики Homebrew. Интегрируется с Claude Desktop и Cursor. Для...

Python⭐ 30
ZeparHyfar/mcp-datetime

ZeparHyfar/mcp-datetime

от zeparhyfar

MCP сервер для получения текущей даты и времени в десятках форматов: от стандартных (ISO, дата/время) до японских, компактных и файловых (.md, .log). Интегрируется с Claude Desktop App — идеально для автоматизации задач с точными метками времени.

Python⭐ 31
mattijsdp/dbt-docs-mcp

mattijsdp/dbt-docs-mcp

от mattijsdp

MCP-сервер для работы с метаданными dbt-проекта: поиск моделей, источников, тестов, просмотр атрибутов узлов и отслеживание lineage как на уровне моделей, так и отдельных колонок. Помогает аналитик...

Python⭐ 23
lpigeon/ros-mcp-server

lpigeon/ros-mcp-server

от lpigeon

Управляет роботами на ROS без изменения их кода: читает топики, вызывает сервисы и действия, меняет параметры.

Python⭐ 1501
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин