内容
# Heimdall — App Store Connect MCP
[](https://www.npmjs.com/package/@erayendes/asc-mcp)
[](LICENSE)
[](package.json)
[](https://www.patreon.com/cw/erayendes/membership)
[](https://buymeacoffee.com/erayendes)
🇬🇧 [English](#english) · 🇹🇷 [Türkçe](#türkçe)
##
从您的 AI 客户端管理整个 App Store Connect 账户:应用和元数据、版本和分阶段发布、TestFlight、订阅和应用内购买、定价、评论、Game Center、Xcode Cloud、配置、Webhooks 以及销售和财务报告。
**Heimdall** 是 **App Store Connect API** 和 **App Store Server API (StoreKit 2)** 的 MCP 服务器,所有工具均从 Apple 自己的 OpenAPI 规范生成。这使得其覆盖范围完整 —— **17 个领域,982 个操作** —— 这是 Heimdall 的与众不同之处:其他服务器包装了 API 的精选部分,而 Heimdall 提供所有内容,并允许您随时添加或删除工具。
> 命名为守卫者,守护着每个领域,守护着门户。npm 包(`@erayendes/asc-mcp`)和命令(`asc-mcp`)保留其名称;Heimdall 是项目名称。
### 快速开始
```bash
npx -y @erayendes/asc-mcp setup
```
设置向导收集您的 API 密钥一次,安全存储,并注册您选择的配置文件。完整的操作指南请参阅 [指南](docs/GUIDE.md)。
> [!NOTE]
> **通过 AI 代理安装?** 请参阅 [AGENTS.md](AGENTS.md) 获取移交协议:代理注册服务器,然后您自己运行 `setup` —— 您的私钥从不通过聊天。
### 为什么与众不同
大多数 App Store Connect MCP 服务器包装了精选的 API 端点子集。在您需要未被包装的端点之前,这可以正常工作。Heimdall 采取相反的方法:
| | |
|:--|:--|
| **完整** | 从 Apple 的 OpenAPI 规范 v4.4.1 生成 —— 所有 966 个路径,**982 个操作**。不是精选的子集。 |
| **当前** | `npm run spec:update && npm run generate` 捕获 Apple 的更改为可审查的差异。 |
| **范围** | 11 个特定于目的的配置文件和 `--domains` 标志。仅加载项目所需的內容,以免大型工具集让您的客户端不堪重负。 |
| **StoreKit 2** | 包括 App Store Server API(客户交易、权利、退款)—— 在 ASC MCP 服务器中很少见。 |
| **安全** | `--read-only` 模式、破坏性操作注释、主机固定请求、无遥测。 |
| **自我描述** | 向服务器询问它能做什么 —— `asc__discover_domains` 和 `asc__search_tools` 回答,并指向一个工具,即使它未加载。 |
| **客户端无关** | 标准 MCP 通过 stdio —— 与 Claude Code、Claude Desktop、Codex、Antigravity、Cursor 和任何其他 MCP 客户端一起工作。 |
| **默认私有** | 在 macOS 上,`.p8` 密钥位于 Keychain 中,而不在于纯文本配置中。 |
### 配置文件
一个安装支持十一小特定于目的的 MCP 服务器。仅注册项目使用的区域 —— 收入项目加载 `analytics` + `marketing`;游戏添加 `game-center`。
| 配置文件 | 工具 | 涵盖 |
|:--|:--|:--|
| **app-info** | 115 | 名称、包 ID、可用性、加密声明 |
| **distribution** | 138 | App Store 版本、审核提交、分阶段发布、上传的构建 |
| **user-management** | 95 | TestFlight 测试分发、团队成员、沙盒测试账户 |
| **monetization** | 180 | 订阅、应用内购买、优惠、定价、StoreKit 2 交易 |
| **marketing** | 73 | 屏幕截图、预览、自定义产品页面、应用内事件、客户评论 |
| **analytics** | 17 | 销售和财务报告、分析请求、性能指标 |
| **game-center** | 176 | 成就、排行榜、匹配、挑战 |
| **xcode-cloud** | 46 | 工作流程、构建运行、工件、源代码控制 |
| **provisioning** | 45 | 包 ID、证书、设备、配置配置文件 |
| **background-assets** | 18 | 应用二进制文件外部下载的资产包 |
| **webhooks** | 12 | 将 App Store Connect 事件推送到您的端点的 Webhooks |
参阅 [指南](docs/GUIDE.md#4-register-profiles) 获取设置,并参阅 [§7](docs/GUIDE.md#7-adding-and-removing-tools-later) 获取后期添加或删除配置文件。
### 加载正确的工具
完整的 982 操作表面将花费超过 100k 个工具定义令牌 —— 大于大多数上下文窗口可以承受的。 因此,配置文件仅加载其自己的区域,而组合服务器加载日常发布工作的默认工作集。 123 个已弃用的操作除非您传递 `--include-deprecated`,否则保持关闭状态。
> [!TIP]
> **您不必记住任何内容。** 询问 *"哪些 App Store Connect 域可用?"* 服务器从 `asc__discover_domains` 回答。 询问 *"是否有应用内事件的工具?"* `asc__search_tools` 搜索所有 982 个操作 —— 包括未加载的操作 —— 并告诉您哪个配置文件或标志将加载它。
### 工具命名
工具名称反映资源层次结构,操作在最后(`apps__list` → `GET /v1/apps`,`app_store_versions__create` → `POST /v1/appStoreVersions`)。 每个工具在其描述中都带有 `METHOD /path`,以便您可以直接交叉引用 [Apple 的 API 文档](https://developer.apple.com/documentation/appstoreconnectapi)。
### 评论 AI
三个工具位于 `reviews` 域之上,并使用 **MCP 采样** —— 您的客户端自己的模型,无需单独的 API 密钥:`reviews_ai__draft_response`、`reviews_ai__triage`、`reviews_ai__daily_briefing`。 全部只读;无发布内容。 要发布回复,您需要自己审查草稿并调用 `customer_review_responses__create`。
### 文档
- [指南](docs/GUIDE.md) — API 密钥、安装、设置向导、配置文件、配置、示例
- [安全](docs/SECURITY.md) — 凭证处理、安全模式、预安装审计、漏洞报告
- [支持](docs/SUPPORT.md) — 获取帮助、故障排除
- [变更日志](docs/CHANGELOG.md) — 发布历史
- [贡献](docs/CONTRIBUTING.md) — 如何贡献、本地开发设置
- [行为准则](docs/CODE_OF_CONDUCT.md)
- [治理](docs/GOVERNANCE.md) — 谁维护此项目以及为什么
### 支持项目
Heimdall 免费且开源。 如果它节省了您的时间,您可以 [成为 Patreon 会员](https://www.patreon.com/cw/erayendes/membership) 或 [给我买杯咖啡](https://buymeacoffee.com/erayendes) ☕。
### 许可证
MIT — 参见 [LICENSE](LICENSE)。 不属于 Apple Inc. 参见 [NOTICE](NOTICE)。