关于 app-store-connect-mcp
这是用于查询 App Store Connect 数据和管理 Xcode Cloud 构建的 MCP 服务。模块化工具覆盖评论、TestFlight 崩溃、分析报告及构建结果,并依据 Apple 的 OpenAPI 规范生成模型。
主要功能
- 01列出、搜索和查看评论
- 02查询 TestFlight 崩溃及日志
- 03获取分析报告并下载数据
- 04管理 Xcode Cloud 构建和测试结果
- 05根据 OpenAPI 生成 API 模型
适用场景
- 01按评分或版本查看客户反馈
- 02检查测试版崩溃报告和日志
- 03将应用分析数据下载为 TSV
- 04启动构建并检查结果
MCP 相关
通过 stdio 向兼容 MCP 的客户端提供 App Store Connect 和 Xcode Cloud 操作工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx app-store-connect-mcpAPP_STORE_KEY_ID密钥App Store Connect API Key IDAPP_STORE_ISSUER_ID密钥App Store Connect Issuer IDAPP_STORE_PRIVATE_KEY_PATH密钥Path to the .p8 private key file for App Store Connect authenticationAPP_STORE_APP_IDDefault App ID for operations (optional)APP_STORE_KEY_TYPE密钥Key type: 'team' or 'individual' (defaults to 'team')APP_STORE_SCOPEComma-separated list of OAuth scopes (optional)APP_STORE_SUBJECTSubject for individual keys (optional)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
App Store Connect MCP 服务
与 App Store Connect 交流,管理你的应用。采用模块化工具、异步 I/O 和 OpenAPI 驱动的类型定义,让你的 Agent 随着 Apple 的发展始终保持准确。
有何不同
- 感知规范:字段和枚举在运行时根据 Apple 的 OpenAPI 规范生成,减少规范偏差和意外中断。
- 默认快速:异步
httpx客户端、服务端筛选和智能分页,让负载保持精简。 - 智能筛选:支持服务端和客户端筛选,并提供可链式调用的筛选引擎,以处理复杂查询。
- 模块化领域:工具架构和处理程序清晰分离;无需修改核心即可添加新领域;针对大模型的发现和使用进行了优化
- 原生支持 MCP:Stdio 传输、能力声明和工具连接方式均符合官方 SDK python‑sdk README。
安装
从 PyPI 安装
pip install app-store-connect-mcp
从源码安装
git clone https://github.com/gjeltep/app-store-connect-mcp.git
cd app-store-connect-mcp
uv pip install -e ".[dev]"
配置
设置以下环境变量:
# Required
export APP_STORE_KEY_ID="YOUR_KEY_ID"
export APP_STORE_ISSUER_ID="YOUR_ISSUER_ID"
export APP_STORE_PRIVATE_KEY_PATH="/path/to/AuthKey_XXXXX.p8"
# Optional
export APP_STORE_APP_ID="YOUR_APP_ID"
export APP_STORE_KEY_TYPE="team" # or "individual"
使用
设置环境变量后运行(推荐):
app-store-connect-mcp
也可以在开发期间使用 .env 文件:
# Copy and configure .env file
cp .env.example .env
# Edit .env with your credentials
# Run with --env-file flag
app-store-connect-mcp-dev --env-file .env
# Validate configuration without starting server
app-store-connect-mcp-dev --env-file .env --validate-only
可与任何兼容 MCP 的客户端配合使用;服务会公布工具,并通过 stdio 处理调用。
生成或更新 API 模型
模型由 Apple 官方 OpenAPI 规范生成(自动从 Apple 的开发者网站获取)。
你可以使用 APP_STORE_CONNECT_OPENAPI_URL 指定本地 JSON 文件,覆盖默认来源。
uv pip install -e .[dev]
python scripts/generate_models.py
开发
有关开发环境设置、测试和贡献指南,请参阅 CONTRIBUTING.md。
工具
工具采用以资源为优先的命名约定(resource.verb),并附带类别标签以便发现。
应用工具
- reviews.list:使用筛选条件(
rating、territory、appStoreVersion)列出客户评价。 - reviews.search:高级搜索,支持评分范围、地区匹配、日期范围和内容搜索。
- reviews.get:获取评价的详细信息。
TestFlight 工具
- crashes.list:使用筛选条件(
device_model、os_version、app_platform、device_platform、build_id、tester_id)列出测试者提交的崩溃报告。 - crashes.search:高级搜索,支持:
- 服务端筛选(
appPlatform、deviceModel、osVersion) - 后置筛选:操作系统版本范围(最小值/最大值)、设备型号子字符串(例如“iPhone 15”)和日期范围(
created_since_days、created_after、created_before)。
- 服务端筛选(
- crashes.get_by_id:获取特定崩溃报告的详细信息。
- crashes.get_log:获取特定提交的原始崩溃日志文本。
分析工具
请求:
- analytics_report_requests.list:列出应用的分析报告请求,支持按
access_type筛选。 - report_requests.create:为指定指标和时间范围创建新的分析报告请求。
- report_requests.get:获取特定分析报告请求的详细信息。
报告:
- report_requests.list_reports:列出请求中的可用报告,支持按
name、category筛选。 - reports.get:获取特定分析报告的信息。
- reports.list_instances:列出报告实例,支持按
granularity、processing_date筛选。 - report_instances.get:获取特定报告实例的详细信息。
分段:
- report_instances.list_segments:列出报告实例的数据分段。
- report_segments.get:获取分段下载信息(校验和、URL、大小)。
- report_instances.download_data:将分析报告数据下载为 TSV 文件。
Xcode Cloud 工具
产品和工作流:
- products.list:列出所有 Xcode Cloud 产品,支持按
product_type筛选。 - products.get:获取特定产品的详细信息。
- workflows.list:列出产品的工作流,支持按
is_enabled筛选。 - workflows.get:获取工作流的详细信息(注意:出于安全考虑,不支持创建、更新和删除操作)。
构建:
- builds.list:列出产品或工作流的构建,支持按
execution_progress、completion_status、is_pull_request_build筛选。 - builds.get:获取构建的详细信息,包括状态、耗时和问题数量。
- builds.start:为工作流启动新构建,可选指定分支/标签或拉取请求。
构建产物和结果:
- artifacts.list:列出构建中可下载的产物。
- issues.list:列出构建或工作流中的问题(错误、警告)。
- test_results.list:列出测试结果,包括状态、耗时和失败消息。
SCM 集成:
- scm_providers.list:列出已配置的 SCM 提供商(GitHub、GitLab、Bitbucket)。
- repositories.list:列出 SCM 提供商的 Git 仓库。
- pull_requests.list:列出仓库的拉取请求。
- git_references.list:列出仓库的分支和标签。
架构
graph TD
%% Entry Point
subgraph "Entry Point"
SERVER[server.py<br/>MCP stdio server]
end
%% Domain Implementations
subgraph "Domain Handlers"
TESTFLIGHT[testflight/handlers.py<br/>TestFlight crash<br/>management]
APP[app/handlers.py<br/>App Store review<br/>management]
ANALYTICS[analytics/handlers.py<br/>Analytics report<br/>management]
XCODE_CLOUD[xcode_cloud/handlers.py<br/>Xcode Cloud CI/CD<br/>management]
end
%% Core Architecture
subgraph "Core Components"
subgraph "Core Framework"
PROTOCOLS[protocols.py<br/>Abstract interfaces]
BASE_HANDLER[base_handler.py<br/>Abstract base class]
QUERY_BUILDER[query_builder.py<br/>Fluent query construction]
FILTERS[filters.py<br/>Chainable filter engine]
RESPONSE_HANDLER[response_handler.py<br/>API response processing]
CONTAINER[container.py<br/>Dependency injection]
ERRORS[errors.py<br/>Structured error handling]
end
subgraph "API Layer"
ASC_CLIENT[app_store_connect.py<br/>App Store Connect client<br/>with JWT auth]
HTTP_CLIENT[http_client.py<br/>Base HTTP client]
MODELS[app_store_connect_models.py<br/>Auto-generated Pydantic<br/>models from OpenAPI spec]
end
subgraph "Data & Tools"
OPENAPI[app_store_connect_api_openapi.json<br/>Apple's OpenAPI spec]
GENERATE_SCRIPT[scripts/generate_models.py<br/>Model generation script]
end
end
%% Vertical Stack Relationships
SERVER -->|"routes to"| ANALYTICS
ANALYTICS -->|"uses"| ASC_CLIENT
%% Styling
classDef entry fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef core fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef domain fill:#fce4ec,stroke:#880e4f,stroke-width:2px
class SERVER entry
class PROTOCOLS,BASE_HANDLER,QUERY_BUILDER,FILTERS,RESPONSE_HANDLER,CONTAINER,ERRORS,ASC_CLIENT,HTTP_CLIENT,MODELS,OPENAPI,GENERATE_SCRIPT core
class TESTFLIGHT,APP,ANALYTICS,XCODE_CLOUD domain
致谢
基于官方 Model Context Protocol Python SDK 构建——请参阅 python‑sdk README 中的文档和示例。
如需参与,请参阅 CONTRIBUTING.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。