项目简介
'BitbucketMcpServers' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它充当大型语言模型 (LLM) 客户端和 Bitbucket 云平台之间的桥梁。通过标准的 MCP 协议,LLM 可以调用此服务器提供的工具来访问 Bitbucket 中的信息,例如获取拉取请求列表,从而增强 LLM 在代码审查、项目管理等方面的能力。
主要功能点
- Bitbucket 集成: 与 Bitbucket 云平台的 REST API 集成,安全地访问您的仓库数据。
- 工具提供: 提供标准的 MCP 工具,允许 LLM 客户端调用特定功能,例如列出仓库中的拉取请求。
- 配置灵活: 支持通过命令行参数或环境变量配置 Bitbucket 连接详情,确保安全和部署的便利性。
- MCP 标准通信: 使用 Stdio 传输协议与遵循 MCP 协议的客户端通信,接收请求并返回结果。
安装步骤
-
确保已安装 .NET SDK。
-
克隆或下载此仓库。
-
打开命令行或终端,导航到仓库根目录。
-
运行以下命令构建并发布独立的可执行文件:
dotnet publish .\src\BitbucketMcpServer\BitbucketMcpServer.csproj -o publish --configuration Release -
构建成功后,可执行文件 'BitbucketMcpServer' 将生成在 'publish' 目录下。为了方便 MCP 客户端调用,建议将此 'publish' 目录的路径添加到系统的 PATH 环境变量中,或者将可执行文件复制到 PATH 中的某个现有目录。
服务器配置 (供 MCP 客户端参考)
您的 MCP 客户端(例如 Cline)需要配置如何启动并连接到这个 Bitbucket MCP 服务器进程。这通常通过客户端的配置文件来完成。以下是一个典型的客户端配置片段及其参数解释,展示了如何配置客户端来启动 'BitbucketMcpServer':
{ "YourServerName": { // 这个名称是客户端用于引用此服务器的标识符 // ... 其他客户端配置项 (如 autoApprove, disabled, timeout) ... "command": "BitbucketMcpServer", // **必填**: 指定要启动的服务器可执行文件名称 (确保在 PATH 中或提供完整路径) "args": [ // **必填**: 传递给服务器可执行文件的命令行参数 "-u", "{{ bitbucket_username }}", // '-u' 或 '--username': Bitbucket 用户的用户名。建议使用客户端提供的变量或安全方式传递。 "-p", "{{ bitbucket_app_password }}", // '-p' 或 '--password': Bitbucket 用户的应用密码 (推荐使用应用密码而非账户密码)。建议使用客户端提供的变量或安全方式传递。 "-a", "{{ bitbucket_account_name }}", // '-a' 或 '--account': 拥有目标仓库的 Bitbucket 账号名称。 "-r", "{{ bitbucket_repo_name }}" // '-r' 或 '--repo': 目标仓库的 Slug (通常是仓库名称的小写形式,出现在 URL 中)。 ], "transportType": "stdio" // **必填**: 指定使用标准输入/输出进行通信。此服务器当前仅支持 stdio。 } }
在上面的配置中,'{{ ... }}' 占位符表示客户端通常会从用户的其他配置或安全存储中获取实际值来替换。服务器启动时会读取这些命令行参数来连接到 Bitbucket。
基本使用方法
一旦 MCP 客户端被配置为使用并成功启动了 'BitbucketMcpServer',LLM 就可以通过向客户端发送请求来调用服务器提供的工具。例如,LLM 可以请求客户端执行名为 'list_pull_requests' 的工具。客户端会将相应的 MCP 请求发送给 'BitbucketMcpServer' 进程的标准输入。'BitbucketMcpServer' 接收请求,执行 'PullRequestTools.ListPullRequests' 方法,连接到 Bitbucket API 获取拉取请求列表,并将结果格式化为 Markdown 表格后通过标准输出发送回客户端。客户端再将此结果提供给 LLM 使用。
信息
分类
开发者工具