关于 app-publish
app-publish 是面向开发者的 MCP 服务,用于管理 App Store Connect 和 Google Play Console 中已有的 iOS、Android 应用。它处理商店侧的上架信息、素材、测试、审核和发布流程,要求提供已签名且可发布的构建产物;不会编译应用或管理签名密钥。
主要功能
- 01管理商店信息、本地化内容和截图
- 02上传构建产物并管理版本与发布
- 03查看审核状态并回复用户评价
- 04管理 TestFlight 测试组和测试者
- 05管理应用内购买与订阅
- 06查看 Android vitals 和商店报告
适用场景
- 01更新商店描述、关键词和截图
- 02提交已签名的应用构建版本审核
- 03查看审核进度或回复 Google Play 评价
- 04准备分阶段发布并管理测试者
MCP 相关
该 MCP 服务提供面向 App Store Connect 和 Google Play Console 的工具,以及发布检查清单和商店信息审查提示词。它还提供配置和支持平台资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y app-publish-mcpAPPLE_KEY_ID密钥Apple App Store Connect API Key IDAPPLE_KEY_TYPE密钥Apple API key type: TEAM (default) or INDIVIDUALAPPLE_ISSUER_ID密钥Apple App Store Connect Issuer ID for TEAM keysAPPLE_P8_PATHPath to Apple AuthKey .p8 fileGOOGLE_SERVICE_ACCOUNT_PATHPath to Google Play service account JSON key fileGOOGLE_CLIENT_IDGoogle Desktop OAuth client IDGOOGLE_CLIENT_SECRET密钥Google Desktop OAuth client secretGOOGLE_REFRESH_TOKEN密钥Google OAuth refresh tokenAPPLE_VENDOR_NUMBERApple vendor number for sales and finance reportsAPP_PUBLISH_READ_ONLYSet to true to register only read tools (list/get/search/query/download, no Google edit creation or deletion)APPLE_REPORTS_KEY_ID密钥Extra Apple key ID for Sales/Finance/Analytics reportsAPPLE_REPORTS_P8_PATHPath to the reports key .p8 fileAPPLE_ADMIN_KEY_ID密钥Admin key ID for analytics requests and finance/reporting fallbackAPPLE_ADMIN_P8_PATHPath to the Admin key .p8 fileAPPLE_REPORTS_ISSUER_IDReports key issuer; defaults to APPLE_ISSUER_IDAPPLE_REPORTS_KEY_TYPE密钥Reports key type: TEAM or INDIVIDUAL; defaults to APPLE_KEY_TYPEAPPLE_ADMIN_ISSUER_IDAdmin key issuer; defaults to APPLE_ISSUER_IDAPPLE_ADMIN_KEY_TYPE密钥Admin key type: TEAM or INDIVIDUAL; defaults to APPLE_KEY_TYPE本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
147收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appId | string | 是 |
详细介绍
app-publish-mcp
适用于 App Store Connect 和 Google Play Console 的统一 MCP(Model Context Protocol) 服务。通过 AI 助手管理应用列表、截图、版本、评论和提交。
发布边界
你需要提供可发布且签名正确的 Android .aab / .apk 或 Apple .ipa。MCP 会处理商店端支持的工作,涵盖上传、元数据、测试、提交审核和发布。它不会编译应用、保管签名密钥,也不会取代 Xcode、Gradle 或 CI。
新应用的首次发布仍需要在 App Store Connect 或 Play Console 中手动设置,包括开发者注册、协议、必要时创建应用记录、API 访问、签名、税务和银行信息,以及政策、隐私或内容声明。对于已完成全部配置的现有 Android 应用,签名后的 AAB 通常足以让 MCP 执行更新工作流。Google 编辑提交只会提交所请求的更改;商店审核、托管发布或分阶段推出可能会延迟应用公开上线。
适用场景
在以下情况下使用此 MCP:
- “更新我的应用在 App Store 上的描述和关键词” — 修改版本本地化内容和应用信息本地化内容
- “为 iPhone 16 Pro 上传新截图” — 上传到资源库,并将图片放置到版本本地化内容中
- “提交新版本以供审核” — 创建版本、分配构建版本、设置审核信息并提交
- “查看我的应用审核状态” — 列出版本并查看审核状态
- “回复 Google Play 上的用户评论” — 列出评论并回复
- “在 Google Play 上创建分阶段发布” — 创建编辑、在某个轨道上创建版本并提交
- “管理 TestFlight 测试者” — 创建群组、邀请测试者并管理访问权限
- “设置应用内购买” — 在两个平台上创建和管理 IAP 与订阅群组
- “注册用于开发的新设备” — 管理设备、证书和配置描述文件
功能
Apple App Store Connect(135 个工具)
| Category | Tools |
|---|---|
| App Management | apple_list_apps, apple_get_next_page, apple_get_app, apple_update_app, apple_get_app_info, apple_update_category |
| Bundle IDs | apple_list_bundle_ids, apple_create_bundle_id |
| Bundle ID Capabilities | apple_list_bundle_id_capabilities, apple_enable_capability, apple_disable_capability |
| Versions | apple_list_versions, apple_create_version, apple_update_version |
| Version Localizations | apple_list_version_localizations, apple_create_version_localization, apple_update_version_localization |
| App Info Localizations | apple_list_app_info_localizations, apple_update_app_info_localization |
| Asset Library | apple_get_asset_library, apple_get_asset_specs, apple_list_assets, apple_get_asset, apple_wait_for_asset, apple_upload_asset, apple_list_asset_placements, apple_delete_asset |
| Asset Placements | apple_list_placements, apple_create_placement, apple_reorder_placements, apple_delete_placement |
| Legacy Screenshots (deprecated) | apple_list_screenshot_sets, apple_create_screenshot_set, apple_upload_screenshot, apple_delete_screenshot |
| Builds | apple_list_builds, apple_get_build_upload, apple_wait_for_build_upload, apple_delete_build_upload, apple_upload_build, apple_set_build_encryption, apple_assign_build |
| Age Rating | apple_get_age_rating, apple_update_age_rating |
| Review Info | apple_update_review_detail |
| Submission | apple_submit_for_review, apple_cancel_submission |
| Release | apple_release_version, apple_get_phased_release, apple_create_phased_release, apple_update_phased_release, apple_delete_phased_release |
| Pricing & Availability | apple_get_pricing, apple_list_app_price_points, apple_set_price, apple_list_availability, apple_create_availability, apple_update_territory_availability |
| Customer Reviews | apple_list_reviews, apple_respond_to_review |
| Certificates | apple_list_certificates, apple_create_certificate, apple_revoke_certificate |
| Provisioning Profiles | apple_list_profiles, apple_create_profile, apple_delete_profile |
| Devices | apple_list_devices, apple_register_device, apple_update_device |
| TestFlight Beta Groups | apple_list_beta_groups, apple_create_beta_group, apple_delete_beta_group, apple_add_beta_testers_to_group, apple_remove_beta_testers_from_group |
| TestFlight Beta Testers | apple_list_beta_testers, apple_invite_beta_tester, apple_delete_beta_tester |
| In-App Purchases | apple_list_iap, apple_create_iap, apple_get_iap, apple_delete_iap |
| Subscription Groups | apple_list_subscription_groups, apple_create_subscription_group, apple_delete_subscription_group |
| Accessibility Declarations | apple_list_accessibility_declarations, apple_create_accessibility_declaration, apple_update_accessibility_declaration, apple_delete_accessibility_declaration |
| Price Points | apple_get_subscription_price_points, apple_get_iap_price_points |
| Offer Codes | apple_list_subscription_offer_codes, apple_get_subscription_offer_code, apple_create_subscription_offer_code, apple_list_iap_offer_codes, apple_get_iap_offer_code, apple_create_iap_offer_code |
| Win-Back Offers | apple_list_win_back_offers, apple_get_win_back_offer |
| Custom Product Pages | apple_list_custom_product_pages, apple_get_custom_product_page, apple_create_custom_product_page, apple_update_custom_product_page, apple_delete_custom_product_page, apple_list_custom_product_page_versions, apple_create_custom_product_page_version, apple_update_custom_product_page_version, apple_list_custom_product_page_localizations, apple_create_custom_product_page_localization, apple_update_custom_product_page_localization, apple_delete_custom_product_page_localization |
| Product Page Optimization | apple_list_experiments, apple_get_experiment, apple_create_experiment, apple_update_experiment, apple_delete_experiment, apple_list_experiment_treatments, apple_create_experiment_treatment, apple_update_experiment_treatment, apple_delete_experiment_treatment, apple_list_treatment_localizations, apple_create_treatment_localization, apple_delete_treatment_localization |
| Sales & Finance Reports | apple_get_sales_report, apple_get_finance_report |
| App Analytics Reports | apple_list_analytics_report_requests, apple_create_analytics_report_request, apple_list_analytics_reports, apple_list_analytics_report_instances, apple_list_analytics_report_segments, apple_download_analytics_report |
| Review submission workflow | apple_list_review_submissions, apple_get_review_submission, apple_create_review_submission, apple_add_review_submission_item, apple_submit_review_submission |
apple_get_pricing 会遍历所有手动和自动定价页面。apple_set_price 会提交完整的手动定价计划,因此请包含所有必须保留的当前或未来手动条目;未包含的条目可能会从计划中移除。
Apple 配置资源——Bundle ID、功能、证书、描述文件和设备——需要具有相应访问权限的 Team API 密钥。个人 API 密钥可用于受支持的 App Store Connect 发布操作,但不能用于这些配置资源。TestFlight 内部测试人员是 App Store Connect 团队成员,并非 Apple 员工。
Google Play Console(53 个工具)
| 类别 | 工具 |
|---|---|
| 编辑生命周期 | google_create_edit、google_get_edit、google_commit_edit、google_validate_edit、google_delete_edit |
| 应用详情 | google_get_details、google_update_details |
| 商店商品详情 | google_list_listings、google_get_listing、google_update_listing、google_delete_listing |
| 国家/地区可用性 | google_get_country_availability |
| 测试人员 | google_get_testers、google_update_testers |
| 图片 | google_list_images、google_upload_image、google_delete_image、google_delete_all_images |
| 轨道和版本 | google_list_tracks、google_get_track、google_create_release、google_promote_release、google_halt_release、google_list_release_statuses |
| Bundle / APK | google_list_bundles、google_upload_bundle、google_list_apks、google_upload_apk |
| 数据安全 | google_update_data_safety |
| 评论¹ | google_list_reviews、google_get_review、google_reply_to_review |
| 应用内商品 | google_list_iap、google_get_iap、google_create_iap、google_update_iap、google_delete_iap |
| 订阅 | google_list_subscriptions、google_get_subscription、google_create_subscription、google_activate_subscription_base_plan、google_deactivate_subscription_base_plan |
| Android Vitals³ | google_query_vitals、google_list_vitals_anomalies、google_search_vitals_error_issues、google_search_vitals_error_reports |
| 一次性商品² | google_list_one_time_products、google_get_one_time_product、google_create_one_time_product、google_update_one_time_product、google_delete_one_time_product、google_activate_purchase_option、google_deactivate_purchase_option |
¹ Reviews API 仅返回过去 7 天内创建或修改、且带有评论内容的正式版应用评论。不包括没有评论内容的评分以及 Alpha / Beta 反馈。pageToken 不会延长此时间范围;如需查看更早的记录,请从 Play Console 导出 CSV。排查问题时,请检查 回复评论 权限,但仅凭结果为空,不能证明是权限问题。
² 一次性商品(monetization.onetimeproducts)是 Google Play 针对购买/租赁商品推出的较新购买模式,与较旧的 inappproducts API 不同。请检查每个返回的购买选项状态,并使用专用的启用/停用工具更改状态。
³ Vitals 使用 Play Developer Reporting API。请在服务账号的 Cloud 项目中启用该 API,并在 Play Console 中授予该账号 查看应用信息 权限。在添加此作用域之前创建的已保存 OAuth 令牌,需要再次运行 app-publish-mcp auth google。
提示词(2 个)
| 提示词 | 说明 |
|---|---|
app_release_checklist | 引导式清单,涵盖从签名构建产物上传到审核、发布,以及 iOS 和/或 Android 发布状态检查的整个流程 |
app_store_optimization | ASO 审核,检查当前商品详情元数据(标题、描述、关键词、屏幕截图、本地化),并提供可执行的改进建议 |
资源(2)
| URI | 描述 |
|---|---|
app-publish://config | 当前服务配置——已连接的账户、身份验证方式、工具数量 |
app-publish://supported-platforms | 按平台分组的所有受支持工具及其描述 |
设置
1. 安装
npm install
npm run build
2. Apple 凭据
- 前往 App Store Connect > Keys
- 创建一个具有 App Manager 角色的 API Key(报告需要第二个 Key,请参阅Key 和角色)
- 下载
.p8文件 - 记下 Key ID;对于团队 Key,还要记下 Issuer ID。对于个人 Key,设置
APPLE_KEY_TYPE=INDIVIDUAL,并省略 Issuer ID。 - 使用具有适当访问权限的 Team API Key 来操作 Bundle ID、证书、配置文件、功能或设备。
3. Google 凭据
启用 Google Play Android Developer API,然后选择一种身份验证方式:
- 服务账户: 在 Google Cloud Console 中创建服务账户并下载其 JSON Key,然后在 Play Console 的 Users and permissions 中邀请该账户的电子邮件地址并授予所需的应用权限。
- OAuth: 创建一个 Desktop OAuth 客户端,然后运行:
app-publish-mcp auth google --client-id=YOUR_ID --client-secret=YOUR_SECRET
OAuth 命令会将刷新令牌保存到 ~/.app-publish-mcp/google.json;服务会自动加载该令牌。你也可以显式设置 GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET 和 GOOGLE_REFRESH_TOKEN。
4. 配置环境
cp .env.example .env
编辑 .env:
APPLE_KEY_ID=YOUR_KEY_ID
APPLE_KEY_TYPE=TEAM
APPLE_ISSUER_ID=YOUR_ISSUER_ID
APPLE_P8_PATH=/path/to/AuthKey.p8
GOOGLE_SERVICE_ACCOUNT_PATH=/path/to/service-account.json
可选:
APPLE_VENDOR_NUMBER=YOUR_VENDOR_NUMBER # sales and finance reports
APPLE_REPORTS_KEY_ID=REPORTS_KEY_ID # key for Sales/Finance/Analytics reports
APPLE_REPORTS_P8_PATH=/path/to/AuthKey_REPORTS.p8
APPLE_ADMIN_KEY_ID=ADMIN_KEY_ID # analytics requests and finance/reporting fallback
APPLE_ADMIN_P8_PATH=/path/to/AuthKey_ADMIN.p8
APP_PUBLISH_READ_ONLY=true # register only read tools (list/get/search/query/download, no Google edit creation or deletion)
有关额外的 Key,请参阅Key 和角色;有关只读模式,请参阅安全性。
服务会自动从软件包/项目根目录加载 .env。Shell 或 MCP 主机提供的环境变量优先级更高。有关 OAuth 变量,请参阅 .env.example。
5. 添加到 Claude Code
添加到 ~/.claude/settings.local.json:
{
"mcpServers": {
"app-publish-mcp": {
"command": "node",
"args": ["/path/to/app-publish-mcp/dist/index.js"],
"env": {
"APPLE_KEY_ID": "YOUR_KEY_ID",
"APPLE_KEY_TYPE": "TEAM",
"APPLE_ISSUER_ID": "YOUR_ISSUER_ID",
"APPLE_P8_PATH": "/path/to/AuthKey.p8",
"GOOGLE_SERVICE_ACCOUNT_PATH": "/path/to/service-account.json"
}
}
}
}
Key 和角色
Apple 会根据 API Key 的角色决定其可执行的操作,因此通常需要多个 Key。能够执行上架操作的 Key 在获取报告时会收到 403,而报告 Key 无法更改上架内容。
Apple 角色的作用
| 任务 | 适用角色 | 不适用角色 |
|---|---|---|
| 上架、截图和视觉素材、自定产品页面、A/B 测试、版本、审核提交、TestFlight、定价 | App Manager、Admin | Sales and Reports、Finance |
| Bundle ID、功能、证书、配置文件、设备 | 具有适当访问权限的 Team Key(Admin 具备所需权限) | 个人 Key |
apple_get_sales_report | Sales and Reports、Finance、Admin | App Manager(403) |
apple_get_finance_report | Finance、Admin | Sales and Reports、App Manager(403) |
| 读取 App Analytics 报告 | Sales and Reports、Finance、Admin | App Manager(403) |
apple_create_analytics_report_request | Admin | Sales and Reports、App Manager(403) |
Apple 在 Analytics Reports 中说明了分析和销售相关的权限要求。使用报告端点前,请检查 Key 角色和应用访问权限。
在同一服务上使用多个 Key
照常设置主 Key,并添加可选 Key。每个请求都会按 API 选择 Key;服务不会在请求被拒绝时改用权限更高的 Key 重试。
| 请求 | 使用的 Key |
|---|---|
| 除报告外的所有操作 | 主 Key(APPLE_KEY_ID、APPLE_P8_PATH) |
| 销售报告、读取分析报告 | APPLE_REPORTS_*,否则使用 APPLE_ADMIN_*,再否则使用主 Key |
| 财务报告 | APPLE_ADMIN_*,否则使用 APPLE_REPORTS_*,再否则使用主 Key |
| 创建或删除分析报告请求 | APPLE_ADMIN_*,否则使用主 Key |
APPLE_REPORTS_ISSUER_ID、APPLE_ADMIN_ISSUER_ID 和对应的 *_KEY_TYPE 默认使用主 Key 的值。apple_get_sales_report 和 apple_get_finance_report 还需要 APPLE_VENDOR_NUMBER(App Store Connect → Payments and Financial Reports)。
配方:无需永久 Admin 密钥即可获取应用分析数据
- 主密钥:App Manager。
- 创建 Sales and Reports 密钥,并设置
APPLE_REPORTS_KEY_ID/APPLE_REPORTS_P8_PATH。 - 创建临时 Admin 密钥,设置
APPLE_ADMIN_KEY_ID/APPLE_ADMIN_P8_PATH,重启服务,然后为每个应用调用一次apple_create_analytics_report_request(ONGOING)。 - 在 App Store Connect 中撤销 Admin 密钥,并移除
APPLE_ADMIN_*变量。请求会继续生成报告,而 Sales and Reports 密钥可以读取这些报告。
Apple 会在一两天后生成首批报告实例,并将每个实例保留 35 天。使用 apple_list_analytics_reports → apple_list_analytics_report_instances → apple_download_analytics_report 下载报告。
一个服务账号即可用于发布和运行状况数据。启用用于发布的 Google Play Android Developer API 和用于运行状况数据的 Google Play Developer Reporting API,并在 Play Console 中向该账号授予所需的应用权限。运行状况数据需要 View app information 权限。
故障排除
| 响应 | 通常表示 |
|---|---|
401 NOT_AUTHORIZED | Key ID、Issuer ID 或 .p8 错误,或者密钥已撤销。令牌会提前 60 秒签发,以容忍轻微的时钟偏差;请确保系统时钟保持同步。 |
403 FORBIDDEN_ERROR "The API key in use does not allow this request" | 密钥的角色无权执行此操作。请检查角色表,并添加 APPLE_REPORTS_* 或 APPLE_ADMIN_*。 |
销售或财务报告出现 404 NOT_FOUND | 该日期或地区没有数据,例如,免费应用没有财务报告。 |
销售报告出现 400 PARAMETER_ERROR | 供应商编号错误,或者 reportSubType / version 与 reportType 不匹配。 |
| Google 运行状况数据未返回任何行 | Google 在该时间段内没有此应用的运行状况数据;新应用或流量较低的应用经常会出现这种情况。 |
安全
大多数工具会更改商店中的实际数据。在允许助手调用这些工具之前,请先了解它们的作用。
触达用户或开始 Apple 审核
apple_submit_for_review、apple_release_version、apple_create_phased_release/apple_update_phased_release- 使用
apple_update_experiment并设置started=true,会启动面向真实访客的产品页面测试 google_commit_edit会发布编辑中的所有内容;google_create_release、google_promote_release和google_halt_release会在提交时生效
资金与可用性
apple_set_price(会替换整个手动价格计划)、apple_create_availability、apple_update_territory_availability- 创建、更改、启用或停用 App 内购买项目、订阅、基础方案、一次性商品和优惠码
公开文本
apple_respond_to_review和google_reply_to_review会发布所有人都能看到的回复
无法撤销
- 所有
apple_delete_*工具、google_delete_listing、google_delete_all_images、google_delete_iap、google_delete_one_time_product apple_revoke_certificate:使用该证书签名的构建将无法继续安装
建议
- 为监控和报告运行单独的只读服务:
APP_PUBLISH_READ_ONLY=true。它会注册商店读取工具、资源轮询和 Google 编辑验证功能,但不包含 Google 编辑的创建和删除功能:创建新编辑可能会使该用户现有的发布草稿失效。对于编辑范围内的读取操作,请明确提供现有的 editId;此模式下服务不会创建或清理编辑。除空值、0、false、no或off以外的任何值都会启用此模式。需要outputPath的报告工具仍会写入该本地文件;除非设置overwrite=true,否则不会覆盖现有文件。 - 为每个密钥分配完成任务所需的最低权限,并在使用后撤销临时 Admin 密钥。
- 在 Google Play 上,在编辑中更改内容,使用
google_validate_edit检查,然后提交;google_delete_edit会丢弃该编辑。 - 保持 MCP 客户端对写入工具的审批功能开启。
**仅针对模拟对象进行过测试:**自定义产品页面和产品页面优化的写入工具遵循 Apple OpenAPI 4.5.1 架构,并已通过测试,但尚未在真实账户上运行。请先在测试应用中试用这些工具。
使用示例
提交资源、自定义页面或产品页面测试
使用 apple_create_review_submission 创建草稿(或使用 apple_list_review_submissions 查找草稿),然后使用 apple_add_review_submission_item 添加图像/视频、自定义产品页面版本或 v2 实验。检查 apple_get_review_submission,然后将完整的审核项目 ID 传递给 apple_submit_review_submission。添加项目不会提交审核;只有最后一步才会开始 App 审核。中断的调用会保留提交 ID,以供检查/重试。审核资格由 Apple 控制:首次发布应用时,提交内容中必须包含一个应用版本;分配给已提交页面/测试/版本的资源会与该项目一起接受审核。现有的 apple_submit_for_review 仍用于处理应用版本发布。
报告下载的每个响应上限为 32 MiB,解压/合并后的文本上限为 64 MiB。如果提供了 MD5,系统会根据 Apple 的 MD5 校验分析细分数据;失败时绝不会返回签名 URL。保存报告时采用独占创建,除非设置 overwrite=true。
构建上传使用受支持的 MD5 传输校验和,并保留可选的本地 expectedSha256 工件完整性检查。这并不意味着 Apple 文档中说明的 SHA-256 校验和算法不受支持。
上传和排列 Apple 截图或预览视频
apple_get_asset_library(appId)会返回应用的素材库 ID。使用apple_get_asset_specs选择当前规格、兼容的放置类型和放置组;不要猜测设备尺寸或组标识符。apple_upload_asset接受assetLibraryId、mediaType(IMAGE或VIDEO)、filePath和expectedSpecId。它会根据 Apple 的规格验证文件扩展名和大小,上传所有分片、提交,并默认等待处理完成。视频还接受previewFrameTimeCode。- 如果处理超时或失败,请保留返回的素材 ID,并使用
apple_get_asset/apple_wait_for_asset检查。不要盲目重复上传。设置waitForProcessing=false会更早返回,但放置素材必须处于就绪状态。 apple_create_placement会使用所选的placementType和placementGroup,将素材关联到localizationId。默认targetType为appStoreVersionLocalizations。此外,也支持自定产品页面、实验处理方案和 App 内活动。重复创建相同放置会复用现有放置。- 读取
apple_list_placements,然后按所需的组内顺序,将所有放置 ID 传给apple_reorder_placements。App 内活动不支持此排序接口。 apple_delete_placement仅移除放置。apple_list_asset_placements会显示素材的所有使用位置;如果素材仍在使用,apple_delete_asset会拒绝删除。
Apple 已在 App Store Connect API 4.5.1 中弃用旧版截图接口。这四个现有的截图工具仍为兼容性而保留;Apple 尚未公布其停用日期。新项目请使用 素材库工作流。韩国年龄分级覆盖现在也支持 ALL 和 TWELVE_PLUS。
页眉和搜索视觉素材、自定产品页面、A/B 测试
App Store 产品页面页眉和搜索结果视觉素材属于素材库放置(PRODUCT_PAGE_HEADER_ASSET、APP_STORE_SEARCH_RESULTS_ASSET)。使用 apple_get_asset_specs(placementType=...) 选择规格,使用 apple_upload_asset 上传,然后调用 apple_create_placement。相同的放置也适用于自定产品页面本地化(apple_create_custom_product_page → apple_list_custom_product_page_localizations)和测试处理方案(apple_create_experiment → apple_create_experiment_treatment → apple_create_treatment_localization)。
商店分析
apple_create_analytics_report_request 会请求 Apple 开始生成 App Analytics 报告;首批报告会在 1–2 天后出现。然后依次调用 apple_list_analytics_reports → apple_list_analytics_report_instances → apple_download_analytics_report(传入 outputPath 以保留完整文件)。apple_get_sales_report 会返回每日销量和收益。在 Android 上,google_query_vitals 默认会返回最近 28 天的崩溃率和 ANR 率。
提交 iOS 应用更新
1. apple_list_apps → get the app ID
2. apple_create_version / apple_update_version and localization tools → prepare version 1.1.0, release settings, and metadata
3. apple_upload_build → upload the signed IPA and wait for import
(or resume with apple_get_build_upload / apple_wait_for_build_upload)
If an ambiguous commit error retains a buildUploadId, inspect it with apple_get_build_upload; when it is AWAITING_UPLOAD or FAILED, delete it with apple_delete_build_upload before uploading again.
4. apple_set_build_encryption → answer export-compliance encryption for the imported build
(`true` can still require a manual encryption declaration, supporting documents, and appEncryptionDeclaration linkage in App Store Connect.)
5. apple_assign_build → attach the imported build to the version
6. apple_update_review_detail and apple_get_age_rating → verify review metadata
7. apple_submit_for_review → submit for App Review
8. For an update (not a first version), optionally configure a seven-day phased release before release.
9. After approval, use apple_release_version only for PENDING_DEVELOPER_RELEASE; then monitor or manage any phased release.
发布 Android 应用
1. google_create_edit → start an edit (or google_get_edit to verify a resumed edit)
2. google_list_bundles / google_list_apks → reuse an artifact already in the edit when possible
3. google_upload_bundle / google_upload_apk → upload only when the artifact is missing
4. Listing tools and google_update_data_safety → apply reviewed store changes as needed
5. google_create_release → create the target-track release with the exact versionCodes set
6. google_validate_edit → check for errors
7. google_commit_edit → commit changes for Play processing
8. google_list_release_statuses → inspect review and publishing state after commit
提交编辑内容并不保证会立即公开。Google Play 审核、托管发布和分阶段推出设置仍然适用。
管理 Google Play 应用内商品
1. google_list_iap → list all products
2. google_create_iap → create a new managed product
3. google_update_iap → update price or description
4. google_delete_iap → remove a product
创建 Google Play 订阅
1. google_create_subscription → create the subscription with listings and a
base plan (billing period, grace period, regional pricing in micros).
The base plan is created in DRAFT state.
2. google_activate_subscription_base_plan → flip the base plan to ACTIVE so
it becomes purchasable in the Play Store.
3. google_deactivate_subscription_base_plan → pause sales without deleting
the plan.
4. There is no supported subscription archive operation. Keep all base plans
deactivated when retiring a previously published subscription.
google_create_subscription 的参数示例:
{
"packageName": "com.example.app",
"productId": "com.example.app.pro_monthly",
"listings": [
{
"languageCode": "en-US",
"title": "Pro Monthly",
"description": "Unlock all premium features.",
"benefits": ["Ad-free", "Cloud sync", "Priority support"]
}
],
"basePlans": [
{
"basePlanId": "pro-monthly",
"autoRenewing": {
"billingPeriodDuration": "P1M",
"gracePeriodDuration": "P3D",
"accountHoldDuration": "P30D"
},
"regionalConfigs": [
{ "regionCode": "US", "priceMicros": "3990000", "currency": "USD" },
{ "regionCode": "TR", "priceMicros": "99000000", "currency": "TRY" }
]
}
]
}
价格以 微单位 表示(1 USD = 1,000,000 微单位),并在内部转换为 Play API 的 Money 格式(units + nanos)。regionsVersion 默认为 2022/02;目前,Play API 在提供区域定价时要求使用此值。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。