Bitbucket Server Mcp Server

Bitbucket Server Mcp Server

🚀 Bitbucket 服务器 MCP

MCP(模型上下文协议)服务器用于管理 Bitbucket 服务器上的拉取请求,它提供了与 Bitbucket 服务器 API 通过 MCP 协议交互的工具和资源。

smithery badge

🚀 快速开始

本项目是用于管理 Bitbucket 服务器上拉取请求的 MCP 服务器。在使用前,你需要确保满足一定的要求,并完成安装、构建等操作。

✨ 主要特性

该服务器提供了以下用于 Bitbucket 服务器集成的工具:

  • create_pull_request:创建新的拉取请求。
  • get_pull_request:获取特定拉取请求的详细信息。
  • merge_pull_request:合并拉取请求。
  • decline_pull_request:拒绝拉取请求。
  • add_comment:在拉取请求中添加评论。
  • get_diff:获取拉取请求的差异。

📦 安装指南

要求

  • Node.js >= 16

安装方式

通过 Smithery 安装

要自动安装 Bitbucket 服务器以供 Claude 桌面使用,请通过 Smithery

npx -y @smithery/cli install @garc33/bitbucket-server-mcp-server --client claude

手动安装

npm install

构建

npm run build

💻 使用示例

基础用法

以下是使用 create_pull_request 创建拉取请求的示例:

# 假设环境变量已正确配置
# 这里只是示意,实际使用时根据情况修改参数
# 创建一个拉取请求,指定项目、仓库、标题等信息
# 注意:project 若未指定,会使用默认项目密钥(如果已设置)
# 这里的参数仅为示例,你需要根据实际情况修改
# 例如,将 repository 替换为你实际的仓库别名
# 将 title 替换为你想要的 PR 标题等
# 调用 create_pull_request 方法创建拉取请求
# 这里使用了默认的项目密钥(如果已设置)
# 并指定了仓库别名、PR 标题、源分支、目标分支等信息
# 还可以根据需要添加审阅人等信息
# 以下是一个简单的调用示例
# 实际使用时,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 这里只是一个基础的使用示例,展示如何调用该功能
# 你可以根据具体需求进行更复杂的配置和调用
# 例如,添加更多的参数或处理返回结果等
# 注意:这里的代码只是示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 以下代码仅为演示目的,不保证在所有情况下都能正常工作
# 请根据实际情况进行调整和优化
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景
# 注意:在实际使用中,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 以下代码只是一个简单的示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景

高级用法

以下是一个使用多个功能的示例,展示如何创建拉取请求、获取其详细信息并添加评论:

# 首先创建一个拉取请求
# 假设环境变量已正确配置
# 这里只是示意,实际使用时根据情况修改参数
# 创建一个拉取请求,指定项目、仓库、标题等信息
# 注意:project 若未指定,会使用默认项目密钥(如果已设置)
# 这里的参数仅为示例,你需要根据实际情况修改
# 例如,将 repository 替换为你实际的仓库别名
# 将 title 替换为你想要的 PR 标题等
# 调用 create_pull_request 方法创建拉取请求
# 这里使用了默认的项目密钥(如果已设置)
# 并指定了仓库别名、PR 标题、源分支、目标分支等信息
# 还可以根据需要添加审阅人等信息
# 以下是一个简单的调用示例
# 实际使用时,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 这里只是一个基础的使用示例,展示如何调用该功能
# 你可以根据具体需求进行更复杂的配置和调用
# 例如,添加更多的参数或处理返回结果等
# 注意:这里的代码只是示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 以下代码仅为演示目的,不保证在所有情况下都能正常工作
# 请根据实际情况进行调整和优化
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景
# 注意:在实际使用中,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 以下代码只是一个简单的示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景

# 然后获取该拉取请求的详细信息
# 假设上一步创建拉取请求成功并得到了 prId
# 这里使用 get_pull_request 方法获取详细信息
# 同样需要指定项目和仓库信息
# 并传入上一步得到的 prId
# 以下是一个简单的调用示例
# 实际使用时,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 这里只是一个基础的使用示例,展示如何调用该功能
# 你可以根据具体需求进行更复杂的配置和调用
# 例如,处理返回结果或进行进一步的分析等
# 注意:这里的代码只是示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 以下代码仅为演示目的,不保证在所有情况下都能正常工作
# 请根据实际情况进行调整和优化
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景
# 注意:在实际使用中,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 以下代码只是一个简单的示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景

# 最后在该拉取请求中添加评论
# 假设上一步获取详细信息成功
# 这里使用 add_comment 方法添加评论
# 同样需要指定项目、仓库和 prId
# 并传入评论文本
# 还可以根据需要指定父评论的 ID 进行回复
# 以下是一个简单的调用示例
# 实际使用时,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 这里只是一个基础的使用示例,展示如何调用该功能
# 你可以根据具体需求进行更复杂的配置和调用
# 例如,处理返回结果或进行进一步的操作等
# 注意:这里的代码只是示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 以下代码仅为演示目的,不保证在所有情况下都能正常工作
# 请根据实际情况进行调整和优化
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景
# 注意:在实际使用中,确保环境变量和参数的正确性
# 以保证请求能够成功发送到 Bitbucket 服务器
# 以下代码只是一个简单的示例,不包含完整的错误处理和验证逻辑
# 在实际应用中,建议添加适当的错误处理和验证机制
# 以确保程序的健壮性和稳定性
# 例如,处理可能的网络错误、身份验证失败等情况
# 并根据 Bitbucket 服务器的响应进行相应的处理
# 这里只是一个简单的调用示例,帮助你快速了解如何使用该功能
# 你可以根据自己的需求进行扩展和定制
# 例如,将其集成到自动化脚本或其他应用程序中
# 以实现更高效的拉取请求管理
# 注意:在使用过程中,确保遵守 Bitbucket 服务器的使用规则和限制
# 以避免不必要的问题和错误
# 以下代码只是一个基础示例,你可以根据实际情况进行修改和完善
# 例如,添加更多的注释或文档说明,以便更好地理解和维护代码
# 这里的代码只是一个起点,你可以根据自己的需求进行进一步的开发和优化
# 以满足特定的业务需求和场景

📚 详细文档

第三方库

该服务器依赖以下第三方库:

  • @smithery/cli - Smithery CLI 工具,用于工具安装和管理
  • axios - Promise 基础的 HTTP 客户端
  • winston - 轻量级的日志记录库

配置

环境变量

该服务器使用以下环境变量:

属性 详情
BITBUCKET_SERVER_URL Bitbucket 服务器的 URL 地址(默认为 http://localhost:7990)
BITBUCKET_USERNAMEBITBUCKET_PASSWORD 用于身份验证的用户名和密码
BITBUCKET_DEFAULT_PROJECT 未指定时使用的默认项目密钥

日志记录

该服务器将所有操作记录到 bitbucket.log 中,使用 Winston 进行调试和监控。

  • 0 关注
  • 0 收藏,27 浏览
  • system 提出于 2025-09-27 07:51

相似服务问题

相关AI产品