关于 Bitbucket Server MCP
Bitbucket Server MCP 通过 Bitbucket Server API 提供管理拉取请求的 MCP 工具和资源。它支持创建、审核和合并拉取请求,也可添加评论、获取差异并向分支推送文件。
主要功能
- 01创建和查看拉取请求
- 02合并或拒绝拉取请求
- 03添加拉取请求评论
- 04获取差异和审核记录
- 05一次提交推送多个文件
适用场景
- 01创建拉取请求并指定审核者
- 02通过差异和审核记录检查变更
- 03评论、合并或拒绝拉取请求
- 04向仓库分支提交多个文件
MCP 相关
将 Bitbucket Server API 操作作为 MCP 工具提供,用于管理拉取请求和推送文件,并支持指定项目及仓库。服务需要配置 Bitbucket URL 和身份验证信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Bitbucket Server MCP
用于管理 Bitbucket Server Pull Request 的 MCP(Model Context Protocol)服务。此服务提供工具和资源,可通过 MCP 协议与 Bitbucket Server API 交互。
要求
- Node.js >= 16
安装
通过 Smithery 安装
通过 Smithery 为 Claude Desktop 自动安装 Bitbucket Server:
npx -y @smithery/cli install @garc33/bitbucket-server-mcp-server --client claude
手动安装
npm install
构建
npm run build
功能
此服务提供以下工具以集成 Bitbucket Server:
create_pull_request
创建新的 Pull Request。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)title(必需):PR 标题description:PR 描述sourceBranch(必需):源分支名称targetBranch(必需):目标分支名称reviewers:审阅者用户名数组
get_pull_request
获取特定 Pull Request 的详细信息。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)prId(必需):Pull Request ID
merge_pull_request
合并 Pull Request。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)prId(必需):Pull Request IDmessage:合并提交消息strategy:以下选项之一:merge-commit(默认)squashfast-forward
decline_pull_request
拒绝 Pull Request。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)prId(必需):Pull Request IDmessage:拒绝原因
add_comment
向 Pull Request 添加评论。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)prId(必需):Pull Request IDtext(必需):评论内容parentId:用于回复的父评论 ID
get_diff
获取 Pull Request 的差异。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)prId(必需):Pull Request IDcontextLines:上下文行数(默认:10)
get_reviews
获取 Pull Request 的审阅历史记录,包括批准和审阅。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)prId(必需):Pull Request ID
push_files
将多个文件通过单次提交推送到仓库分支。
参数:
project:Bitbucket 项目密钥(若已设置 BITBUCKET_DEFAULT_PROJECT,则默认为该值)repository:仓库 slug(若已设置 BITBUCKET_DEFAULT_REPOSITORY,则默认为该值)branch(必需):要推送到的分支名称message(必需):提交消息files(必需):文件对象数组,每个对象包含:path(必需):相对于仓库根目录的文件路径content(必需):要推送到文件中的内容
依赖项
@modelcontextprotocol/sdk- MCP 协议实现的 SDKaxios- 用于 API 请求的 HTTP 客户端winston- 日志记录框架
配置
服务器需要在 VSCode MCP 设置文件中进行配置。以下是示例配置:
{
"mcpServers": {
"bitbucket": {
"command": "node",
"args": ["/path/to/bitbucket-server/build/index.js"],
"env": {
"BITBUCKET_URL": "https://your-bitbucket-server.com",
// Authentication (choose one):
// Option 1: Personal Access Token
"BITBUCKET_TOKEN": "your-access-token",
// Option 2: Username/Password
"BITBUCKET_USERNAME": "your-username",
"BITBUCKET_PASSWORD": "your-password",
// Optional: Default project
"BITBUCKET_DEFAULT_PROJECT": "your-default-project",
// Optional: Default repository
"BITBUCKET_DEFAULT_REPOSITORY": "your-default-repository"
}
}
}
}
环境变量
BITBUCKET_URL(必需):Bitbucket Server 实例的基础 URL- 身份验证(以下选项之一为必需):
BITBUCKET_TOKEN:个人访问令牌BITBUCKET_USERNAME和BITBUCKET_PASSWORD:基本身份验证凭据
BITBUCKET_DEFAULT_PROJECT:未在工具调用中指定时使用的默认项目键BITBUCKET_DEFAULT_REPOSITORY:未在工具调用中指定时使用的默认仓库标识
日志记录
服务器使用 Winston 将所有操作记录到 bitbucket.log,以便进行调试和监控。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。