使用说明
STOMP——应用商店连接的MCP服务器
让Claude、Cursor、Windsurf和其他人工智能编码代理完全访问Apple App Store Connect API-一套精简的日常工具和通用工具 api_request 到达每个终点的逃生舱。
STOMP是什么?
STOMP是一个 模型上下文协议(MCP) 苹果应用商店连接API的服务器。它允许AI助手管理您的iOS、macOS、tvOS和visionOS应用程序——TestFlight、构建、版本、App Store提交、评论、应用内购买和订阅。
STOMP故意运送 小型、高信号的日常工具集 而不是每个端点一个包装器。每个注册的工具都会花费上下文(整个会话都加载其名称、描述和完整的输入模式)并稀释工具选择,因此API的长尾由单个泛型处理 api_request 可以到达的工具 任何 App Store Connect端点——分析、证书、配置文件、Game Center、Xcode Cloud、App Clips、沙盒测试、定价、屏幕截图和其他一切。你不会失去任何能力;你只需停止为你很少调用的140个工具模式付费。
先决条件
- 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 代码
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 作为服务器命令。
可用工具
STOMP为日常应用程序生命周期注册了一套专门的工具。此处未列出的任何内容都可以通过以下方式访问 api_request.
应用
| 工具 | 说明 |
|---|---|
list_apps |
列出所有应用程序。按名称或捆绑包ID筛选 |
get_app |
按ID获取特定应用程序的详细信息 |
应用商店版本
| 工具 | 说明 |
|---|---|
list_app_store_versions |
列出应用程序的版本。按版本字符串、平台或状态筛选。 |
create_app_store_version |
创建新版本(设置版本字符串、平台、发布类型)。 |
本地化
| 工具 | 说明 |
|---|---|
list_version_localizations |
列出某个版本的所有本地化。 |
update_version_localization |
更新本地化的描述、关键字、最新动态、促销文本、网址 |
试飞
| 工具 | 说明 |
|---|---|
list_beta_groups |
列出应用程序的测试组。 |
create_beta_group |
创建一个新的测试组。 |
add_tester_to_beta_group |
将测试人员添加到测试组。 |
remove_tester_from_beta_group |
从测试组中删除测试人员。 |
submit_build_for_beta_review |
提交构建以供TestFlight测试版审查。 |
构建
| 工具 | 说明 |
|---|---|
list_builds |
应用程序的列表构建。按版本、状态或到期时间过滤。 |
add_build_to_beta_group |
将版本添加到TestFlight发行版的测试组中。 |
提交
| 工具 | 说明 |
|---|---|
create_app_store_version_submission |
提交一个版本以供应用程序审查。 |
评论
| 工具 | 说明 |
|---|---|
list_customer_reviews |
列出应用程序的客户评论。排序和筛选。 |
create_review_response |
回复客户评论。 |
货币化(阅读)
| 工具 | 说明 |
|---|---|
list_in_app_purchases |
列出应用程序的应用内购买。 |
list_subscription_groups |
列出订阅组(包括 subscriptions 对于整个结构)。 |
list_subscriptions |
列出订阅组中的订阅。 |
通用的
| 工具 | 说明 |
|---|---|
api_request |
向任何App Store Connect API终结点发出任意请求。 |
这 api_request 安全舱口
这些专用工具涵盖了日常工作流程,但苹果的API表面是巨大的-证书、供应配置文件、定价、分析、Game Center、Xcode Cloud、应用程序剪辑、沙盒测试、应用内购买和订阅创作、屏幕截图、应用程序事件等等。STOMP没有为每个工具提供一个工具(并为每个工具支付上下文成本),而是公开了一个 api_request 可以击中的工具 任何 端点直接。
您提供:
- 方法 --
GET,POST,PATCH,或DELETE - 路径 --API路径,例如。
/v1/apps,/v2/inAppPurchases/{id} - 参数 (可选)--查询参数作为键值对
- 身体 (可选)——POST/PATCH请求的JSON字符串,遵循Apple的JSON:API格式
身份验证是自动处理的。参见 苹果API文档 对于可用的端点和请求格式。
许可证
麻省理工学院
