codemagic-mcp 是一个 MCP(Model Context Protocol)服务器,旨在让 AI 智能体通过统一接口操作 Codemagic CI/CD 以及 App Store Connect 和 Google Play,实现由对话驱动的完整移动应用交付流水线——从接入仓库,到构建、签名和发布。
用途
该服务器为 AI 智能体提供跨五个领域的工具集,覆盖移动应用发布的主要环节:
- Codemagic:列出团队和应用、触发构建、等待结果、获取构建产物、拉取构建日志、管理变量组、缓存和 Webhook。
- App Store Connect:管理 TestFlight、上传和提交构建、设置上架文案与截图、验证、提交并发布到 App Store。
- Google Play:发布 AAB、提升发布版本、管理分阶段推送、设置上架文案与截图、读取并回复用户评论。
- 测试:解析任意 Codemagic 构建的 JUnit XML 测试结果,给出通过/失败/错误/跳过摘要及每个失败的详细信息。
- 跨商店:根据各平台字符限制和 BCP-47 语言代码校验本地化发布说明。
主要能力与预期流程
资料中给出的端到端流程示例: iOS:list_asc_builds → get_yaml_template → trigger_build → wait_for_build → upload_build_to_asc → set_version_metadata → validate_app_submission → submit_for_app_store_review → release_version Android:get_latest_build_number → get_yaml_template → trigger_build → wait_for_build → upload_to_google_play → promote_google_play_release
使用方式
环境要求
- Node.js 20 或 22(LTS)
- asc CLI(asccli.sh)——App Store Connect 工具所需
- google-play CLI(属于 codemagic-cli-tools)——Google Play 工具所需,安装命令:pip install codemagic-cli-tools
环境变量
需要为 App Store Connect 工具(iOS)和 Google Play 工具(Android)分别设置环境变量。Google Play 凭据可使用 @file: 前缀,避免内联粘贴 JSON。
安装与运行
推荐使用 npx,无需安装,将服务器加入 MCP 客户端配置即可自动下载运行。也可永久安装后使用 codemagic-mcp 作为命令,或从源码构建后使用本地路径。开发/测试可使用 MCP Inspector。
接入 Claude Desktop
将配置加入 claude_desktop_config.json。配置文件位置: macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json 连接后,可打开新对话并询问“ping the codemagic mcp server”来验证;若已连接,Claude 会调用 ping 工具并回复“Codemagic MCP server is running.”。若未连接,检查 args 路径是否正确、所需环境变量是否已设置,并用 Cmd+Q 完全重启 Claude Desktop。若服务器未出现,检查 CODEMAGIC_API_TOKEN 环境变量是否正确设置,以及 dist/index.js 的路径是否为绝对路径且正确。
工作流提示
连接后,在 Claude Desktop 输入框输入 / 可打开命令选择器,会看到来自该服务器的五个工作流提示。选择提示后,Claude 会收到分步操作手册,并开始使用可用工具执行工作流。
示例对话
也可用自然语言描述需求,Claude 会自动选择合适工具,例如:
- “I have a Flutter app at github.com/example/myapp. Set it up on Codemagic and get a first build running.”
- “Trigger a release build for my Android app, version 2.1.0. The last build number on Google Play was 41.”
- “What is the current App Store review status for my iOS app?”
适用场景
适合需要通过 AI 智能体以对话方式管理 iOS 和 Android 应用构建、签名与发布流程的开发者或团队,尤其是使用 Codemagic CI/CD 并同时涉及 App Store Connect 和 Google Play 的场景。
限制与注意事项
- 内联 YAML:trigger_build 接受可选的 yaml_content 参数。提供时,YAML 会随构建请求一起上传,无需存在于仓库中,适合智能体生成的配置。
- 构建号:模板使用 $BUILD_NUMBER 和 $VERSION_NAME 作为普通变量,YAML 内不会进行商店查询。智能体需在触发前通过 list_asc_builds 或 list_google_play_tracks 确定正确值,再通过 trigger_build 的 variables 参数传入。
- 签名:iOS 签名在 Codemagic 构建机器(macOS + keychain)上进行,MCP 服务器不直接处理签名身份。
- 团队与个人账户:list_applications 和 list_builds 接受可选的 team_id。不提供时,操作针对已认证用户的个人账户。
- 变量组与密钥:add_variable 仅创建非密钥变量。密钥值(API 密钥、证书、令牌)应直接在 Codemagic UI 中添加——密钥不应经过智能体。设置完成后,可在 trigger_build 中通过 groups 参数按名称引用变量组。
- 项目结构:src/ 模块包含纯函数(API 调用、CLI 封装),不依赖 MCP;src/tools/ 模块将这些函数接入为 MCP 工具,负责输入模式、格式化和错误响应。
其他具体配置细节(如完整环境变量列表、各平台凭据字段、五个工作流提示的具体名称与内容)在提供的资料中暂未完整展开。