Bitrise MCP 工具
Bitrise CI/CD平台的服务器接口,通过自然语言交互实现应用管理、构建操作、制品管理及发布管理。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"bitrise": {
"args": [
"--from",
"git+https://github.com/bitrise-io/bitrise-mcp@v1.1.0",
"bitrise-mcp",
"--enabled-api-groups",
"cache-items,pipelines"
],
"command": "\u003cABSOLUTE_PATH_TO\u003e/uvx",
"env": {
"BITRISE_TOKEN": "\u003cYOUR_PAT\u003e"
}
}
}
}
该服务需要配置环境变量:BITRISE_TOKEN
服务介绍
Bitrise MCP 服务器
用于 Bitrise API 的 MCP 服务器,支持应用程序管理、构建操作、工件管理等功能。
功能
- 全面的 API 访问:访问 Bitrise API,包括应用程序、构建、工件等。
- 认证支持:通过安全的基于 API 令牌的方式访问 Bitrise 资源。
- 详细的文档:工具附有参数描述的详尽文档。
设置
环境设置
环境设置示例
请阅读 uv 和 pylint 的官方文档以获取更多选项。
# Install pyenv and python 3.12.6
curl -fsSL https://pyenv.run | bash
pyenv install 3.12.6
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Bitrise API 令牌
- 前往您的 Bitrise 账户设置/安全性。
- 导航到“个人访问令牌”部分。
- 复制生成的令牌。
与 Claude Desktop 一起使用
本指南使用 Claude Desktop 作为 MCP 客户端,但您也可以使用任何其他兼容 MCP 的客户端,并根据需要调整以下配置选项。
打开 Claude 设置,然后导航到开发者标签页。
点击 编辑配置。这将创建一个名为 claude_desktop_config.json 的配置文件。使用您喜欢的编辑器打开此文件,并添加 Bitrise MCP 服务器:
{
"mcpServers": {
"bitrise": {
"command": "uvx",
"env": {
"BITRISE_TOKEN": "<YOUR_TOKEN>"
},
"args": [
"--from",
"git+https://github.com/bitrise-io/bitrise-mcp@v1.1.0",
"bitrise-mcp"
]
}
}
}
保存配置文件并重启 Claude Desktop。如果一切设置正确,您应该会在消息撰写器旁边看到一个锤子图标。
您可以限制暴露给 MCP 客户端的工具数量。如果您希望优化令牌使用或您的 MCP 客户端对工具数量有限制时,这非常有用。
工具按其“API 组”分组,您可以传递想要作为工具暴露的组。可能的值为:apps, builds, workspaces, webhooks, build-artifacts, group-roles, cache-items, pipelines, account, read-only, release-management。
我们建议单独使用 release-management API 组,以避免与 apps API 组混淆。
示例配置:
{
"mcpServers": {
"bitrise": {
"command": "<ABSOLUTE_PATH_TO>/uvx",
"env": {
"BITRISE_TOKEN": "<YOUR_PAT>"
},
"args": [
"--from",
"git+https://github.com/bitrise-io/bitrise-mcp@v1.1.0",
"bitrise-mcp",
"--enabled-api-groups",
"cache-items,pipelines"
]
}
}
}
工具
应用程序
-
list_apps- 列出经过身份验证的账户中所有可用的应用程序
- 参数:
sort_by(可选): 应用程序的排序方式:last_build_at(默认)或 created_atnext(可选): 响应中的第一个应用程序的标识符limit(可选): 每页的最大元素数量(默认: 50)
-
register_app- 向 Bitrise 添加一个新的应用程序
- 参数:
repo_url: 仓库 URLis_public: 应用程序构建可见性是否为“公开”organization_slug: 要添加到的组织(也称为工作区)project_type(可选): 项目类型(如 ios, android 等)provider(可选): github
-
finish_bitrise_app- 完成 Bitrise 应用程序的设置
- 参数:
app_slug: 需要完成设置的 Bitrise 应用程序的标识符project_type(可选): 项目类型(例如,android, ios, flutter 等)stack_id(可选): 用于该应用的堆栈 IDmode(可选): 设置模式config(可选): 应用程序使用的配置
-
get_app- 获取特定应用程序的详细信息
- 参数:
app_slug: Bitrise 应用程序的标识符
-
delete_app- 从 Bitrise 删除一个应用程序
- 参数:
app_slug: Bitrise 应用程序的标识符
-
update_app- 更新一个应用程序
- 参数:
app_slug: Bitrise 应用程序的标识符is_public: 应用程序构建可见性是否为“公开”project_type: 项目类型provider: 仓库提供者repo_url: 仓库 URL
-
get_bitrise_yml- 获取指定 Bitrise 应用程序当前的 Bitrise YML 配置文件
- 参数:
app_slug: Bitrise 应用程序的标识符
-
update_bitrise_yml- 更新指定 Bitrise 应用程序的 Bitrise YML 配置文件
- 参数:
app_slug: Bitrise 应用程序的标识符bitrise_yml_as_json: 新的 Bitrise YML 配置文件内容
-
list_branches- 列出应用程序仓库中具有现有构建的所有分支
- 参数:
app_slug: Bitrise 应用程序的标识符
-
register_ssh_key- 为特定应用程序添加 SSH 密钥
- 参数:
app_slug: Bitrise 应用程序的标识符auth_ssh_private_key: 私有 SSH 密钥auth_ssh_public_key: 公共 SSH 密钥is_register_key_into_provider_service: 是否在提供者服务中注册密钥
-
register_webhook- 为特定应用程序注册一个传入的 webhook
- 参数:
app_slug: Bitrise 应用程序的标识符
构建
-
list_builds- 列出指定 Bitrise 应用的所有构建或所有可访问的构建
- 参数:
app_slug(可选): Bitrise 应用的标识符sort_by(可选): 构建的排序方式:created_at(默认)、running_firstbranch(可选): 按分支过滤构建workflow(可选): 按工作流过滤构建status(可选): 按状态过滤构建(0: 未完成, 1: 成功, 2: 失败, 3: 中止, 4: 进行中)next(可选): 响应中第一个构建的标识符limit(可选): 每页的最大元素数量(默认:50)
-
trigger_bitrise_build- 触发指定 Bitrise 应用的新构建/流水线
- 参数:
app_slug: Bitrise 应用的标识符branch(可选): 要构建的分支(默认:main)workflow_id(可选): 要构建的工作流commit_message(可选): 构建的提交信息commit_hash(可选): 构建的提交哈希
-
get_build- 获取给定应用的特定构建
- 参数:
app_slug: Bitrise 应用的标识符build_slug: 构建的标识符
-
abort_build- 中止特定构建
- 参数:
app_slug: Bitrise 应用的标识符build_slug: 构建的标识符reason(可选): 中止构建的原因
-
get_build_log- 获取指定 Bitrise 应用构建的日志
- 参数:
app_slug: Bitrise 应用的标识符build_slug: Bitrise 构建的标识符
-
get_build_bitrise_yml- 获取构建的 bitrise.yml
- 参数:
app_slug: Bitrise 应用的标识符build_slug: 构建的标识符
-
list_build_workflows- 列出应用的工作流
- 参数:
app_slug: Bitrise 应用的标识符
构建工件
-
list_artifacts- 获取所有构建产物的列表
- 参数:
app_slug: Bitrise 应用的标识符build_slug: 构建的标识符next(可选): 响应中第一个产物的标识符limit(可选): 每页的最大元素数量(默认:50)
-
get_artifact- 获取特定的构建产物
- 参数:
app_slug: Bitrise 应用的标识符build_slug: 构建的标识符artifact_slug: 产物的标识符
-
delete_artifact- 删除构建产物
- 参数:
app_slug: Bitrise 应用的标识符build_slug: 构建的标识符artifact_slug: 产物的标识符
-
update_artifact- 更新构建产物
- 参数:
app_slug: Bitrise 应用的标识符build_slug: 构建的标识符artifact_slug: 产物的标识符is_public_page_enabled: 为产物启用公共页面
Webhooks
-
list_outgoing_webhooks- 列出应用的所有传出 webhook
- 参数:
app_slug: Bitrise 应用的标识符
-
delete_outgoing_webhook- 删除应用的一个传出 webhook
- 参数:
app_slug: Bitrise 应用的标识符webhook_slug: Webhook 的标识符
-
update_outgoing_webhook- 更新应用的一个传出 webhook
- 参数:
app_slug: Bitrise 应用的标识符webhook_slug: Webhook 的标识符events: 触发 webhook 的事件列表url: Webhook 的 URLheaders(可选): 与 webhook 一起发送的头部信息
-
create_outgoing_webhook- 为应用创建一个传出 webhook
- 参数:
app_slug: Bitrise 应用的标识符events: 触发 webhook 的事件列表url: Webhook 的 URLheaders(可选): 与 webhook 一起发送的头部信息
Cache Items
-
list_cache_items- 列出属于某个应用的键值缓存项
- 参数:
app_slug: Bitrise 应用的标识符
-
delete_all_cache_items- 删除属于某个应用的所有键值缓存项
- 参数:
app_slug: Bitrise 应用的标识符
-
delete_cache_item- 删除一个键值缓存项
- 参数:
app_slug: Bitrise 应用的标识符cache_item_id: 缓存项的标识符
-
get_cache_item_download_url- 获取键值缓存项的下载 URL
- 参数:
app_slug: Bitrise 应用的标识符cache_item_id: 缓存项的标识符
Pipelines
-
list_pipelines- 列出应用程序的所有流水线和独立构建
- 参数:
app_slug: Bitrise 应用程序的标识符
-
get_pipeline- 获取给定应用程序的流水线
- 参数:
app_slug: Bitrise 应用程序的标识符pipeline_id: 流水线的标识符
-
abort_pipeline- 中止一个流水线
- 参数:
app_slug: Bitrise 应用程序的标识符pipeline_id: 流水线的标识符reason(可选): 中止流水线的原因
-
rebuild_pipeline- 重新构建一个流水线
- 参数:
app_slug: Bitrise 应用程序的标识符pipeline_id: 流水线的标识符
组角色
-
list_group_roles- 列出应用程序的组角色
- 参数:
app_slug: Bitrise 应用程序的标识符role_name: 角色名称
-
replace_group_roles- 替换应用程序的组角色
- 参数:
app_slug: Bitrise 应用程序的标识符role_name: 角色名称group_slugs: 组标识符列表
工作区
-
list_workspaces- 列出用户可以访问的工作区
-
get_workspace- 获取单个工作区的详细信息
- 参数:
workspace_slug: Bitrise 工作区的标识符
-
get_workspace_groups- 获取工作区中的组
- 参数:
workspace_slug: Bitrise 工作区的标识符
-
create_workspace_group- 在工作区中创建一个组
- 参数:
workspace_slug: Bitrise 工作区的标识符group_name: 组名称
-
get_workspace_members- 获取工作区中的成员
- 参数:
workspace_slug: Bitrise 工作区的标识符
-
invite_member_to_workspace- 邀请成员加入工作区
- 参数:
workspace_slug: Bitrise 工作区的标识符email: 用户的电子邮件地址
-
add_member_to_group- 将成员添加到组
- 参数:
group_slug: 组的标识符user_slug: 用户的标识符
账户
me- 获取当前认证用户账户的信息
发布管理
MCP 工具
create_connected_app
- 向 Bitrise 添加一个新的发布管理连接应用。
- 参数:
platform: 连接应用的移动平台 (ios/android)。store_app_id: 连接应用的应用商店标识符。workspace_slug: Bitrise 工作区的标识符。id: (可选) 新连接应用的 uuidV4 标识符。manual_connection: (可选) 表示手动连接。project_id: (可选) 指定要关联的 Bitrise 项目。store_app_name: (可选) 手动连接的应用名称。store_credential_id: (可选) 在 Bitrise 上添加的凭据选择。
list_connected_apps
- 列出工作区中已认证账户的 Release Management 连接应用。
- 参数:
workspace_slug: Bitrise 工作区的标识符。items_per_page: (可选) 每页最大连接应用数。page: (可选) 返回的页码。platform: (可选) 用于特定移动平台的过滤器。project_id: (可选) 用于特定 Bitrise 项目的过滤器。search: (可选) 通过 bundle ID、包名或应用标题进行搜索。
get_connected_app
- 返回已认证账户的 Release Management 连接应用。
- 参数:
id: Release Management 连接应用的标识符。
update_connected_app
- 更新连接应用。
- 参数:
connected_app_id: 您的连接应用的 uuidV4 标识符。store_app_id: 您的应用在商店中的标识符。connect_to_store: (可选) 验证 App Store 或 Google Play 的有效性。store_credential_id: (可选) 在 Bitrise 上添加的凭据选择。
list_installable_artifacts
- 列出连接应用的 Release Management 可安装工件。
- 参数:
connected_app_id: Release Management 连接应用的标识符。after_date: (可选) 工件创建/上传的时间间隔开始时间。artifact_type: (可选) 用于特定工件类型的过滤器。before_date: (可选) 工件创建/上传的时间间隔结束时间。branch: (可选) 用于 Bitrise CI 分支的过滤器。distribution_ready: (可选) 用于分发就绪工件的过滤器。items_per_page: (可选) 每页最大工件数。page: (可选) 返回的页码。platform: (可选) 用于特定移动平台的过滤器。search: (可选) 通过版本、文件名或构建号进行搜索。source: (可选) 用于可安装工件来源的过滤器。store_signed: (可选) 用于商店就绪可安装工件的过滤器。version: (可选) 用于特定版本的过滤器。workflow: (可选) 用于特定 Bitrise CI 工作流的过滤器。
generate_installable_artifact_upload_url
- 生成一个签名的上传 URL,以便将可安装工件上传到 Bitrise。
- 参数:
connected_app_id: Release Management 连接应用的标识符。installable_artifact_id: 可安装工件的 uuidv4 标识符。file_name: 可安装工件文件的名称。file_size_bytes: 可安装工件文件的字节大小。branch: (可选) CI 分支的名称。with_public_page: (可选) 启用公共安装页面。workflow: (可选) CI 工作流的名称。
get_installable_artifact_upload_and_processing_status
- 获取可安装工件的处理和上传状态。
- 参数:
connected_app_id: 发布管理连接应用的标识符。installable_artifact_id: 可安装工件的uuidv4标识符。
set_installable_artifact_public_install_page
- 更改是否应为可安装工件提供公共安装页面。
- 参数:
connected_app_id: 发布管理连接应用的标识符。installable_artifact_id: 可安装工件的uuidv4标识符。with_public_page: 用于启用/禁用公共安装页面的布尔标志。
list_build_distribution_versions
- 列出可用于测试者的构建分发版本。
- 参数:
connected_app_id: 连接应用的uuidV4标识符。items_per_page: (可选) 每页的最大版本数。page: (可选) 要返回的页码。
list_build_distribution_version_test_builds
- 返回给定构建分发版本的测试构建列表。
- 参数:
connected_app_id: 连接应用的uuidV4标识符。version: 构建分发的版本。items_per_page: (可选) 每页的最大测试构建数量。page: (可选) 要返回的页码。
create_tester_group
- 为发布管理连接应用创建一个测试者组。
- 参数:
connected_app_id: 连接应用的uuidV4标识符。name: 新测试者组的名称。auto_notify: (可选) 表示是否为该组自动发送通知。
notify_tester_group
- 通知测试者组有关新的测试构建的信息。
- 参数:
connected_app_id: 连接应用的uuidV4标识符。id: 测试者组的uuidV4标识符。test_build_id: 测试构建的唯一标识符。
add_testers_to_tester_group
- 向连接应用的测试者组添加测试者。
- 参数:
connected_app_id: 连接应用的uuidV4标识符。id: 测试者组的uuidV4标识符。user_slugs: 要添加的用户标识符列表(通过slug标识)。
update_tester_group
- 更新指定测试者组的设置。
- 参数:
connected_app_id: 连接应用的uuidV4标识符。id: 测试者组的uuidV4标识符。auto_notify: (可选) 自动邮件通知设置。name: (可选) 测试者组的新名称。
list_tester_groups
- 返回与特定连接应用相关的测试者组列表。
- 参数:
connected_app_id: 连接应用的uuidV4标识符。items_per_page: (可选) 每页的最大测试者组数。page: (可选) 要返回的页码。
get_tester_group
- 返回所选测试组的详细信息。
- 参数:
connected_app_id: 连接应用的 uuidV4 标识符。id: 测试组的 uuidV4 标识符。
get_potential_testers
- 获取可以添加到特定测试组的潜在测试者列表。
- 参数:
connected_app_id: 连接应用的 uuidV4 标识符。id: 测试组的 uuidV4 标识符。items_per_page: (可选) 每页的最大潜在测试者数量。page: (可选) 要返回的页码。search: (可选) 通过电子邮件或用户名搜索测试者。
API 组
Bitrise MCP 服务器将工具组织成可以通过命令行参数启用或禁用的 API 组。下表显示了每个工具所属的 API 组:
| Tool | apps | builds | workspaces | webhooks | build-artifacts | group-roles | cache-items | pipelines | account | read-only | release-management |
|---|---|---|---|---|---|---|---|---|---|---|---|
| list_apps | ✅ | ✅ | |||||||||
| register_app | ✅ | ||||||||||
| finish_bitrise_app | ✅ | ||||||||||
| get_app | ✅ | ✅ | |||||||||
| delete_app | ✅ | ||||||||||
| update_app | ✅ | ||||||||||
| get_bitrise_yml | ✅ | ✅ | |||||||||
| update_bitrise_yml | ✅ | ||||||||||
| list_branches | ✅ | ✅ | |||||||||
| register_ssh_key | ✅ | ||||||||||
| register_webhook | ✅ | ||||||||||
| list_builds | ✅ | ✅ | |||||||||
| trigger_bitrise_build | ✅ | ||||||||||
| get_build | ✅ | ✅ | |||||||||
| abort_build | ✅ | ||||||||||
| get_build_log | ✅ | ✅ | |||||||||
| get_build_bitrise_yml | ✅ | ✅ | |||||||||
| list_build_workflows | ✅ | ✅ | |||||||||
| list_artifacts | ✅ | ✅ | |||||||||
| get_artifact | ✅ | ✅ | |||||||||
| delete_artifact | ✅ | ||||||||||
| update_artifact | ✅ | ||||||||||
| list_outgoing_webhooks | ✅ | ✅ | |||||||||
| delete_outgoing_webhook | ✅ | ||||||||||
| update_outgoing_webhook | ✅ | ||||||||||
| create_outgoing_webhook | ✅ | ||||||||||
| list_cache_items | ✅ | ✅ | |||||||||
| delete_all_cache_items | ✅ | ||||||||||
| delete_cache_item | ✅ | ||||||||||
| get_cache_item_download_url | ✅ | ✅ | |||||||||
| list_pipelines | ✅ | ✅ | |||||||||
| get_pipeline | ✅ | ✅ | |||||||||
| abort_pipeline | ✅ | ||||||||||
| rebuild_pipeline | ✅ | ||||||||||
| list_group_roles | ✅ | ✅ | |||||||||
| replace_group_roles | ✅ | ||||||||||
| list_workspaces | ✅ | ✅ | |||||||||
| get_workspace | ✅ | ✅ | |||||||||
| get_workspace_groups | ✅ | ✅ | |||||||||
| create_workspace_group | ✅ | ||||||||||
| get_workspace_members | ✅ | ✅ | |||||||||
| invite_member_to_workspace | ✅ | ||||||||||
| add_member_to_group | ✅ | ||||||||||
| me | ✅ | ✅ | |||||||||
| create_connected_app | ✅ | ||||||||||
| list_connected_apps | ✅ | ||||||||||
| get_connected_app | ✅ | ||||||||||
| update_connected_app | ✅ | ||||||||||
| list_installable_artifacts | ✅ | ||||||||||
| generate_installable_artifact_upload_url | ✅ | ||||||||||
| get_installable_artifact_upload_and_processing_status | ✅ | ||||||||||
| set_installable_artifact_public_install_page | ✅ | ||||||||||
| list_build_distribution_versions | ✅ | ||||||||||
| list_build_distribution_version_test_builds | ✅ | ||||||||||
| create_tester_group | ✅ | ||||||||||
| notify_tester_group | ✅ | ||||||||||
| add_testers_to_tester_group | ✅ | ||||||||||
| update_tester_group | ✅ | ||||||||||
| list_tester_groups | ✅ | ||||||||||
| get_tester_group | ✅ | ||||||||||
| get_potential_testers | ✅ |
默认情况下,所有 API 组都是启用的。您可以使用 --enabled-api-groups 命令行参数,并以逗号分隔的组名称列表来指定要启用哪些组。