Skip to main content
Glama
imfaisii

App Store Connect MCP Server

by imfaisii

App Store Connect MCP 服务器

完整的 App Store Connect API,以 MCP 服务器的形式呈现。 1,263 个操作直接从 Apple 官方 OpenAPI 规范生成,通过仅 4 个节省 token 的工具 暴露给 Claude Code、Claude Desktop、Cursor 以及所有其他模型上下文协议客户端。

CI 模型上下文协议 App Store Connect API 4.4.1 1263 个操作 4 个 MCP 工具 Bun TypeScript 许可证:MIT


什么是 App Store Connect MCP 服务器?

app-store-connect-mcp 是一个开源的 App Store Connect API 的模型上下文协议(MCP)服务器。安装一次,你的 AI 代理即可读写 Apple 为你的应用和开发者账户暴露的一切内容:

App Store 列表和元数据 · TestFlight 构建、测试组和测试员 · 应用内购买 · 自动续订订阅、优惠和赢回优惠 · Game Center 排行榜、成就和匹配 · Xcode Cloud 工作流和构建运行 · 配置配置文件、证书、Bundle ID 和设备 · App Review 提交和审核详情 · 客户评论和回复 · 定价、可用性和地区 · 销售、财务和分析报告 · 用户、角色和邀请 · App Clips、背景素材和替代分发。

大多数 App Store Connect MCP 服务器只是手工包装两三个打头的端点,然后逐渐过时。这个服务器是从 Apple 发布的 OpenAPI 规范生成的,因此覆盖范围是完整的文档化表面,并且通过一次 bun run generate 即可保持最新。

本仓库中不包含任何凭据。 你在运行时通过环境变量提供自己的 App Store Connect API 密钥。除了 Apple 之外,没有任何内容被捆绑、记录或传输到任何地方。

目录


Related MCP server: App Store Connect MCP

概览

它是什么

完整 App Store Connect API 的 MCP 服务器

API 版本

App Store Connect API 4.4.1(OpenAPI 3.0.1)

目录中的操作

1,263 — 每个路径 + 方法一个

API 路径

966

资源标签

195

注册的 MCP 工具

4 个元工具:asc_searchasc_schemaasc_callasc_tags

方法拆分

797 个 GET · 176 个 POST · 158 个 PATCH · 132 个 DELETE

事实来源

Apple 的 OpenAPI zip,存放在 openapi/app-store-connect.openapi.json

认证

运行时从 Issuer ID + Key ID + .p8 私钥构建的 ES256 JWT

基础 URL

https://api.appstoreconnect.apple.com(可覆盖)

传输

stdio

运行时

Bun 1.1+ 和 @modelcontextprotocol/sdk

许可证

MIT


为什么是 4 个工具而不是 1,263 个

将每个 OpenAPI 操作注册为独立的 MCP 工具,会把 1,263 个完整的 JSON Schema 塞进模型的上下文窗口。这相当于在代理做任何实际工作之前就烧掉了数十万个 token——而且许多客户端会直接拒绝或截断如此庞大的工具列表。

这个服务器将完整的目录保持在内部,并在其上暴露一个小而稳定的表面:

asc_search  →  find operations           (names, methods, paths, tags — no schemas)
asc_schema  →  describe one operation    (full input JSON Schema + call hint)
asc_call    →  execute one operation     (real request, or _dryRun)
asc_tags    →  list resource tags        (with operation counts, to narrow search)

代理只为它即将使用的那个 schema 付费,其他什么都不用付。一个典型的三步流程只需花费几千个 token,而不是几十万个。

逃生通道(仅用于调试)

export ASC_EXPOSE_ALL_TOOLS=1   # also register all 1,263 operations as individual MCP tools

在正常使用中不要设置这个。它只用于规范调试,而且在上下文中极其昂贵。


四个 MCP 工具

对 operationId、名称、路径、标签、方法和描述进行全文搜索。返回排序后的命中结果,不包含 JSON Schema。

参数

类型

必填

描述

query

string

可选*

自由文本,例如 "list apps""beta testers""sales reports""/v1/builds"

tag

string

可选*

精确的 OpenAPI 标签过滤器,例如 AppsBuildsBetaGroups

method

string

可选

GETPOSTPATCHDELETEPUT

limit

integer

可选

最大命中数,默认 15,最大 50

* querytagmethod 中至少一个。

{ "query": "list apps", "method": "GET", "limit": 5 }

asc_schema — 描述一个操作

返回操作的完整输入 JSON Schema、其路径参数列表、查询参数列表,以及一个显示如何调用它的 callHint

参数

类型

必填

描述

operation

string

OperationId 或生成的工具名称,例如 apps_getCollection

asc_call — 执行操作

参数

类型

必填

描述

operation

string

OperationId 或生成的工具名称

args

object

可选

路径参数、查询参数、body_dryRun。允许附加属性

_dryRun

boolean

可选

解析方法/路径/查询/body 而不调用 Apple

路径和查询字段可以嵌套在 args 内部,也可以作为 operation 旁边的顶层键。JSON:API 写入放在 body 中。

// read
{ "operation": "apps_getCollection", "args": { "limit": 10, "fields[apps]": "name,bundleId,sku" } }

// dry run — no network call, shows the resolved request
{ "operation": "apps_getCollection", "_dryRun": true, "args": { "limit": 10 } }

// write (JSON:API document)
{
  "operation": "betaGroups_createInstance",
  "args": {
    "body": {
      "data": {
        "type": "betaGroups",
        "attributes": { "name": "Internal QA" },
        "relationships": { "app": { "data": { "type": "apps", "id": "1234567890" } } }
      }
    }
  }
}

asc_tags — 在 API 内部定位

参数

类型

必填

描述

limit

integer

可选

最大标签数,默认全部 195 个,按操作数排序

响应处理

  • JSON 响应以解析后的形式返回。

  • CSV、XML 和文本响应以文本形式返回。

  • Gzip 和二进制下载(财务报告、销售报告)以 base64 形式返回,并带有 encodingcontentTypebyteLength 和解码说明。

  • 超过约 120,000 个字符的响应会被截断,并提示缩小 filter[…]fields[…]limit

  • HTTP 4xx/5xx 会以 MCP 错误的形式呈现,并保留 Apple 自己的错误主体,以便代理读取 Apple 的 detail 字符串并自我纠正。


覆盖范围:每个 App Store Connect 资源

所有 1,263 个操作,分布在 195 个资源标签中。计数是每个标签的操作数。

应用、列表和 App Store 元数据 — 约 250 个操作

Apps (86) · AppStoreVersions (30) · AppInfos (20) · AppCustomProductPageLocalizations (12) · AppStoreVersionExperiments (12) · AppStoreVersionLocalizations (12) · AppEncryptionDeclarations (8) · AppEventLocalizations (8) · AppStoreVersionExperimentTreatmentLocalizations (7) · AppCategories (6) · AppCustomProductPages (6) · AppEvents (6) · AppPreviewSets (6) · AppScreenshotSets (6) · AppStoreVersionExperimentTreatments (6) · EndUserLicenseAgreements (6) · AppCustomProductPageVersions (5) · AppInfoLocalizations (4) · AppPreviews (4) · AppScreenshots (4) · AppEventScreenshots (4) · AppEventVideoClips (4) · AccessibilityDeclarations (4) · AndroidToIosAppMappingDetails (4) · AppTags (3) · AppStoreVersionPhasedReleases (3) · AgeRatingDeclarations (1) · AppStoreVersionPromotions (1) · AppStoreVersionReleaseRequests (1) · RoutingAppCoverages (4)

TestFlight 和 beta 测试 — 约 90 个操作

BetaGroups (21) · BetaTesters (16) · BetaAppLocalizations (7) · BetaBuildLocalizations (7) · PreReleaseVersions (6) · BetaAppReviewDetails (5) · BetaAppReviewSubmissions (5) · BetaLicenseAgreements (5) · BuildBetaDetails (5) · BetaAppClipInvocations (4) · BetaFeedbackCrashSubmissions (4) · BetaRecruitmentCriteria (3) · BetaAppClipInvocationLocalizations (3) · BetaFeedbackScreenshotSubmissions (2) · BetaCrashLogs (1) · BetaRecruitmentCriterionOptions (1) · BetaTesterInvitations (1) · BuildBetaNotifications (1)

构建和上传 — 约 50 个操作

Builds (30) · BuildBundles (8) · BuildUploads (5) · BuildUploadFiles (3) · DiagnosticSignatures (1)

应用内购买和订阅 — 约 200 个操作

Subscriptions (32) · InAppPurchases (25) · SubscriptionGroups (10) · InAppPurchaseOfferCodes (9) · SubscriptionOfferCodes (9) · InAppPurchaseImages (8) · InAppPurchaseLocalizations (8) · InAppPurchasePriceSchedules (8) · InAppPurchaseVersions (8) · SubscriptionGroupLocalizations (8) · SubscriptionImages (8) · SubscriptionLocalizations (8) · SubscriptionVersions (8) · SubscriptionPlanAvailabilities (6) · SubscriptionPromotionalOffers (6) · WinBackOffers (6) · InAppPurchaseAppStoreReviewScreenshots (4) · InAppPurchaseAvailabilities (4) · InAppPurchaseOfferCodeOneTimeUseCodes (4) · SubscriptionAppStoreReviewScreenshots (4) · SubscriptionAvailabilities (4) · SubscriptionGroupVersions (4) · SubscriptionOfferCodeOneTimeUseCodes (4) · SubscriptionPricePoints (4) · InAppPurchaseOfferCodeCustomCodes (3) · SubscriptionIntroductoryOffers (3) · SubscriptionOfferCodeCustomCodes (3) · PromotedPurchases (4) · InAppPurchasePricePoints (2) · SubscriptionGracePeriods (2) · SubscriptionPrices (2) · InAppPurchaseContents (1) · InAppPurchaseSubmissions (1) · SubscriptionGroupSubmissions (1) · SubscriptionSubmissions (1) · SandboxTesters (2) · SandboxTestersClearPurchaseHistoryRequest (1)

Game Center — 约 330 个操作

GameCenterDetails (42) · GameCenterGroups (29) · GameCenterLeaderboardSets (27) · GameCenterLeaderboards (21) · GameCenterAchievements (19) · GameCenterAchievementLocalizations (14) · GameCenterActivities (14) · GameCenterLeaderboardLocalizations (12) · GameCenterLeaderboardSetLocalizations (12) · GameCenterMatchmakingRuleSets (11) · GameCenterMatchmakingQueues (10) · GameCenterAppVersions (9) · GameCenterAchievementImages (8) · GameCenterChallenges (8) · GameCenterLeaderboardImages (8) · GameCenterLeaderboardSetImages (8) · GameCenterLeaderboardSetMemberLocalizations (8) · GameCenterActivityVersions (7) · GameCenterActivityLocalizations (6) · GameCenterChallengeLocalizations (6) · GameCenterChallengeVersions (6) · GameCenterMatchmakingRules (6) · GameCenterEnabledVersions (5) · 以及成就/排行榜/活动/挑战的版本、图片、发布、匹配队伍、规则集测试、参赛提交和玩家成就提交

Xcode Cloud(持续集成) — 约 50 个操作

CiProducts (13) · CiBuildActions (9) · CiWorkflows (8) · CiBuildRuns (6) · ScmRepositories (6) · CiMacOsVersions (4) · CiXcodeVersions (4) · ScmProviders (4) · CiArtifacts (1) · CiIssues (1) · CiTestResults (1) · ScmGitReferences (1) · ScmPullRequests (1)

证书、标识符和描述文件 — 约 45 个操作

BundleIds (11) · Profiles (10) · Certificates (7) · MerchantIds (7) · PassTypeIds (7) · Devices (4) · BundleIdCapabilities (3)

App 审核与提交 — 约 20 个操作

ReviewSubmissions (6) · AppStoreReviewDetails (5) · AppStoreReviewAttachments (4) · ReviewSubmissionItems (3) · AppStoreVersionSubmissions (1)

定价、可用性和地区 — 约 25 个操作

AppPriceSchedules (8) · AppAvailabilities (4) · AppPricePoints (3) · Nominations (5) · Territories (1) · TerritoryAvailabilities (1) · EndAppAvailabilityPreOrders (1)

报告和分析 — 约 15 个操作

AnalyticsReportRequests (5) · AnalyticsReportInstances (3) · AnalyticsReports (3) · AnalyticsReportSegments (1) · SalesReports (1) · FinanceReports (1)

客户评论 — 6 个操作

CustomerReviews (3) · CustomerReviewResponses (3)

用户和访问 — 约 15 个操作

Users (9) · UserInvitations (6) · Actors (2)

App Clips — 约 30 个操作

AppClipDefaultExperiences (11) · AppClipDefaultExperienceLocalizations (6) · AppClips (5) · AppClipHeaderImages (4) · AppClipAdvancedExperienceImages (3) · AppClipAdvancedExperiences (3) · AppClipAppStoreReviewDetails (3)

后台资源 — 约 15 个操作

BackgroundAssets (5) · BackgroundAssetVersions (4) · BackgroundAssetUploadFiles (3) · 以及 App Store、内部 beta 和外部 beta 发布端点

替代分发(欧盟 DMA) — 约 15 个操作

AlternativeDistributionPackageVersions (5) · AlternativeDistributionDomains (4) · AlternativeDistributionKeys (4) · AlternativeDistributionPackages (4) · MarketplaceWebhooks (4) · MarketplaceSearchDetails (3) · AlternativeDistributionPackageDeltas (1) · AlternativeDistributionPackageVariants (1)

Webhooks — 8 个操作

Webhooks (6) · WebhookDeliveries (1) · WebhookPings (1)

随时运行 asc_tags 以获取实时、准确的列表。


要求

  • Bun 1.1 或更高版本

  • 一个 App Store Connect API 密钥:Issuer ID、Key ID 和 .p8 私钥文件

  • 一个支持 stdio 的 MCP 客户端:Claude Code、Claude Desktop、Cursor、Windsurf、带有 MCP 扩展的 VS Code、Zed,或你自己的代理


获取你的 App Store Connect API 密钥

  1. 登录 App Store Connect

  2. 前往 用户和访问 → 集成 → App Store Connect API

  3. 点击 + 生成密钥。选择覆盖你的用例的最小角色(用户管理用 DeveloperApp ManagerAdmin)。

  4. 复制 Issuer ID(一个 UUID,在页面顶部仅显示一次)。

  5. 复制 Key ID(10 个字符)。

  6. 下载 .p8 私钥文件。Apple 只允许你下载一次。 将它存放在你的仓库之外,例如 ~/.appstoreconnect/AuthKey_XXXXXXXXXX.p8,并对其执行 chmod 600

Apple 的官方指南:为 App Store Connect API 创建 API 密钥


在 Claude Code 中安装

git clone https://github.com/imfaisii/asc-mcp.git
cd asc-mcp
bun install
bun run smoke     # offline catalog check + server boot — no credentials needed

全局注册服务器:

claude mcp add app-store-connect \
  -s user \
  -t stdio \
  -e ASC_ISSUER_ID=your-issuer-uuid \
  -e ASC_KEY_ID=your-key-id \
  -e ASC_PRIVATE_KEY_PATH=$HOME/.appstoreconnect/AuthKey_XXXXXXXXXX.p8 \
  -- bun run /ABS/PATH/to/asc-mcp/src/index.ts

验证并重启:

claude mcp get app-store-connect
claude mcp list

启动一个新的 Claude Code 会话。工具会以 mcp__app-store-connect__asc_search…asc_schema…asc_call…asc_tags 的形式出现。


在 Claude Desktop 中安装

将以下内容添加到 claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "app-store-connect": {
      "command": "bun",
      "args": ["run", "/ABS/PATH/to/asc-mcp/src/index.ts"],
      "env": {
        "ASC_ISSUER_ID": "your-issuer-uuid",
        "ASC_KEY_ID": "your-key-id",
        "ASC_PRIVATE_KEY_PATH": "/ABS/PATH/to/AuthKey_XXXXXXXXXX.p8"
      }
    }
  }
}

重启 Claude Desktop。


在 Cursor、Windsurf、VS Code 和其他 MCP 客户端中安装

任何能启动 stdio MCP 服务器的客户端都可以。配置形式始终相同——本仓库中的 mcp.example.json 是一个可直接复制的模板。

Cursor~/.cursor/mcp.json(全局)或 .cursor/mcp.json(按项目):

{
  "mcpServers": {
    "app-store-connect": {
      "command": "bun",
      "args": ["run", "/ABS/PATH/to/asc-mcp/src/index.ts"],
      "env": {
        "ASC_ISSUER_ID": "your-issuer-uuid",
        "ASC_KEY_ID": "your-key-id",
        "ASC_PRIVATE_KEY_PATH": "/ABS/PATH/to/AuthKey_XXXXXXXXXX.p8"
      }
    }
  }
}

Windsurf~/.codeium/windsurf/mcp_config.json,使用相同的 mcpServers 配置块。

VS Code.vscode/mcp.json,使用一个 servers 配置块,包含相同的 commandargsenv

你自己的代理 — 运行 bun run src/index.ts,并通过 stdio 进行 MCP 通信。在原始终端中它看起来像是挂起了;那其实是一个正在等待客户端的 stdio 服务器,这是正常现象。


环境变量

变量

是否必需

用途

ASC_ISSUER_ID

来自 App Store Connect 的 Issuer ID(UUID)

ASC_KEY_ID

Key ID(10 个字符)

ASC_PRIVATE_KEY_PATH

*

.p8 私钥文件的绝对路径

ASC_PRIVATE_KEY

*

内联 PEM 内容,代替文件路径(在 CI 中有用)

ASC_BASE_URL

默认为 https://api.appstoreconnect.apple.com

ASC_EXPOSE_ALL_TOOLS

1 会将全部 1,263 个操作注册为独立的 MCP 工具。仅用于调试

* 请只提供 ASC_PRIVATE_KEY_PATHASC_PRIVATE_KEY 其中之一。

以下别名同样被接受:APP_STORE_CONNECT_ISSUER_IDAPP_STORE_CONNECT_KEY_IDAPP_STORE_CONNECT_PRIVATE_KEY_PATHAPP_STORE_CONNECT_PRIVATE_KEY

在本地 shell 中,将 .env.example 复制为 .env.env**.p8 已在 .gitignore 中。


代理如何使用它

1. asc_tags                                     # optional: orient inside 195 resource tags
2. asc_search { query: "list apps" }            # find candidate operations
3. asc_schema { operation: "apps_getCollection" }  # read the exact input schema
4. asc_call   { operation: "apps_getCollection", args: { limit: 10 } }

对于任何写入操作,先以试运行(dry run)方式执行:

{ "operation": "appStoreVersions_updateInstance", "_dryRun": true, "args": { "id": "…", "body": { } } }

_dryRun 会返回解析后的方法、路径、路径参数、查询参数和请求体,而不会实际访问 Apple,因此代理可以在提交前检查自己的请求。


示例提示词

服务器连接后,以下这些都可以用自然语言直接使用:

  • "列出我的应用及其 bundle ID 和 SKU。"

  • "显示 MyApp 最近 5 个 TestFlight 构建以及它们分发给了谁。"

  • "为 MyApp 创建一个名为 Internal QA 的 TestFlight beta 组,并添加这三位测试员。"

  • "MyApp 当前在各个本地化中的 App Store 版本是什么?哪些缺少描述?"

  • "拉取本月销售报告,并按地区汇总销量。"

  • "列出我的订阅组中所有自动续订订阅及其价格点。"

  • "哪些描述文件将在未来 30 天内过期?"

  • "显示我最近的 App 审核提交及其拒绝原因。"

  • "获取最新的 1 星或 2 星客户评论,并起草回复。"

  • "触发名为 Release 的 Xcode Cloud 工作流,并报告构建运行状态。"

  • "我的哪些应用内购买缺少审核截图?"

  • "将此设备的 UDID 添加到我的账户,并重新生成开发描述文件。"


脚本

命令

用途

bun install

安装依赖

bun run generate

根据随附的 OpenAPI 规范重新生成 generated/tools.jsongenerated/manifest.json

bun run start

启动 stdio MCP 服务器

bun run smoke

生成、验证目录清单、启动服务器。仅当环境中存在凭据时,才会运行一次真实的 GET /v1/apps

bun run typecheck

tsc --noEmit

bun run live

针对 GET /v1/apps 进行实时凭据检查


刷新 Apple 的 OpenAPI 规范

Apple 提供的是一个 zip 文件。将 JSON 纳入项目、重新生成、验证:

curl -fsSL -o /tmp/asc-openapi.zip \
  "https://developer.apple.com/sample-code/app-store-connect/app-store-connect-openapi-specification.zip"
unzip -p /tmp/asc-openapi.zip '*.json' > openapi/app-store-connect.openapi.json
bun run generate
bun run smoke

generated/ 是构建输出。切勿手动编辑——应重新生成。

覆盖范围说明:“完整表面”指的是 Apple 发布的 OpenAPI zip 中针对所纳入版本的所有操作。如果某个端点在 Apple 的人工文档中有描述但 zip 中缺失,那么在 Apple 更新 zip 并你重新生成后,它就会出现在这里。


项目结构

asc-mcp/
├── openapi/
│   └── app-store-connect.openapi.json   # Apple's spec, vendored (source of truth)
├── generated/
│   ├── tools.json                       # 1263-operation catalog (build output)
│   └── manifest.json                    # counts, tags, spec version
├── src/
│   ├── index.ts                         # MCP stdio server, 4 meta-tools
│   ├── catalog.ts                       # search / resolve over the catalog
│   ├── client.ts                        # fetch wrapper, response shaping
│   ├── auth.ts                          # ES256 JWT, in-memory cache
│   └── types.ts
├── scripts/
│   ├── generate-tools.ts                # OpenAPI → catalog
│   ├── smoke.ts                         # offline inventory + boot check
│   └── live-check.ts                    # live GET /v1/apps
├── assets/                              # README graphics
├── mcp.example.json
├── .env.example
└── package.json

安全模型

  • 此仓库中不存储任何机密信息。 凭据仅来自环境变量。

  • .gitignore 会阻止 *.p8AuthKey_*.p8.env*

  • JWT 使用 ES256,使用你的 .p8 在本地签名,受众范围为 appstoreconnect-v1,有效期为 20 分钟(Apple 的上限),仅在内存中缓存,并在过期前 60 秒刷新。

  • 工具结果绝不会将凭据回显给模型。

  • 唯一的网络目标是 ASC_BASE_URL,其默认值为 Apple 的 API 主机。

  • 如果你不小心提交了 .p8请立即在 App Store Connect 中撤销该密钥并生成一个新密钥。

有关报告漏洞的信息,请参阅 SECURITY.md


故障排除

Missing credentials / ASC_ISSUER_ID not set MCP 客户端未传递环境变量。请将变量放入客户端的 env 块中,而不是你的 shell 配置文件中——GUI 应用(如 Claude Desktop 和 Cursor)不会继承你的 shell 环境。

HTTP 401 NOT_AUTHORIZED Issuer ID、Key ID 和 .p8 必须全部属于同一个密钥。请确认 Key ID 与文件名(AuthKey_<KeyID>.p8)匹配,并且该密钥未被撤销。

HTTP 403 FORBIDDEN_ERROR 该密钥的角色对此操作而言权限过窄。用户管理和财务报告需要比 Developer 更高的角色。

HTTP 409 并带有 JSON:API detail 字符串 Apple 拒绝了文档结构。请使用 _dryRun: true 运行相同的调用,与 asc_schema 输出进行对比,然后修复 body

当我运行 bun run start 时服务器“挂起” 这是正确的行为。stdio MCP 服务器会阻塞等待客户端通过 stdin 输入。如果你想要一个执行后即退出的检查,请使用 bun run smoke

工具未显示在我的客户端中 编辑 MCP 配置后请重启客户端,并使用 src/index.ts 的绝对路径。请确认 bun 位于客户端可见的 PATH 中(which bun),或者使用 bun 二进制的绝对路径作为 command

响应被截断 超过 ~120,000 字符的负载会被截断。请使用 fields[…]filter[…]limit 来缩小范围,而不是拉取整个集合。


常见问题

这是 Apple 的官方产品吗? 不是。这是一个独立的开源项目。"App Store Connect"、"TestFlight"、"Xcode" 和 "Game Center" 是 Apple Inc. 的商标。

这个 MCP 服务器暴露了多少个工具? 默认四个——asc_searchasc_schemaasc_callasc_tags——它们基于包含 1,263 个 App Store Connect API 操作的内部目录。设置 ASC_EXPOSE_ALL_TOOLS=1 会单独注册全部 1,263 个工具,这仅用于调试。

它支持 TestFlight 吗? 支持。大约 90 个操作涵盖 beta 群组、beta 测试员、邀请、beta 构建本地化、beta 应用审核提交、崩溃反馈和招募标准。

代理可以为我提交应用审核吗? 可以。ReviewSubmissionsReviewSubmissionItemsAppStoreVersionSubmissions 和审核详情资源都在目录中。请先使用 _dryRun,并且对于任何提交到 App Store 的操作,都要保留人工审核环节。

它兼容 Cursor、Windsurf 和 VS Code 吗? 兼容。它是一个普通的 stdio MCP 服务器,因此任何 Model Context Protocol 客户端都可以启动它。

它会存储或传输我的 App Store Connect API 密钥吗? 不会。密钥在调用时从环境中读取,用于在本地签署短期 JWT,该 JWT 仅发送到 Apple 的 API 主机。

它与其他 App Store Connect MCP 服务器有何不同? 大多数是围绕一小部分端点的手写封装。这个服务器根据 Apple 官方的 OpenAPI 规范生成其目录,因此覆盖了整个已发布的 API 面,而且刷新只需一条命令,无需重写。

为什么不直接给模型 1,263 个工具? 1,263 个操作的完整 JSON Schema 会消耗数十万个上下文 token,而且许多客户端会截断或拒绝这么长的列表。先搜索、再取 schema、然后调用,每个任务只需几千个 token。

我可以在 CI 中使用它吗? 可以。使用内联 PEM 设置 ASC_PRIVATE_KEY,而不是文件路径,这样 .p8 就不需要出现在运行器的磁盘上。

它处理 App Store Connect API 的速率限制吗? 它不会替你重试。Apple 的速率限制响应和响应头会直接透传,以便代理(或你的代码)自行决定如何退避。

内置的是哪个 App Store Connect API 版本? 4.4.1,OpenAPI 3.0.1。放入更新的规范后,运行 bun run generate 即可升级。


贡献

欢迎提交 issue 和 pull request。请参阅 CONTRIBUTING.md。最重要的两条规则:generated/ 是通过脚本重新生成的,而不是手工编辑的;任何凭据都绝不能出现在 pull request 中。


许可证

MIT © imfaisii

与 Apple Inc. 无关联,也未获得其认可。


关键词: App Store Connect MCP · App Store Connect API MCP 服务器 · 适用于 App Store Connect 的 MCP 服务器 · Model Context Protocol Apple · TestFlight MCP · Xcode Cloud MCP · 应用内购买 MCP · App Store 自动化 · Claude Code App Store Connect · Cursor MCP App Store Connect · 使用 AI 代理实现 iOS 发布自动化

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.

  • 100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/imfaisii/asc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server