Back to MCP directory
publicPublicdnsLocal runtime

garc33_bitbucket-server-mcp-server

Bitbucket Server的MCP服务,提供通过MCP协议管理拉取请求的工具,包括创建、合并、评论等功能。

article

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 协议实现的 SDK
  • axios - 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_USERNAMEBITBUCKET_PASSWORD:基本身份验证凭据

日志记录

服务器使用 Winston 将所有操作记录到 bitbucket.log,用于调试和监控目的。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client