Token导航 LogoToken导航TokenDH.com
shipkit (Readmigo) logo
运维云端未说明官方级别未说明来源级核验

shipkit (Readmigo)

MCP Server

ShipKit是一个统一的多应用商店发布服务,支持Google Play、Apple App Store、Huawei AppGallery等10多个应用商店,通过单一API简化AI代理的发布流程。

工具数

8

提示词数

0

GitHub Stars

1

资源数

0
多平台支持TypeScriptClaudeClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

readmigo

提供方

readmigo

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

ShipKit——统一应用发布MCP服务器

](https://badge.fury.io/js/@readmigo%2Fshipkit-mcp) ![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org/)

AI Agent友好的统一应用发布,适用于Google Play、Apple app Store、华为AppGallery和10多个中国Android商店。

ShipKit是一个 模型上下文协议(MCP) 该服务器允许AI代理(Claude Code、Cursor、Windsurf)使用单个自然语言命令将应用程序发布到多个应用程序商店。它通过提供跨不同平台需求的统一API消除了手动发布工作流。

______________________________________________________________________

什么是ShipKit?

ShipKit弥合了“Vibe Coding”(人工智能辅助开发)和“Vibe Shipping”(人工智慧辅助出版)之间的差距。使用ShipKit,您可以询问您的AI代理:

"Help me publish v2.1.0 to all stores"

ShipKit处理复杂性:身份验证、构建工件上传、元数据转换、合规性检查和多平台发布编排。

为什么选择ShipKit?

  • 统一接口:一个MCP服务器,适用于10多个API差异巨大的应用商店
  • AI原生设计:专为AI代理理解、使用和自动化而构建
  • 多区域:全球商店(Google Play、App Store)+中国特定分销(小米、OPPO、vivo等)
  • 内置合规性:ICP、隐私政策和平台特定要求的提交前检查
  • 安全可靠:所有操作都支持幂等性密钥,并提供详细的错误恢复建议

______________________________________________________________________

支持的商店

存储平台区域身份验证上传格式状态
Google Play安卓全球OAuth 2.0服务帐户APK/AAB✅ 可用
苹果应用商店iOS全球智威汤逊(ES256)IPA✅ 可用
华为AppGallery安卓全球/中国OAuth 2.0APK/AAB✅ 可用
小米商店安卓中国RSA签名APK/AAB✅ 可用
OPPO商店安卓中国OAuth令牌APK/AAB✅ 可用
荣誉应用市场安卓中国OAuth 2.0APK/AAB✅ 可用
Pgyer安卓/iOS中国API密钥APK/IPA✅ 可用
vivo商店安卓中国API密钥+RPAAPK/AAB🚧 发展中
腾讯MyApp安卓中国应用密钥+HMAC-MD5APK🚧 发展中
三星Galaxy Store安卓全球智威汤逊服务帐户APK/AAB📋 计划中
HarmonyOSHarmonyOS中国OAuth 2.0(通过华为)HAP📋 计划中
魅族商店安卓中国定制APK/AAB📋 计划中

______________________________________________________________________

快速开始

Claude Code的安装

claude mcp add shipkit -- npx -y @readmigo/shipkit-mcp

克劳德桌面/光标/风帆的安装

添加到MCP配置文件中:

克劳德桌面版 (~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "shipkit": {
      "command": "npx",
      "args": ["-y", "@readmigo/shipkit-mcp"],
      "env": {
        "SHIPKIT_API_KEY": "sk-your-api-key-here"
      }
    }
  }
}

光标 (.cursor/mcp.json 在您的项目中):

{
  "mcpServers": {
    "shipkit": {
      "command": "npx",
      "args": ["-y", "@readmigo/shipkit-mcp"],
      "env": {
        "SHIPKIT_API_KEY": "sk-your-api-key-here"
      }
    }
  }
}

首次设置:连接您的商店

您需要在每家商店进行身份验证。ShipKit安全地存储凭据并自动处理令牌刷新。

Google Play设置

在中创建服务帐户 谷歌云控制台 并下载JSON密钥:

$ claude
> Connect me to Google Play
> I'll need your service account key...

以JSON格式提供凭据:

{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "key-id",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
  "client_email": "your-sa@your-project.iam.gserviceaccount.com",
  "client_id": "123456789",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token"
}

苹果应用商店设置

使用App Store Connect API凭据(基于JWT):

{
  "issuerId": "your-issuer-id",
  "keyId": "your-key-id",
  "privateKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
}

华为AppGallery设置

来自的OAuth 2.0凭据 华为AppGallery Connect:

{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret"
}

______________________________________________________________________

用法示例

示例1:首次连接到Google Play

User: I want to set up Google Play publishing. Where do I start?

Claude: I'll help you connect ShipKit to Google Play. First, let me check what
stores you have configured.

> store.list()
Connected stores: []

No stores connected yet. Let me guide you through setting up Google Play:

1. Go to Google Cloud Console (https://console.cloud.google.com/)
2. Create a new service account
3. Download the JSON key file
4. Paste the key contents when ready

User: [pastes JSON key]

Claude: Great! Let me configure this...

> store.connect({
    "store": "google_play",
    "credentials": { ... }
  })

✓ Google Play connected successfully!

Let me verify by listing your apps:

> store.list()
Connected stores:
  - google_play (3 apps: com.example.app, ...)

示例2:检查所有平台的状态

User: What's the status of v2.0.0 across all stores?

Claude: Let me check the review status for version 2.0.0...

> app.status({
    "app_id": "com.example.app",
    "version": "2.0.0"
  })

Status Report:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Store              Status           Days in Review    Notes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Google Play        IN_REVIEW        2                Automated review
Apple App Store    APPROVED         4                Live on App Store
Huawei AppGallery  APPROVED         5                Live in China
Xiaomi             REJECTED         -                Icon dimensions incorrect
OPPO               IN_REVIEW        1                Manual review queue
vivo               IN_QUEUE          0                Awaiting review
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Xiaomi rejected due to icon requirements. Let me get specific feedback...

> compliance.check({
    "app_id": "com.example.app",
    "stores": ["xiaomi"]
  })

Compliance Issues:
- Icon: Must be square with 18px rounded corners (you have 16px)
- Privacy Policy: Link must be in Settings > About > Privacy Policy menu

Suggested fix: Update icon and resubmit to Xiaomi.

示例3:将新版本发布到所有商店

User: Release v2.1.0 to all stores

Claude: I'll help you release v2.1.0. Let me start by running compliance
checks across all platforms...

> compliance.check({
    "app_id": "com.example.app",
    "version": "2.1.0",
    "stores": "all"
  })

✓ All platforms passed compliance checks!

Now uploading builds...

> app.upload({
    "app_id": "com.example.app",
    "version": "2.1.0",
    "builds": [
      { "format": "aab", "path": "./build/app-release.aab" },
      { "format": "ipa", "path": "./build/app.ipa" }
    ]
  })

Upload Progress:
  Google Play          ████████████████████ 100%
  Apple App Store      ████████████████████ 100%
  Huawei AppGallery    ████████████████████ 100%
  Xiaomi               ████████████████████ 100%
  OPPO                 ████████████████████ 100%

All builds uploaded successfully!

Now publishing to all platforms...

> app.publish({
    "app_id": "com.example.app",
    "version": "2.1.0",
    "stores": "all",
    "rollout_percentage": 100
  })

Publishing Status:
  ✓ Google Play - Submitted for review
  ✓ Apple App Store - Awaiting manual review
  ✓ Huawei AppGallery - Live immediately
  ✓ Xiaomi - Submitted for review
  ✓ OPPO - Submitted for review
  ⏳ vivo - Queued for review

Release v2.1.0 submitted to all stores! I'll monitor progress and notify
you when reviews complete.

______________________________________________________________________

MCP工具参考

ShipKit为应用程序发布操作提供了8个核心MCP工具:

工具类别描述参数状态
store.list发现列出所有已配置的存储及其连接状态app_id?✅ 可用
store.connect配置配置应用商店并进行身份验证store, credentials, app_id?✅ 可用
app.upload发布将APK/AAB/IPA/HAP构建工件上传到商店app_id, version, builds[], stores?✅ 可用
app.listing元数据查看和更新商店列表(标题、描述、屏幕截图等)app_id, action (获取/更新), store, locale?, content?✅ 可用
app.release发布管理发布轨迹、阶段和推出百分比app_id, version, stores, action (创建/更新), rollout_percentage?✅ 可用
app.status监控跨平台查询审核状态、审批状态和分析app_id, version?, stores?✅ 可用
app.publish发布提交应用程序以供审核或立即发布到指定商店app_id, version, stores[], release_track?, auto_publish?✅ 可用
compliance.check验证提交前合规性检查(ICP、隐私政策、图标规格等)app_id, version?, stores[]✅ 可用

______________________________________________________________________

建筑

ShipKit使用模块化适配器模式来处理截然不同的商店API:

┌─────────────────────────────────────┐
│   AI Tools & CI/CD Integration      │
│  (Claude Code, Cursor, Windsurf)    │
│     GitHub Actions, etc.             │
└──────────────┬──────────────────────┘
               │
               │ MCP Protocol (JSON-RPC)
               │ REST API, CLI
               ▼
┌─────────────────────────────────────┐
│      ShipKit Core Orchestrator       │
│  • Authentication Manager (unified)  │
│  • Metadata Transformer              │
│  • Job Queue (async/idempotent)      │
│  • Compliance Engine                 │
└──────────────┬──────────────────────┘
               │
    ┌──────────┼──────────┬─────────┬─────────┐
    ▼          ▼          ▼         ▼         ▼
┌────────┐ ┌───────┐ ┌──────┐ ┌──────┐ ┌──────┐
│ Google │ │Apple  │ │Huawei│ │Xiaomi│ │OPPO  │
│ Play   │ │App    │ │ AGC  │ │Store │ │Store │
│Adapter │ │Store  │ └──────┘ └──────┘ └──────┘
└────────┘ │Adapter│
           └───────┘

           ⋮ (vivo, Samsung, HarmonyOS, etc.)

           Plus RPA fallback for incomplete APIs

关键设计原则:

  1. 统一接口:所有商店都执行相同的操作 StoreAdapter 与以下方法接口 authenticate(), uploadBuild(), publishRelease(), getStatus()等等。
  1. 店铺特定处理:每个存储适配器封装特定于平台的详细信息(API版本、身份验证策略、元数据要求)。
  1. 异步作业队列:长时间运行的操作(上传、评论)排队等待指数重试、进度跟踪和死信处理。
  1. 临时运营:每个写入操作都接受一个 idempotency_key 以防止重复提交。
  1. 凭据管理:所有存储凭据都是加密的,并存储在服务器端。AI代理永远看不到原始凭证。
  1. RPA回退:对于没有完整API的商店,Playwright浏览器自动化提供了具有反检测措施的回退。

______________________________________________________________________

路线图

✅ 已完成(当前MVP)

  • \[x\] Google Play适配器(完全支持API)
  • \[x\] Apple App Store适配器(完全支持API)
  • \[x\] 华为AppGallery适配器(完全支持API)
  • \[x\] 小米商店适配器(支持API)
  • \[x\] OPPO商店适配器(支持API)
  • \[x\] 荣誉应用程序市场适配器(API支持)
  • \[x\] Pgyer适配器(测试分布)
  • \[x\] 配备8个核心工具的MCP服务器
  • \[x\] CLI工具(shipkit命令)
  • \[x\] 基本合规检查(ICP、隐私政策)
  • \[x\] TypeScript SDK

🚧 开发中(下季度)

  • \[\]vivo Store适配器(API+RPA混合型)
  • \[\]腾讯MyApp适配器(API+RPA混合)
  • \[\]增强的合规引擎(应用程序权限、内容评级)
  • \[\]用于监控和手动干预的Web仪表板
  • \[\]对CI/CD集成的Webhook支持
  • \[\]多账户管理(团队协作)

📋 计划(后期)

  • \[\]三星Galaxy Store适配器
  • \[\]HarmonyOS适配器(HarmonyOS NEXT)
  • \[\]魅族商店适配器
  • \[\]构建注册表集成(工件存储/版本控制)
  • \[\]分析聚合(跨商店的下载、评级、评论)
  • \[\]Python SDK
  • \[\]REST API v1.0(稳定版本)
  • \[\]商业托管/SaaS选项

______________________________________________________________________

贡献

添加新商店适配器

ShipKit的设计是可扩展的。以下是如何添加对新店的支持:

  1. 创建适配器文件: src/adapters/[store-name]-adapter.ts
  1. 实施 StoreAdapter 接口:
   export class NewStoreAdapter implements StoreAdapter {
     async authenticate(credentials: StoreCredentials): Promise
     async uploadBuild(build: BuildArtifact): Promise
     async createRelease(release: ReleaseConfig): Promise
     async updateListing(listing: ListingUpdate): Promise
     async submitForReview(version: string): Promise
     async getStatus(version: string): Promise
     async getAnalytics(version: string): Promise
   }
  1. 注册适配器:添加到 src/adapters/index.ts 并更新 store.list() 工具
  1. 添加测试:在中创建测试套件 src/adapters/__tests__/[store-name].test.ts
  1. 文件:更新此README并将特定于商店的文档添加到 docs/stores/

有关适配器开发的详细指南,请参阅 贡献部分 或者打开一个问题。

______________________________________________________________________

许可证

麻省理工学院——见 许可证 详情

______________________________________________________________________

文档

______________________________________________________________________

支持

______________________________________________________________________

内置于❤️ 用于AI原生应用发布

目录标签

目录标签

多平台支持TypeScriptClaude应用发布本地部署AI集成自动化发布合规检查

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP