使用说明
项目简介
本项目是一个 MCP (Model Context Protocol) 服务器,旨在为 LLM (大型语言模型) 客户端提供与 Bitbucket Server 交互的能力,专注于 Pull Request (PR) 的管理。通过此服务器,LLM 可以自动化执行如创建、获取、合并、评论 PR 等操作,从而提升软件开发流程的效率。
主要功能点
- Pull Request 管理: 支持创建、获取、合并和拒绝 Pull Request。
- 评论功能: 允许 LLM 向 Pull Request 添加评论。
- Diff 和 Review 信息: 提供获取 Pull Request 的代码差异 (diff) 和审查 (review) 历史记录的功能。
- 灵活配置: 支持 Personal Access Token 或用户名/密码两种认证方式连接 Bitbucket Server。
- 可扩展性: 基于 MCP 协议标准构建,易于集成到各种支持 MCP 协议的 LLM 客户端。
安装步骤
-
手动安装 (推荐)
首先确保你的环境中已安装 Node.js (>= 16)。
# 克隆仓库(如果尚未克隆) git clone https://github.com/garc33/bitbucket-server-mcp-server.git cd bitbucket-server-mcp-server # 安装依赖 npm install # 构建项目 npm run build -
通过 Smithery 安装 (适用于 Claude Desktop 等 Smithery 客户端)
如果你的 LLM 客户端支持 Smithery,可以使用以下命令自动安装:
npx -y @smithery/cli install @garc33/bitbucket-server-mcp-server --client claude
服务器配置
要将此 MCP 服务器连接到 LLM 客户端,你需要在客户端的 MCP 服务器配置中添加以下 JSON 配置。请根据你的实际情况修改占位符:
{ "mcpServers": { "bitbucket": { "command": "node", "args": ["/path/to/bitbucket-server/build/index.js"], "env": { "BITBUCKET_URL": "YOUR_BITBUCKET_URL", // 【必填】你的 Bitbucket Server 实例的根 URL,例如 "https://your-bitbucket-server.com" "BITBUCKET_TOKEN": "YOUR_BITBUCKET_TOKEN", // 【可选,推荐】Bitbucket Server Personal Access Token,用于身份验证 "BITBUCKET_USERNAME": "YOUR_BITBUCKET_USERNAME", // 【可选,如果未使用 TOKEN】Bitbucket Server 用户名 "BITBUCKET_PASSWORD": "YOUR_BITBUCKET_PASSWORD", // 【可选,如果未使用 TOKEN】Bitbucket Server 密码 "BITBUCKET_DEFAULT_PROJECT": "YOUR_DEFAULT_PROJECT" // 【可选】默认 Bitbucket 项目 Key,如果工具调用时未指定项目,则使用此默认值 } } } }
注意:
- 请将 '/path/to/bitbucket-server/build/index.js' 替换为 'index.js' 文件在你的系统中的实际路径。如果你按照手动安装步骤操作,并且在项目根目录下启动客户端,可以使用相对路径 'build/index.js'。
- 身份验证: 推荐使用 'BITBUCKET_TOKEN' 进行身份验证。如果选择用户名和密码方式,请配置 'BITBUCKET_USERNAME' 和 'BITBUCKET_PASSWORD'。 至少需要配置一种身份验证方式。
- 环境变量: 确保在 LLM 客户端启动 MCP 服务器时,这些环境变量能够被正确传递。
基本使用方法
配置完成后,在你的 LLM 客户端中,你可以调用以下工具来操作 Bitbucket Server 的 Pull Request:
- 'create_pull_request': 创建新的 Pull Request
- 'get_pull_request': 获取 Pull Request 的详细信息
- 'merge_pull_request': 合并 Pull Request
- 'decline_pull_request': 拒绝 Pull Request
- 'add_comment': 添加评论到 Pull Request
- 'get_diff': 获取 Pull Request 的代码差异
- 'get_reviews': 获取 Pull Request 的审查历史
每个工具的具体参数和使用方式,请参考仓库 README.md 文件中 "Features" 部分的详细描述。 在 LLM 客户端中,你可以根据工具的名称和参数,构建相应的请求来调用这些功能。
信息
分类
开发者工具