关于 asc-mcp
asc-mcp 是面向通过 App Store Connect 发布 iOS 应用的开发者和团队的 MCP 服务。它以 41 个专用工具结合发布操作与审核摘要,涵盖元数据、TestFlight、提交和发布。
主要功能
- 01编辑版本元数据和截图
- 02管理构建版本与 TestFlight
- 03创建 App 内购买项目
- 04提交前审核版本
- 05汇总评论和销售数据
- 06提交并发布应用版本
适用场景
- 01提交前检查元数据和构建状态
- 02按评分查看用户评论
- 03根据 git 历史生成发布说明
- 04管理 TestFlight 发布
MCP 相关
它向 Claude Desktop、Claude Code、Cursor、Windsurf 和 Cline 等 MCP 兼容客户端提供 41 个 App Store Connect 工具,还附带六个斜杠命令 Prompts 和一个 Claude Skill。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @pofky/asc-mcpASC_KEY_ID密钥App Store Connect API Key ID (10-char alphanumeric from ASC portal)ASC_ISSUER_IDApp Store Connect Issuer ID (UUID from ASC portal)ASC_PRIVATE_KEY_PATH密钥Path to .p8 private key file downloaded from App Store ConnectASC_LICENSE_KEY密钥Pro license key for intelligence tools, reviews, and sales (optional, get at buy.polar.sh)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
41收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| topic | enum | 否 | 要查看的操作指南。省略时返回概览和主题列表。overview | setup | first-app | update | screenshots | iap | subscriptions | reviews | testflight | binary | limitations |
详细介绍
asc-mcp
通过你的编码 Agent 发布 App Store 版本。 一个用于 App Store Connect 的 MCP 服务:包含 41 个工具,可编辑版本元数据、上传屏幕截图、关联构建版本、管理 TestFlight、创建 App 内购买项目、提交并发布版本,还提供智能分析层,可在提交前审核版本并总结评论。包含 6 个斜杠命令工作流和一个随附的 Claude Skill。它不只是又一个 API 封装。
asc-mcp.pages.dev · npm · 价格:7 天免费试用,之后每月 $9,含 VAT(美国、加拿大和印度另加销售税)
Claude Desktop,一键安装: 下载最新的 asc-mcp.mcpb 并打开。Claude 会询问你的 Issuer ID,并让你通过文件选择器选择 .p8 文件。无需 JSON,也不必费心重启。
其他所有客户端(Claude Code、Cursor、Windsurf、Cline),只需一条命令:
npx @pofky/asc-mcp init --write # finds your .p8, asks for your Issuer ID, writes your MCP config
然后对你的 Agent 说:“开始我的 asc-mcp 试用,我的邮箱是 [email protected]”。全部 41 个工具将解锁 7 天,无需信用卡,也无需取消;试用会在你当前使用的会话中激活,因此你之前受阻的操作下一次调用就能正常进行。之后 Pro 每月收费 $9(含 VAT;美国、加拿大和印度在结账时另加销售税)。6 个工具始终免费,其中有 2 个(设置检查和操作手册)只需 Node。只读的 Pro 工具(评论、销售、构建版本、TestFlight 群组、提交前检查、简报、关键词、竞品、元数据差异、版本说明)也可以在你的设备上无许可证总共使用 5 次,供你预览。
| 你说 | 会发生什么 |
|---|---|
| “检查我的 App 是否可以提交” | 审核元数据、字符数限制、屏幕截图和构建状态。发现导致 40% 拒绝的问题。 |
| “给我一份晨间简报” | 总结你的所有 App:哪些正在审核、哪些被拒、新收到的低评分评论以及待办事项。 |
| “根据我的 Git 历史生成版本说明” | 读取上一个标签以来的提交记录,对其分类,并提供结构化数据,帮助你撰写“新功能”文本。 |
| “我的 App 正在审核吗?” | 提供准确的审核状态和背景信息(“通常需要 24–48 小时”) |
| “显示 1 星评论” | 按评分和地区筛选并按日期排序的客户评论 |
| “我这周的下载量是多少?” | 按地区汇总销售额和收入 |
无需切换上下文。无需打开门户。直接提问即可。
有何不同
这是 JoshuaRileyDev/app-store-connect-mcp-server(于 2026 年 2 月归档)的后续维护版本。方向不同,API 覆盖范围相同且更广。
其他 ASC MCP 服务只是封装 API,提供 80 到 982 个原始端点。这个服务提供 41 个经过精心设计的工具、6 个斜杠命令提示词,以及一个会主动思考的 Claude Skill。读取类工具会进行总结和审核;Pro 控制类工具则会真正操作 App Store Connect,从编辑元数据到提交并发布版本,都使用同一 API 密钥。两个工具使用 MCP Sampling:由你自己的客户端模型执行 LLM 工作,因此此服务不会产生额外费用。
为什么无需 fastlane 也能全面控制: fastlane 的 deliver 和 pilot 只是调用本服务使用 .p8 进行身份验证的同一 App Store Connect REST API。因此,你可以在这里通过工具完成几乎所有原本会用 fastlane 编写脚本的操作,无需 Ruby 工具链。唯一需要使用 Mac 的步骤是构建并签名二进制文件;build_and_archive 和 upload_binary 会通过 Xcode 执行这些操作。
设置(3 分钟)
步骤 1。 在 App Store Connect > Integrations > App Store Connect API 中创建 API 密钥(需要 Admin 或 App Manager 角色),然后从同一页面获取以下三项:
- Issuer ID(
ASC_ISSUER_ID):页面顶部显示的 UUID,旁边有复制按钮。 - Key ID(
ASC_KEY_ID):密钥旁边的 10 位 ID,也包含在文件名AuthKey_XXXXXXXXXX.p8中。 .p8文件(ASC_PRIVATE_KEY_PATH):点击 Download,并将此项指向保存的文件。Apple 只允许下载一次,请妥善保管。
步骤 2。 安装:
npm install -g @pofky/asc-mcp
如果你更喜欢使用 npx,则无需全局安装(参见下方的手动配置)。
最快的设置方式(推荐)。 将 .p8 文件放入 Apple 的标准路径 ~/.appstoreconnect/private_keys/(文件名为 AuthKey_XXXXXXXXXX.p8,Key ID 包含在文件名中)。然后运行:
npx @pofky/asc-mcp init --write # auto-detects the key, asks for your Issuer ID, and writes the config for you
# or: npx @pofky/asc-mcp init # same, but prints the block to paste yourself
init --write 会找到你的 Claude Desktop / Claude Code 配置,先备份,再合并服务器配置块,因此无需编辑 JSON。服务器还会在运行时自动发现 .p8 文件路径,所以你只需要提供 ASC_ISSUER_ID(Pro 版还需要 ASC_LICENSE_KEY)。
作为 Claude Code 插件使用。 一行命令即可同时安装服务器和审核分流技能;启用插件时,Claude Code 会询问你的 Issuer ID:
/plugin install asc-mcp --marketplace pofky/asc-mcp
插件位于 plugin/,其 README 说明了它会运行和发送哪些内容。
从 Agent 或任意管道中运行。 由于没有终端供你回答问题,因此请传入原本会被询问的信息:
npx @pofky/asc-mcp init --write --issuer <your-issuer-uuid> # add --config <path> if you keep several client configs
无论哪种方式,命令都会输出可直接粘贴的配置块,并且绝不会编造值:如果缺少 Issuer ID,它会明确告知,而不是写入一个无法通过 Apple 身份验证的配置。--key-path、--key-id 和 --license 也是出于同样的原因提供的,而且它们都可以从对应的 ASC_* 环境变量读取值。
遇到问题? 运行 npx @pofky/asc-mcp doctor(或让你的 Agent 调用 asc_setup_check)。它会检查你的密钥、Issuer ID、与 App Store Connect 的实时连接以及许可证,并针对任何问题输出确切的修复方法。在你的 Agent 中,/asc-start 命令会引导首次使用的用户完成所有步骤。
手动设置。 将以下内容添加到你的 Agent 的 MCP 配置中(Claude Desktop 配置,或 Claude Code 的 ~/.claude.json)。使用 npx 可免安装;如果已全局安装,则使用 asc-mcp:
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": ["-y", "@pofky/asc-mcp"],
"env": {
"ASC_ISSUER_ID": "YOUR_ISSUER_ID"
}
}
}
}
将 .p8 文件放在 ~/.appstoreconnect/private_keys/ 后,只需设置 ASC_ISSUER_ID 环境变量(Key ID 和密钥路径会自动检测)。添加 ASC_LICENSE_KEY 即可解锁 Pro。
步骤 3。 询问你的 Agent:“列出我的 App Store Connect 应用”
步骤 4,试用付费功能。 询问你的 Agent:“start my asc-mcp trial, my email is [email protected]”。它会调用 asc_start_trial,无需银行卡,也无需取消操作,即可解锁全部 41 个工具,使用期限为 7 天。密钥会在当前运行会话中激活,因此之前受阻的操作下一次调用就能正常工作;同时密钥也会保存在你的设备上,路径为 ~/.asc-mcp/license.json,并保存到任何已有 asc-mcp 条目的 MCP 客户端配置中,因此重启后仍然有效。每个 Apple 开发者账户只能试用一次。
兼容 Claude Code、Cursor、Windsurf、Cline 以及任何兼容 MCP 的客户端。
工具
免费(无需注册,无需许可证密钥)
| 工具 | 功能 |
|---|---|
asc_start_trial | 免费体验 7 天全部功能,无需信用卡。 让你的 Agent 使用你的电子邮箱运行此工具。即可在当前会话中解锁全部 41 个工具,无需重启,也无需取消任何服务。 |
asc_setup_check | 遇到问题时,先运行此工具。 检查你的密钥、Issuer ID、与 App Store Connect 的实时连接以及许可证等级,并针对每项故障给出确切的修复方法。 |
asc_guide | 从这里开始。 涵盖各种工作流(首次发布、更新、IAP、订阅、评论、TestFlight、二进制文件)的 Agent 内操作指南,并在相应位置标出每个需要手动在 App Store Connect 网站上完成的步骤。另请参阅 USER_GUIDE.md 和 LIMITATIONS.md。 |
list_apps | 列出你的所有应用,包含名称、bundle ID、SKU 和 App ID |
app_details | 版本历史、构建状态、发布状态和日期 |
review_status | 当前审核状态及易于理解的说明 |
Pro(免费试用 7 天,之后每月 $9)
每月 $9,含 VAT;在美国、加拿大和印度,销售税会在付款前于结账时另行加收。可随时取消。
| 工具 | 功能 | 作用 |
|---|---|---|
list_reviews | 按评分、地区和排序方式筛选客户评论 | 无需打开门户即可了解用户的反馈 |
sales_report | 按地区查看每日、每周或每月下载量和收入 | 即时掌握你的数据 |
release_preflight | 提交前审查:元数据、字符数限制、屏幕截图、构建版本 | 在提交前发现 40% 以上的常见拒审原因 |
daily_briefing | 汇总所有应用的晨间简报:状态、评论、拒审情况 | 一次调用即可替代 10 分钟的门户操作 |
release_notes | 按类别整理自上个标签以来的 Git 提交,供撰写“新增内容”使用 | 你的 AI Agent 可根据实际更改撰写版本说明 |
keyword_insights | 根据 iTunes 搜索竞争情况分析关键词,并评估难度 | 一目了然地了解哪些关键词值得使用 |
competitor_snapshot | 查询任意应用:评分、评论、版本、价格和版本说明 | 无需离开编辑器即可获取竞争情报 |
metadata_diff | 对比所有地区的线上版本与待发布版本元数据 | 提交前准确核对更改内容 |
triage_reviews | 使用 MCP Sampling 获取近期评论,并将其归纳为 3 至 5 个主题,附上数量、行动分类和引述 | 无需额外费用:由客户端的大模型完成归类 |
draft_review_response | 通过 Sampling 以评论所用语言为单条评论起草公开回复。如果客户端支持,还会询问回复语气。绝不会自动发布。 | 遵守 Apple 指南 1.2;由你自行粘贴到 ASC |
控制与发布(Pro)
这些工具会向 App Store Connect 写入数据。所有对外操作(提交、发布、上传二进制文件)都需要明确设置 confirm: true,因此不会有任何内容意外离开你的设备。
| 工具 | 功能 |
|---|---|
create_version | 为下一次发布创建新的可编辑 App Store 版本 |
update_version_metadata | 编辑描述、关键词、新内容、推广文本、URL、应用名称和副标题。验证 Apple 的字符数限制,并拒绝超出限制的写入 |
upload_screenshots | 为设备显示类型上传屏幕截图(预留、上传、提交,并校验校验和) |
list_builds | 列出近期构建及其处理状态(VALID = 已就绪) |
wait_for_build | 轮询,直到构建处理完成,因此整个流程无需手动暂停 |
attach_build | 将构建附加到可编辑版本(默认使用最新的已处理构建) |
submit_for_review | 将版本提交至 App Review(采用新版 reviewSubmissions 流程)。需要设置 confirm: true |
release_version | 将已批准的版本发布到公开的 App Store。需要设置 confirm: true |
manage_phased_release | 开始、暂停、恢复或完成为期 7 天的分阶段发布 |
list_beta_groups | 列出你的 TestFlight 测试版群组 |
assign_build_to_group | 将构建推送到测试版群组,以便测试人员安装 |
invite_beta_tester | 通过电子邮件邀请外部测试人员,并将其添加到群组 |
set_app_metadata | 一次调用即可设置主类别/次类别、版权、内容权利和出口合规(加密)信息 |
set_app_price | 创建价格计划以设置基础价格(免费时设为 price_usd: 0),并自动统一所有地区的价格 |
set_app_availability | 让应用在所有 App Store 地区(或指定地区)上架,并自动纳入未来新增的地区 |
set_review_contact | 在版本中设置 App Review 联系人和可选的演示帐户 |
set_age_rating | 设置 v2 年龄分级声明(完整的内容描述符集合) |
set_privacy_nutrition | 提供 App 隐私营养标签的操作指引和深层链接(无法通过 API 设置) |
set_eu_trader_status | 提供欧盟 DSA 交易者状态的操作指引和深层链接(无法通过 API 设置) |
create_iap | 创建非消耗型/消耗型 IAP,并设置本地化内容、可售地区和自动统一的价格 |
create_subscription | 创建订阅群组、订阅项目,并设置本地化内容、可售地区、价格和免费试用 |
set_iap_review_screenshot | 将 App Review 屏幕截图附加到订阅项目或 IAP |
setup_app_store_signing | 下载应用的 App Store 配置描述文件,并生成手动签名用的 ExportOptions.plist(可使用权限最小化的 API 密钥) |
build_and_archive | 通过 xcodebuild 构建、归档并导出已签名的 .ipa(Mac 上需要安装 Xcode) |
upload_binary | 使用你的 API 密钥,通过 altool 将 .ipa 上传到 App Store Connect。需要设置 confirm: true |
整个流程会依次执行:setup_app_store_signing、build_and_archive、upload_binary、wait_for_build(阻塞,直到状态变为 VALID)、attach_build、update_version_metadata、upload_screenshots、set_app_metadata/set_app_price/set_app_availability/set_age_rating/set_review_contact、release_preflight、submit_for_review、release_version。/asc-ship-release 斜杠命令会为你驱动整个流程。
release_preflight 是判断“是否可以提交”的唯一事实来源:它会检查每个可通过 API 设置的字段,并在最后列出针对性的“完成所需的手动步骤”,说明少数只能在 Apple 网站上操作的事项(首次 IAP 绑定、App 隐私营养标签、欧盟交易者状态)。
哪些操作仍需手动完成(以及原因)
有少数操作 Apple 不向 API 密钥开放。MCP 不会假装可以绕过这些限制:要么返回准确的网站操作步骤和深层链接,要么检测到这种情况后中止,避免操作只完成一半。详情请见 LIMITATIONS.md(以及 asc_guide topic:limitations):
- 创建 App 记录 / App Group。 API 密钥无法调用
POST /v1/apps;请在网站上创建一次。 - App 隐私营养标签。 API 不支持。
set_privacy_nutrition会返回检查清单和深层链接。 - 欧盟 DSA 交易者状态。 API 不支持。
set_eu_trader_status会返回操作步骤。这需要作出法律决定。 - App 的首批 IAP / 订阅项目。 必须在网站上与版本一同提交;
submit_for_review会中止操作,而不是让版本处于无人处理的状态。之后的产品可通过 API 提交。 - 创建证书 / 云端签名。 最小权限密钥无法执行;
setup_app_store_signing会改用手动签名配置文件。 - 编译二进制文件。 需要 Mac 上安装 Xcode(
build_and_archive会在本地运行)。 - 发布公开评价回复。
draft_review_response会起草回复;你需要将其粘贴到网站上。
Sampling 如何工作(零额外费用)
triage_reviews 和 draft_review_response 使用 MCP Sampling 原语。调用其中一个工具时,此服务会向你自己的 MCP 客户端发送 sampling/createMessage 请求。你的客户端会在本地运行大模型(Claude Desktop 使用你的账户;Claude Code 使用其会话)。我们不会从服务端调用 Anthropic。
结果:评价聚类和回复起草的费用与你发起其他 Claude 请求完全相同,此服务不会额外收取一分钱。
如果你的 MCP 客户端尚不支持 Sampling,这两个工具都会返回结构化的 degraded: true 结果,并附上明确说明。请将 Claude Desktop 或 Claude Code 升级到较新版本,以获得完整功能。
斜杠命令(提示词)
在 Claude Desktop 或 Claude Code 中输入这些命令,Agent 就会运行预先构建的多工具工作流:
| 斜杠命令 | 功能 |
|---|---|
/asc-start | 新手入门。验证连接、列出你的 App、用浅显的语言说明免费版和 Pro 版的区别,并推荐下一步操作。无需了解 App Store Connect。 |
/asc-weekly-review | 对每个 App 调用 daily_briefing,然后调用 list_reviews(低评分、最近 7 天),归纳评价主题,并返回包含 3 条行动建议的单份摘要。 |
/asc-rejection-audit | 提供 app_id 后,调用 release_preflight、metadata_diff 和 review_status,并根据 2026 年最常见的拒审原因(指南 2.3 元数据、4.0 设计、隐私与 AI 5.1.2)解读结果。报告分为阻止发布 / 可能被标记 / 安全三个部分。 |
/asc-release-go-no-go | 提供 app_id 后,结合预检、审核队列、元数据差异以及同一类别中的主要竞争对手。返回明确的 GO 或 NO-GO,并给出三条依据。 |
/asc-ship-release | 提供 app_id 后,执行完整发布流程:查找或创建可编辑版本、推送元数据、附加最新构建、上传屏幕截图、运行预检,然后提交。每个对外操作前都会停下来等待确认。 |
/asc-first-app | 提供 app_id 后,将全新 App 的首个 1.0 版本从现有 App 记录推进到提交,处理所有仅限首次的限制,并在每个需要手动操作的网站步骤(隐私标签、交易者状态、首批 IAP 捆绑提交)处停下。 |
根据 规范,这些属于 MCP Prompts。其他 App Store Connect MCP 均未附带这些命令。
Claude Skill(一行安装)
安装 MCP 后,运行:
npx @pofky/asc-mcp install-skill
这会将一个小型 asc-review-triage Skill 复制到 ~/.claude/skills/,让 Claude 自动识别与评价相关的问题(“最近有差评吗?”、“用户都说了什么?”、“本周评分怎么样?”),并调用正确的 ASC 工具,无需每次都向它解释工作流。
适用于 macOS、Linux 和 Windows。移除方法:npx @pofky/asc-mcp uninstall-skill。
实际输出示例
“提交前运行预检”
Release Preflight: v2.3
State: PREPARE_FOR_SUBMISSION
Platform: IOS
PASS (with 1 warning)
Warnings (recommended):
- Missing screenshot set for APP_IPHONE_67. May be required.
Passing checks: 4
- [en-US] Description OK (3874/4000 chars).
- [en-US] Keywords OK (96/100 chars).
- 2 screenshot set(s) found across 1 locale(s).
- Build 40 attached and valid.
Total: 4 pass, 1 warn, 0 fail
“早间简报”
Daily Briefing - 2026-04-13
2 apps in your account
Tempo: Habit Builder
- Latest: v2.3 (IOS) - Waiting for Review
- Action needed: v2.3 is Waiting for Review
- Reviews (last 3d): 5 new, avg 4.2 stars
NightOwl Weather
- Latest: v1.1 (IOS) - Live
- No new reviews in the last 3 days
“根据 git 生成发行说明”
Git History for Release Notes
Since: v2.2.0
Commits: 8
Character limit: 4000 chars for "What's New"
New Features (3)
- feat: add habit streak calendar view
- feat: dark mode support
- add widget for home screen
Bug Fixes (2)
- fix: notification timing off by 1 hour
- fix: crash on iPad when rotating
Instructions: Write user-facing "What's New" text.
Lead with the most impactful change. Keep under 4000 chars.
为什么选择它,而不是免费的替代方案?
| 原始 API 封装(免费) | 此服务 | |
|---|---|---|
| 工具数量 | 80 到 982 个 | 41 个经过精心设计的工具(读取 + 控制) |
| MCP 提示词(斜杠命令) | 否 | 是,6 个预置工作流 |
| MCP Sampling(零服务端大模型成本) | 否 | 是,评价分类 + 回复草稿 |
| 捆绑 Claude Skill | 否 | 是,一行安装 |
| 提交前审核 | 否 | 是,在提交前发现拒绝问题 |
| 跨应用简报 | 否 | 是,一次调用,涵盖所有应用 |
| 支持 Git 的发行说明 | 否 | 是,读取项目的提交历史 |
| 智能评价摘要 | 否 | 是,主题聚类、行动事项 |
| 设置 | 从源代码构建(Swift 或 Node) | 一条命令,init --write 写入配置 |
| 免费层级 | 部分提供 | 是,6 个工具,无需注册。其中两个只需 Node 即可运行 |
| 试用付费部分 | 不适用 | 7 天,无需信用卡,可在 Agent 内启动 |
原始封装提供的是端点。这个服务提供的是答案。
安全性
你的 .p8 私钥不会离开你的设备:
.p8私钥在本地读取。JWT 令牌在你的电脑上生成,并向 Apple 提供你的 Key ID 和 Issuer ID,这是 Apple API 的要求。- API 调用直接从你的设备发送到
api.appstoreconnect.apple.com。 - 设置许可证密钥后,许可证服务会收到该密钥字符串;如果你开始试用,还会收到你的电子邮箱地址、Issuer ID 的单向哈希,以及你启动的工具名称。不包含任何 Apple 数据或凭据。
~/.asc-mcp/preview.json只保存一个数字,记录此设备已使用的 5 次免费预览调用中的次数。该文件绝不会发送到任何地方。- 开始试用或通过
asc_start_trial获取付费密钥时,许可证密钥会以纯文本形式保存在~/.asc-mcp/license.json中(macOS 和 Linux 上仅所有者可访问),并作为ASC_LICENSE_KEY添加到 Claude Desktop、Claude Code(~/.claude.json,包括按项目配置的条目)、./.mcp.json、Cursor、Windsurf 和 Cline 配置中找到的每个 asc-mcp 条目。不会更改这些文件中的其他内容,每个被编辑的文件旁边都会创建一个一次性的.bak副本,其中保存该文件原有的内容。~/.asc-mcp/last-verdict.json保存上次许可证检查结果和密钥的哈希值。删除该文件和ASC_LICENSE_KEY行即可移除密钥。 - 完全开源。查看代码。
兼容对象
- Claude Code(Anthropic)
- Cursor
- Windsurf
- Cline
- 任何支持 Model Context Protocol 的客户端
要求
- Node.js 18+
- Apple Developer Program 会员资格
- App Store Connect API 密钥(Admin 或 App Manager 角色)
法律声明
- 隐私政策
- 服务发送的内容及接收方:简要说明
- 服务条款
本项目与 Apple Inc. 无关联,也未获得其认可或赞助。Apple、App Store、App Store Connect、TestFlight、Xcode、iOS 和 macOS 均为 Apple Inc. 的商标。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。