README
🚀 Bitbucket 服务器 MCP
MCP(模型上下文协议)服务器用于管理 Bitbucket Server 拉取请求,提供了通过 MCP 协议与 Bitbucket Server API 交互的工具和资源,助力高效处理拉取请求相关事务。
🚀 快速开始
需求
- Node.js >= 16
安装
npm install
构建
npm run build
✨ 主要特性
该服务器为 Bitbucket Server 集成提供了以下实用工具:
create_pull_request
创建新的拉取请求。
参数:
| 参数 | 详情 |
| ---- | ---- |
| project | 必需,Bitbucket 项目键 |
| repository | 必需,仓库别名 |
| title | 必需,PR 标题 |
| description | PR 描述 |
| sourceBranch | 必需,源分支名称 |
| targetBranch | 必需,目标分支名称 |
| reviewers | 审阅者用户名数组 |
get_pull_request
获取特定拉取请求的详细信息。
参数:
| 参数 | 详情 |
| ---- | ---- |
| project | 必需,Bitbucket 项目键 |
| repository | 必需,仓库别名 |
| prId | 必需,拉取请求 ID |
merge_pull_request
合并拉取请求。
参数:
| 参数 | 详情 |
| ---- | ---- |
| project | 必需,Bitbucket 项目键 |
| repository | 必需,仓库别名 |
| prId | 必需,拉取请求 ID |
| message | 合并提交消息 |
| strategy | 可选值:
- merge-commit(默认)
- squash
- fast-forward |
decline_pull_request
拒绝拉取请求。
参数:
| 参数 | 详情 |
| ---- | ---- |
| project | 必需,Bitbucket 项目键 |
| repository | 必需,仓库别名 |
| prId | 必需,拉取请求 ID |
| message | 拒绝的原因 |
add_comment
向拉取请求添加评论。
参数:
| 参数 | 详情 |
| ---- | ---- |
| project | 必需,Bitbucket 项目键 |
| repository | 必需,仓库别名 |
| prId | 必需,拉取请求 ID |
| text | 必需,评论文本 |
| parentId | 父评论 ID 用于回复 |
get_diff
获取拉取请求的代码差分。
参数:
| 参数 | 详情 |
| ---- | ---- |
| project | 必需,Bitbucket 项目键 |
| repository | 必需,仓库别名 |
| prId | 必需,拉取请求 ID |
| contextLines | 上下文行数(默认:10) |
get_reviews
获取拉取请求的审查历史,包括批准和评论。
参数:
| 参数 | 详情 |
| ---- | ---- |
| project | 必需,Bitbucket 项目键 |
| repository | 必需,仓库别名 |
| prId | 必需,拉取请求 ID |
📦 依赖项
@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",
// 身份验证(选择一种):
// 选项 1:个人访问令牌
"BITBUCKET_TOKEN": "your-access-token",
// 选项 2:用户名/密码
"BITBUCKET_USERNAME": "your-username",
"BITBUCKET_PASSWORD": "your-password"
}
}
}
}
环境变量
BITBUCKET_URL(必需):Bitbucket Server 实例的基础 URL- 身份验证(以下其中一种是必需的):
BITBUCKET_TOKEN:个人访问令牌BITBUCKET_USERNAME和BITBUCKET_PASSWORD:基本身份验证凭据
日志记录
服务器使用 Winston 将所有操作记录到 bitbucket.log,用于调试和监控目的。
Scan to join WeChat group