主机mcp比特桶
Bitbucket的本地MCP(模型上下文协议)服务器,通过REST API为AI助手提供对Bitbucket存储库、拉取请求、注释、差异和任务的访问。
两者都适用 比特桶云 和 Bitbucket服务器/数据中心 实例。
兼容性
| 平台 | 版本 | 状态 |
|---|---|---|
| 比特桶云 | 当前 | ✅ 完全支持 |
| 比特桶数据中心 | 8.x | ✅ 完全支持 |
| 比特桶数据中心 | 9.x | ✅ 完全支持 |
| 比特桶数据中心 | 10.x | ✅ 完全支持 |
注: 数据中心上的任务使用blocker-comments API(/blocker-comments)在Bitbucket 7.2中引入。遗产/tasks在Bitbucket 9.0中删除了端点。此MCP服务器使用现代blocker-comments API,这是DC 8.0+上的唯一选项。
特性
- 双平台 --完全支持Bitbucket云和Bitbucket服务器/数据中心API
- 存储库操作 --列出并获取存储库详细信息
- 拉取请求管理 --创建、更新、批准、合并、拒绝、请求更改
- 公关评论 --添加、更新、删除、解析/重新打开评论(包括内联评论)
- PR差异 --获取原始差异、差异统计数据和补丁
- 公关任务 --在pull请求上创建、更新、删除任务
- 待审核 --阶段草稿审查意见,然后立即提交或放弃整个审查(仅限数据中心)
- 分支和标签列表 --列出具有可选过滤功能的分支和标签
- 分页 --自动分页
all模式(最多1000个项目);透明处理云和DC分页样式 - 双重运输 --stdio(默认)和流式HTTP
- 使用回退重试 --瞬态错误自动重试(429,5xx)
快速开始
从npm安装
npx @mister-good-deal/host-mcp-bitbucket --bitbucket-token 与克劳德桌面/VS代码一起使用
添加到MCP配置中:
{
"mcpServers": {
"bitbucket": {
"command": "npx",
"args": [
"-y",
"@mister-good-deal/host-mcp-bitbucket",
"--bitbucket-token", "",
"--default-workspace", ""
]
}
}
}环境变量
您还可以通过环境变量进行配置:
export BITBUCKET_TOKEN="your-app-password-or-access-token"
export BITBUCKET_WORKSPACE="your-workspace"
export BITBUCKET_URL="https://api.bitbucket.org/2.0" # optional, default for Cloud配置
| 标志 | 环境变量 | 默认值 | 描述 | |||
|---|---|---|---|---|---|---|
--bitbucket-url | BITBUCKET_URL | https://api.bitbucket.org/2.0 | Bitbucket API基础URL | |||
--bitbucket-token | BITBUCKET_TOKEN | — | 必修的。 API令牌(应用程序密码或访问令牌) | |||
--default-workspace | BITBUCKET_WORKSPACE | -- | 默认工作区(如果可能,从URL自动提取) | |||
--insecure | BITBUCKET_INSECURE=true | false | 跳过TLS证书验证 | |||
--log-level | LOG_LEVEL | info | 日志级别(调试 | 信息 | 警告 | 错误) |
--timeout | BITBUCKET_TIMEOUT | 30000 | HTTP超时(毫秒) | |||
--max-retries | BITBUCKET_MAX_RETRIES | 3 | 瞬态错误的最大重试次数 | |||
--retry-delay | BITBUCKET_RETRY_DELAY | 1000 | 基本重试延迟(毫秒) | |||
--transport | MCP_TRANSPORT | stdio | 传输类型(stdio | http) | ||
--port | MCP_PORT | 3000 | HTTP端口(仅限 --transport http) |
Bitbucket服务器/数据中心
对于自托管实例,请点 --bitbucket-url 到您的服务器URL(自动添加REST API路径):
npx @mister-good-deal/host-mcp-bitbucket \
--bitbucket-url "https://bitbucket.mycompany.com" \
--bitbucket-token "" \
--default-workspace "
"服务器从URL自动检测平台(云与数据中心),并使用正确的API路径、分页样式和请求主体。对于DC --default-workspace 值映射到a 项目密钥.
可用工具
分页
除非另有说明,否则列表工具接受以下可选参数:
pagelen--每页项目数(默认值:10,最大值:100)page--从1开始的页码all--何时true,自动获取所有页面(最多1000个项目)
工作区/连接
| 工具 | 说明 |
|---|---|
getCurrentUser | 获取经过身份验证的用户(云)或验证连接(DC) |
getWorkspace | 获取工作区(云)或项目(DC)详细信息 |
存储库操作
| 工具 | 说明 |
|---|---|
listRepositories | 列出工作区中的存储库 |
getRepository | 获取特定存储库的详细信息 |
拉取请求操作
| 工具 | 说明 |
|---|---|
getPullRequests | 列出存储库的拉取请求(可按状态筛选) |
createPullRequest | 创建新的pull请求(支持草稿模式) |
getPullRequest | 获取特定拉取请求的详细信息 |
updatePullRequest | 更新拉取请求标题和/或描述 |
getPullRequestActivity | 获取拉取请求的活动日志 |
approvePullRequest | 批准拉取请求 |
unapprovePullRequest | 从拉取请求中删除批准 |
requestChanges | 请求对pull请求进行更改 |
removeChangeRequest | 删除更改请求 |
declinePullRequest | 拒绝拉取请求 |
mergePullRequest | 合并拉取请求(合并提交、挤压、快速转发) |
getPullRequestCommits | 列表提交拉取请求 |
getPullRequestStatuses | 列出拉取请求的提交状态 |
拉取请求注释操作
| 工具 | 说明 |
|---|---|
getPullRequestComments | 列出对pull请求的评论 |
getPullRequestComment | 获取具体评论 |
addPullRequestComment | 添加注释(文件/行上的常规注释或内联注释) |
updatePullRequestComment | 更新评论 |
deletePullRequestComment | 删除评论 |
resolveComment | 解析评论线程 |
reopenComment | 重新打开已解析的评论线程 |
拉取请求差异操作
| 工具 | 说明 |
|---|---|
getPullRequestDiff | 获取拉取请求的原始差异 |
getPullRequestDiffStat | 获取差异统计信息(文件更改、添加/删除行) |
getPullRequestPatch | 获取拉取请求的补丁 |
拉取请求任务操作
云上的任务使用标准任务API。在数据中心,任务是通过拦截器注释实现的(/blocker-comments),这是自Bitbucket 7.2+以来的规范替换。
| 工具 | 说明 |
|---|---|
getPullRequestTasks | 列出拉取请求中的任务 |
createPullRequestTask | 根据pull请求创建任务 |
getPullRequestTask | 获取特定任务 |
updatePullRequestTask | 更新任务(内容、状态)。在DC上,版本会自动获取以实现乐观并发 |
deletePullRequestTask | 删除任务。在DC上,版本会自动获取以实现乐观并发 |
待审核操作(仅限数据中心)
这些工具支持分阶段的审查工作流程:人工智能代理起草审查意见,在人类审查员提交或丢弃整个审查之前,这些意见将保持不可见。
| 工具 | 说明 |
|---|---|
addPendingReviewComment | 添加待处理的(草案)审查意见——一般、内联或回复 |
getPendingReview | 使用所有草稿评论线程获取当前用户的待审核评论 |
submitPendingReview | 发布所有待处理的评论,可选择设置审批状态和摘要 |
discardPendingReview | 永久丢弃所有待处理的评论 |
注: 待审核需要Bitbucket数据中心。在Cloud上,这些工具会返回一条明确的错误消息。
分支和标签操作
| 工具 | 说明 |
|---|---|
listBranches | 列出存储库中的分支(带可选名称过滤器) |
listTags | 列出存储库中的标签(带可选名称过滤器) |
发展
pnpm install
pnpm run build
pnpm run lint
pnpm run test
pnpm run dev # Run with tsx in dev mode集成测试
集成测试在一个轻量级的Docker模拟服务器上运行,该服务器会存根Bitbucket Cloud和数据中心REST API:
pnpm run test:integration模拟服务器在1秒内启动,并使用预填充的夹具(项目、存储库、拉取请求、注释、任务/阻止器注释、分支、标签)提供确定性响应。
注: Atlassian发布Bitbucket数据中心Docker官方镜像(atlassian/bitbucket)它可用于针对真实实例进行手动烟雾测试。然而,它需要约2 GB的RAM,启动需要1-3分钟,并且需要许可证,因此它不用于自动化测试。许可证
麻省理工学院
