STOMP——应用商店连接的MCP服务器
让Claude、Cursor、Windsurf和其他人工智能编码代理完全访问Apple App Store Connect API-162工具,涵盖每个主要端点。
](https://www.npmjs.com/package/@seriousmonster/app-store-connect-mcp) ](https://www.npmjs.com/package/@seriousmonster/app-store-connect-mcp)  ](https://github.com/SeriousMonster/stomp)
STOMP是什么?
STOMP是一个 模型上下文协议(MCP) 苹果应用商店连接API的服务器。它允许AI助手管理您的iOS、macOS、tvOS和visionOS应用程序——TestFlight、构建、应用内购买、订阅、app Store提交、分析、证书、配置文件、Game Center、Xcode Cloud、app Clips、沙盒测试、评论、截图、定价等。162个专用工具加上一个通用工具 api_request 任何尚未覆盖的端点的逃生口。
先决条件
- Node.js 18+
- 一 Apple开发者帐户 可以访问App Store Connect
- 一 App Store Connect API密钥 (.p8文件)具有适当的权限
获取API密钥
- 登录到…… App Store Connect
- 首选 用户与访问 > 集成 > 应用商店连接API
- 点击 生成API密钥 (或向您的账户持有人索取)
- 选择一个名称,并选择密钥应具有的角色/权限
- 点击 生成
- 下载.p8文件 --苹果只允许你下载一次,所以把它存放在安全的地方
- 注意 密钥ID 如表和 发行方ID 在页面的顶部——你需要两者都有
安装
全局安装:
npm install -g @seriousmonster/app-store-connect-mcp
或者直接运行而不安装:
npx @seriousmonster/app-store-connect-mcp
配置
STOMP需要三个环境变量:
| 变量 | 描述 |
|---|
APP_STORE_CONNECT_KEY_ID | 来自App Store Connect的密钥ID(例如。, ABC123DEFG) |
APP_STORE_CONNECT_ISSUER_ID | 发卡机构ID(UUID) |
APP_STORE_CONNECT_P8_PATH | .p8私钥文件的绝对路径(支持 ~) |
克劳德代码
claude mcp add app-store-connect \
-e APP_STORE_CONNECT_KEY_ID=YOUR_KEY_ID \
-e APP_STORE_CONNECT_ISSUER_ID=YOUR_ISSUER_ID \
-e APP_STORE_CONNECT_P8_PATH=~/.keys/AuthKey_YOUR_KEY_ID.p8 \
-- npx @seriousmonster/app-store-connect-mcp
光标
添加到光标MCP配置(~/.cursor/mcp.json):
{
"mcpServers": {
"app-store-connect": {
"command": "npx",
"args": ["@seriousmonster/app-store-connect-mcp"],
"env": {
"APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
"APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
"APP_STORE_CONNECT_P8_PATH": "~/.keys/AuthKey_YOUR_KEY_ID.p8"
}
}
}
}
通用MCP客户端
任何兼容MCP的客户端(Claude Desktop、Cline、Zed等)都可以运行STOMP。设置三个环境变量并运行 npx @seriousmonster/app-store-connect-mcp 作为服务器命令。
可用工具
应用
| 工具 | 说明 |
|---|
list_apps | 列出所有应用程序。按名称或捆绑包ID筛选 |
get_app | 按ID获取特定应用程序的详细信息 |
create_app | 在app Store Connect中创建新应用程序。 |
应用商店版本
| 工具 | 说明 |
|---|
list_app_store_versions | 列出应用程序的版本。按版本字符串、平台或状态筛选。 |
create_app_store_version | 创建新版本(设置版本字符串、平台、发布类型)。 |
update_app_store_version | 更新版本的字符串、版权、发布类型或计划日期。 |
本地化
| 工具 | 说明 |
|---|
list_version_localizations | 列出某个版本的所有本地化。 |
get_version_localization | 按ID获取特定的本地化 |
create_version_localization | 添加一个新的区域设置,包括描述、关键字、新增内容等。 |
update_version_localization | 更新现有本地化的元数据。 |
试飞(Beta)
| 工具 | 说明 |
|---|
list_beta_groups | 列出应用程序的测试组。 |
create_beta_group | 创建一个新的测试组。 |
delete_beta_group | 删除测试组。 |
list_beta_testers | 列出测试人员。按电子邮件、组或应用程序筛选。 |
create_beta_tester | 创建一个测试人员,并可选择分配到组。 |
add_tester_to_beta_group | 将测试人员添加到测试组。 |
remove_tester_from_beta_group | 从测试组中删除测试人员。 |
delete_beta_tester | 从所有组和应用程序中删除测试仪。 |
构建
| 工具 | 说明 |
|---|
list_builds | 应用程序的列表构建。按版本、状态或到期时间过滤。 |
add_build_to_beta_group | 将版本添加到TestFlight发行版的测试组中。 |
捆绑ID
| 工具 | 说明 |
|---|
list_bundle_ids | 列出已注册的捆绑包ID。按标识符、名称或平台筛选。 |
register_bundle_id | 注册新的捆绑包ID |
能力
| 工具 | 说明 |
|---|
list_bundle_id_capabilities | 列出为捆绑包ID启用的功能 |
enable_bundle_id_capability | 启用功能(推送通知、使用Apple登录等)。 |
disable_bundle_id_capability | 禁用功能。 |
提交
| 工具 | 说明 |
|---|
create_app_store_version_submission | 提交一个版本以供应用程序审查。 |
用户和设备
| 工具 | 说明 |
|---|
list_users | 列出您的App Store Connect团队中的用户。按角色或用户名筛选。 |
list_devices | 列出已注册的设备。按名称、平台、状态或UDID筛选。 |
评论
| 工具 | 说明 |
|---|
list_customer_reviews | 列出应用程序的客户评论。排序和筛选。 |
get_customer_review | 获得具体的评论和回复。 |
create_review_response | 回复客户评论。 |
update_review_response | 更新审查回复。 |
delete_review_response | 删除评论回复。 |
屏幕截图和预览
| 工具 | 说明 |
|---|
list_screenshot_sets | 列出本地化的屏幕截图集。 |
create_screenshot_set | 为显示类型创建屏幕截图集。 |
delete_screenshot_set | 删除屏幕截图集。 |
list_screenshots | 列出一组截图。 |
create_screenshot | 启动屏幕截图上传。 |
delete_screenshot | 删除屏幕截图。 |
list_preview_sets | 列出本地化的应用程序预览集。 |
create_preview_set | 创建应用程序预览集。 |
delete_preview_set | 删除预览集。 |
list_previews | 在一组中列出预览。 |
create_preview | 启动预览视频上传。 |
delete_preview | 删除预览。 |
分析和报告
| 工具 | 说明 |
|---|
create_analytics_report_request | 请求生成分析报告。 |
list_analytics_report_requests | 列出应用程序的报告请求。 |
get_analytics_report_request | 获取包含报告的报告请求。 |
list_analytics_reports | 列出请求的报告。按类别筛选。 |
list_analytics_report_instances | 列出报告实例。按日期和粒度过滤。 |
list_analytics_report_segments | 列出报表实例的数据段。 |
定价和地区
| 工具 | 说明 |
|---|
list_app_price_points | 按地区列出应用程序的价格点。 |
get_app_price_schedule | 获取应用程序的价格表。 |
list_territories | 列出所有App Store区域。 |
试飞(高级)
| 工具 | 说明 |
|---|
list_beta_app_localizations | 列出每个地区的TestFlight应用程序描述。 |
create_beta_app_localization | 创建TestFlight应用程序本地化。 |
update_beta_app_localization | 更新TestFlight应用程序本地化。 |
list_beta_build_localizations | 为构建列出每个区域设置的“测试内容”。 |
create_beta_build_localization | 为构建创建“要测试什么”。 |
update_beta_build_localization | 更新构建的“要测试什么”。 |
submit_build_for_beta_review | 提交构建以供测试版应用程序审查。 |
get_beta_app_review_detail | 获取测试版评论联系信息和演示帐户。 |
update_beta_app_review_detail | 更新测试版审核详细信息。 |
证书和简介
| 工具 | 说明 |
|---|
list_certificates | 列出签名证书。 |
get_certificate | 获取特定证书。 |
create_certificate | 从CSR创建签名证书。 |
revoke_certificate | 撤销签名证书。 |
list_profiles | 列出配置配置文件。 |
get_profile | 获取包含相关资源的配置文件。 |
create_profile | 创建配置文件。 |
delete_profile | 删除配置文件。 |
应用程序信息和类别
| 工具 | 说明 |
|---|
list_app_infos | 列出带有本地化和类别的应用程序信息记录。 |
get_app_info | 通过本地化获取应用程序信息。 |
update_app_info | 更新应用程序类别。 |
list_app_info_localizations | 列出应用程序信息本地化。 |
update_app_info_localization | 更新名称、副标题、隐私政策URL |
list_app_categories | 列出所有App Store类别。 |
list_age_rating_declarations | 获取年龄评级声明。 |
update_age_rating_declaration | 更新年龄分级内容描述。 |
分阶段发布
| 工具 | 说明 |
|---|
get_phased_release | 获取版本的分阶段发布状态。 |
create_phased_release | 开始分阶段发布。 |
update_phased_release | 暂停、恢复或完成分阶段发布。 |
delete_phased_release | 删除分阶段发布(全面推出)。 |
create_version_release_request | 手动发布版本。 |
应用内购买
| 工具 | 说明 |
|---|
list_in_app_purchases | 列出应用程序的应用内购买。 |
get_in_app_purchase | 获取应用内购买详细信息。 |
create_in_app_purchase | 创建新的应用内购买。 |
update_in_app_purchase | 更新应用内购买。 |
delete_in_app_purchase | 删除应用内购买。 |
list_iap_localizations | 列出IAP的本地化。 |
create_iap_localization | 创建IAP本地化。 |
update_iap_localization | 更新IAP本地化。 |
delete_iap_localization | 删除IAP本地化。 |
list_iap_price_points | 列出IAP的价格点。 |
submit_iap_for_review | 提交IAP以供审核。 |
订阅
| 工具 | 说明 |
|---|
list_subscription_groups | 列出应用程序的订阅组。 |
create_subscription_group | 创建订阅组。 |
get_subscription_group | 获取订阅组详细信息。 |
list_subscriptions | 列出组中的订阅。 |
create_subscription | 创建订阅。 |
update_subscription | 更新订阅。 |
delete_subscription | 删除订阅。 |
list_subscription_localizations | 列出订阅本地化。 |
create_subscription_localization | 创建订阅本地化。 |
update_subscription_localization | 更新订阅本地化。 |
delete_subscription_localization | 删除订阅本地化。 |
list_subscription_prices | 列出订阅价格。 |
list_subscription_price_points | 列出订阅的价格点。 |
create_subscription_introductory_offer | 创建一个介绍性报价。 |
submit_subscription_group | 提交订阅组以供审核。 |
游戏中心
| 工具 | 说明 |
|---|
get_game_center_detail | 获取应用程序的Game Center配置。 |
list_game_center_leaderboards | 列出排行榜。 |
create_game_center_leaderboard | 创建排行榜。 |
update_game_center_leaderboard | 更新排行榜。 |
delete_game_center_leaderboard | 删除排行榜。 |
list_game_center_achievements | 列出成就。 |
create_game_center_achievement | 创造成就。 |
update_game_center_achievement | 更新成就。 |
delete_game_center_achievement | 删除成就。 |
list_game_center_leaderboard_sets | 列出排行榜集。 |
create_game_center_leaderboard_set | 创建排行榜集。 |
delete_game_center_leaderboard_set | 删除排行榜集。 |
list_game_center_groups | 列出游戏中心组。 |
create_game_center_group | 创建Game Center组。 |
Xcode云
| 工具 | 说明 |
|---|
list_ci_products | 列出Xcode Cloud产品。 |
get_ci_product | 获取具有相关资源的CI产品。 |
list_ci_workflows | 列出产品的工作流。 |
get_ci_workflow | 获取工作流详细信息。 |
list_ci_build_runs | 工作流的列表构建运行。 |
get_ci_build_run | 获取构建运行详细信息。 |
start_ci_build_run | 开始新的构建运行。 |
list_ci_build_actions | 列出构建运行中的操作。 |
list_ci_artifacts | 列出构建操作中的工件。 |
list_ci_test_results | 列出生成操作的测试结果。 |
list_ci_issues | 列出构建操作中的问题。 |
list_ci_mac_os_versions | 列出可用的macOS版本。 |
list_ci_xcode_versions | 列出可用的Xcode版本。 |
应用程序剪辑
| 工具 | 说明 |
|---|
list_app_clips | 列出应用程序的应用程序剪辑。 |
get_app_clip | 获取应用剪辑详细信息。 |
list_app_clip_default_experiences | 列出应用剪辑的默认体验。 |
create_app_clip_default_experience | 创建默认的App Clip体验。 |
update_app_clip_default_experience | 更新App Clip体验。 |
delete_app_clip_default_experience | 删除应用剪辑体验。 |
沙箱测试
| 工具 | 说明 |
|---|
list_sandbox_testers | 列出沙盒测试人员帐户。 |
update_sandbox_tester | 更新沙盒测试器设置。 |
clear_sandbox_tester_purchase_history | 为沙盒测试人员清除购买历史记录。 |
合规与法律
| 工具 | 说明 |
|---|
list_app_encryption_declarations | 列出加密声明。 |
create_app_encryption_declaration | 创建加密声明。 |
get_app_encryption_declaration | 获取加密声明。 |
list_eulas | 获取应用程序的EULA。 |
create_eula | 创建自定义EULA。 |
update_eula | 更新EULA。 |
delete_eula | 删除自定义EULA。 |
应用程序事件
| 工具 | 说明 |
|---|
list_app_events | 列出应用内事件。 |
create_app_event | 创建应用内事件。 |
update_app_event | 更新应用内事件。 |
delete_app_event | 删除应用内事件。 |
list_app_event_localizations | 列出事件本地化。 |
create_app_event_localization | 创建事件本地化。 |
update_app_event_localization | 更新事件本地化。 |
delete_app_event_localization | 删除事件本地化。 |
通用的
| 工具 | 说明 |
|---|
api_request | 向任何App Store Connect API终结点发出任意请求。 |
这 api_request 逃生口
162个专用工具涵盖了App Store Connect API的绝大多数,但苹果的API表面是巨大的。这 api_request 该工具允许您直接访问任何尚未配备专用工具的端点。
您提供:
- 方法 --
GET, POST, PATCH,或 DELETE - 路径 --API路径,例如。
/v1/apps, /v2/inAppPurchases/{id} - 参数 (可选)--查询参数作为键值对
- 身体 (可选)——POST/PATCH请求的JSON字符串,遵循Apple的JSON:API格式
身份验证是自动处理的。参见 苹果API文档 对于可用的端点和请求格式。
许可证
麻省理工学院