Token导航 LogoToken导航TokenDH.com
Personal Bitbucket MCP Server logo
AI代理stdio官方级别未说明来源级核验

Personal Bitbucket MCP Server

MCP Server

一个基于Quarkus框架的Model Context Protocol (MCP)服务器,为AI助手提供与Bitbucket Cloud仓库交互的工具。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
版本控制代码审查JavaClaudeAPI集成Claude DesktopClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

tedysaputro

提供方

tedysaputro

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 8080:8080 \

详细介绍

个人比特桶MCP服务器

](https://lobehub.com/mcp/tedysaputro-personal-bitbucket-mcp-server)

一个模型上下文协议(MCP)服务器,为AI助手提供与Bitbucket Cloud存储库交互的工具。使用Quarkus,超音速亚原子Java框架构建。

作者: 那么 Saputro | 联系: tedy@saputro.dev

什么是MCP?

模型上下文协议(MCP)是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下文。该服务器实现了MCP,将Bitbucket操作作为Claude、ChatGPT或其他LLM驱动的应用程序等AI助手可以使用的工具。

特性

  • 🔧 11 MCP工具 用于Bitbucket操作
  • 🚀 原生映像支持 使用GraalVM实现快速启动和低内存占用
  • 🐳 多架构Docker镜像 (AMD64和ARM64)
  • 🔐 安全认证 使用Bitbucket应用程序密码
  • 📦 RESTful API 用于直接HTTP访问
  • 多种运输方式 -stdio(通用)、SSE和HTTP流
  • 🎯 通用客户端支持 -stdio适用于所有MCP客户端(Claude Desktop、Cursor、VS Code、Cherry Studio等)

如果您想了解更多关于Quarkus的信息,请访问其网站: .

目录

快速开始

先决条件

  1. 比特桶API代币:在创建API令牌https://bitbucket.org/account/settings/api-token/

- 所需权限: repository:read, pullrequest:read, pullrequest:write - 看 创建Bitbucket API令牌 详细说明

  1. 码头工人 (可选):用于运行容器化版本

使用Docker(推荐)

docker run -p 8080:8080 \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -e BITBUCKET_WORKSPACE=your-workspace \
  subrutin/bitbucket-mcp-server:latest

在支持的客户端上使用MCP

此服务器支持多种传输协议。选择最适合您客户的方法:

🎯 方法1:stdio传输(推荐-适用于所有客户端)

stdio传输允许直接进程通信,而无需运行HTTP服务器。这是 通用方法 它适用于所有MCP客户端。

适用于克劳德桌面,将此添加到您的配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "bitbucket": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "BITBUCKET_EMAIL=your-email@example.com",
        "-e", "BITBUCKET_API_TOKEN=your-api-token",
        "-e", "BITBUCKET_WORKSPACE=your-workspace",
        "subrutin/bitbucket-mcp-server:stdio-0.0.2"
      ]
    }
  }
}

重新启动Claude Desktop,您将在🔨 工具菜单。

用于游标IDE,添加到您的光标设置中(格式与Claude Desktop相同):

{
  "mcpServers": {
    "bitbucket": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "BITBUCKET_EMAIL=your-email@example.com",
        "-e", "BITBUCKET_API_TOKEN=your-api-token",
        "-e", "BITBUCKET_WORKSPACE=your-workspace",
        "subrutin/bitbucket-mcp-server:stdio-0.0.2"
      ]
    }
  }
}

VS代码 使用MCP扩展(格式相同):

{
  "mcp.servers": {
    "bitbucket": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "BITBUCKET_EMAIL=your-email@example.com",
        "-e", "BITBUCKET_API_TOKEN=your-api-token",
        "-e", "BITBUCKET_WORKSPACE=your-workspace",
        "subrutin/bitbucket-mcp-server:stdio-0.0.2"
      ]
    }
  }
}

对于其他MCP客户端,对stdio传输使用相同的Docker命令模式。

🌐 方法2:SSE传输(基于Web的客户端的替代方案)

SSE传输要求服务器正在运行并且可以通过HTTP访问。

第一步: 使用Docker启动服务器:

docker run -d \
  --name bitbucket-mcp \
  -p 8080:8080 \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -e BITBUCKET_WORKSPACE=your-workspace \
  subrutin/bitbucket-mcp-server:latest

第二步: 配置您的MCP客户端:

✅ 光标IDE

添加到光标设置中:

{
  "mcpServers": {
    "bitbucket": {
      "url": "http://localhost:8080/mcp/sse"
    }
  }
}

✅ VS Code

安装MCP扩展并添加到您的设置中:

{
  "mcp.servers": {
    "bitbucket": {
      "url": "http://localhost:8080/mcp/sse"
    }
  }
}

✅ 樱桃工作室

  • 前往设置
  • 选择MCP
  • 点击按钮创建
  "Type": sse
  "url": "http://localhost:8080/mcp/sse",
  "name": "Bitbucket MCP"

支持的交通工具

  • 标准 -直接过程通信(通用-推荐)

- 适用于:所有MCP客户端 (克劳德桌面、光标、VS代码、樱桃工作室等) - 不需要HTTP服务器 - 最简单的设置 - 使用图像: subrutin/bitbucket-mcp-server:stdio-0.0.2

  • SSE(服务器发送事件) -基于HTTP的传输

- 基于web的客户端的替代选项 - 需要运行HTTP服务器 - 长期连接 - 实时更新 - 使用图像: subrutin/bitbucket-mcp-server:latest

  • HTTP流 -适用于定制MCP客户端

- 请求/响应模式 - 编程访问 - 使用图像: subrutin/bitbucket-mcp-server:latest

  • ⚠️ HTTPS/TLS -尚未支持

- 目前只有HTTP可用于SSE - HTTPS支持计划在未来发布

MCP工具参考

该服务器提供11个与Bitbucket交互的工具:

拉取请求工具

1. findAllPullRequest

返回指定存储库上的所有拉取请求。

参数:

  • workspace (string):存储库所在的工作区ID或slug
  • reposlug (string):从中获取拉取请求的存储库slug或名称

例子:

Use the findAllPullRequest tool with workspace "myteam" and reposlug "myrepo"

2. findAPullRequest

按ID返回包含详细信息的特定拉取请求。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • pullRequestId (整数):从中获取详细信息的拉取请求ID

例子:

Get details of pull request #42 from myteam/myrepo

3. findDiffStatForPullRequest

返回pull请求的diffstat(关于更改的统计信息)。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • id (整数):拉取请求ID

例子:

Show me the diffstat for PR #42

4. findListChangesInAPullRequest

返回拉取请求中的实际差异/更改,显示添加/删除的行。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • id (整数):拉取请求ID

例子:

Show me all the code changes in PR #42

拉取请求评论工具

5. createComment

对pull请求创建一般注释。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • pullRequestId (integer):要评论的拉取请求ID
  • commentText (string):评论文本内容(支持Markdown)

例子:

Add a comment to PR #42 saying "LGTM! Great work on the refactoring."

6. updateComment

更新对拉取请求的现有评论。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • pullRequestId (整数):拉取请求ID
  • commentId (整数):要更新的评论ID
  • commentText (string):更新的评论文本内容

例子:

Update comment #123 on PR #42 with new text

7. createInlineComment

在拉取请求差异中的特定代码行上创建内联注释。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • pullRequestId (整数):拉取请求ID
  • filePath (string):PR diff中显示的精确文件路径(区分大小写)
  • lineNumber (整数):文件新版本中的行号
  • commentText (string):Markdown格式的评论文本

重要提示:

  • filePath 必须与PR差异中显示的文件路径完全匹配
  • lineNumber 必须来自新/修改版本(diff中带“+”的行)
  • 该行必须存在于PR差异中-您不能对未更改的行进行注释
  • 工作流程:第一次通话 findListChangesInAPullRequest 要获取差异,请确定正确的文件路径和行号

例子:

First, get the diff for PR #42, then add an inline comment on line 25 of src/main/java/Service.java

8. findAComment

返回一个特定的拉取请求注释及其详细信息。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • pullRequestId (整数):拉取请求ID
  • commentId (整数):要检索的注释ID

例子:

Get details of comment #123 from PR #42

9. findCommentList

返回特定拉取请求的分页注释列表。

参数:

  • workspace (string):工作区ID或slug
  • reposlug (string):仓库段塞
  • pullRequestId (整数):拉取请求ID
  • page (整数):分页的页码
  • pageLength (整数):每页的项目数
  • size (整数):项目总数

例子:

Get the first 10 comments from PR #42

用户配置文件工具

10. Fetch user profile

返回经过身份验证的用户的Bitbucket配置文件信息。

参数:

例子:

Show me my Bitbucket profile

配置

环境变量

此服务器需要以下环境变量才能与Bitbucket Cloud进行身份验证:

变量必填描述示例
BITBUCKET_EMAIL您的Bitbucket帐户电子邮件user@example.com
BITBUCKET_API_TOKEN具有存储库和PR权限的API令牌ATBBxxx...
BITBUCKET_WORKSPACE操作的默认工作区段塞myteam

创建Bitbucket API令牌

  1. 首选https://bitbucket.org/account/settings/api-token/
  2. 点击“创建API令牌”
  3. 给它一个标签(例如“MCP服务器”)
  4. 选择权限:

- 仓库:阅读 - 拉取请求:读,写

  1. 点击“创建”并复制生成的令牌(将其用作 BITBUCKET_API_TOKEN)

注: API令牌与应用程序密码不同。API令牌提供更细粒度的权限,是推荐的身份验证方法。有关更多信息,请参见 Atlassian的API代币文档.

应用程序配置

服务器配置位于 src/main/resources/application.yml:

bitbucket:
  api:
    email: ${BITBUCKET_EMAIL:}
    token: ${BITBUCKET_API_TOKEN:}
    workspace: ${BITBUCKET_WORKSPACE:}

quarkus:
  rest-client:
    bitbucket-api:
      url: https://api.bitbucket.org/2.0

支持的交通工具

此MCP服务器支持以下传输协议:

  • 标准 -直接过程通信(通用-推荐)

- 适用于:所有MCP客户端 (克劳德桌面、光标、VS代码、樱桃工作室等) - 不需要HTTP服务器 - 最简单的设置和集成 - Docker镜像: subrutin/bitbucket-mcp-server:stdio-0.0.2

  • SSE(服务器发送事件) - GET /mcp/sse

- 基于web的客户端的替代方案 - 需要运行HTTP服务器 - 长期连接 - 实时更新 - 目前仅支持HTTP(HTTPS即将推出) - Docker镜像: subrutin/bitbucket-mcp-server:latest

  • HTTP流 - POST /mcp/stream

- 适用于定制MCP客户端 - 请求/响应模式 - 编程访问 - Docker镜像: subrutin/bitbucket-mcp-server:latest

  • ⚠️ HTTPS/TLS -尚未支持(正在开发中)

- 将启用安全的SSE连接 - 需要SSL证书配置 - 看 路线图 关于时间线

使用Docker运行

可用的Docker镜像

该项目为不同的用例提供了两个Docker镜像:

  1. subrutin/bitbucket-mcp-server:latest -SSE/HTTP传输

- 适用于Cursor、VS Code、Cherry Studio - 需要运行HTTP服务器 - 支持SSE和HTTP流

  1. subrutin/bitbucket-mcp-server:stdio-0.0.2 -stdio传输(推荐)

- 适用于所有MCP客户端(Claude Desktop、Cursor、VS Code、Cherry Studio等) - 直接过程沟通 - 不需要HTTP服务器 - 最简单的设置

拉取并运行(SSE/HTTP传输)

# Pull the latest image
docker pull subrutin/bitbucket-mcp-server:latest

# Run the container
docker run -d \
  --name bitbucket-mcp \
  -p 8080:8080 \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -e BITBUCKET_WORKSPACE=your-workspace \
  subrutin/bitbucket-mcp-server:latest

使用stdio传输运行(所有MCP客户端-推荐)

# Pull the stdio image
docker pull subrutin/bitbucket-mcp-server:stdio-0.0.2

# Run interactively (for testing)
docker run -i --rm \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -e BITBUCKET_WORKSPACE=your-workspace \
  subrutin/bitbucket-mcp-server:stdio-0.0.2

备注:对于MCP客户端(Claude Desktop、Cursor、VS Code等),请使用中所示的配置 方法1:stdio传输 而不是手动运行。

使用Docker Compose

创建一个 docker-compose.yml:

version: '3.8'

services:
  bitbucket-mcp:
    image: subrutin/bitbucket-mcp-server:latest
    ports:
      - "8080:8080"
    environment:
      BITBUCKET_EMAIL: ${BITBUCKET_EMAIL}
      BITBUCKET_API_TOKEN: ${BITBUCKET_API_TOKEN}
      BITBUCKET_WORKSPACE: ${BITBUCKET_WORKSPACE}
    restart: unless-stopped

然后运行:

docker-compose up -d

健康检查

检查服务器是否正在运行:

curl http://localhost:8080/q/health

发展

在开发模式下运行

在启用实时编码的开发模式下运行应用程序:

./mvnw quarkus:dev

Dev UI可在以下网址获得

本地测试MCP工具

服务器运行后,您可以测试MCP端点:

# Test SSE connection (Server-Sent Events)
curl -N http://localhost:8080/mcp/sse

# Test HTTP Stream connection
curl -N http://localhost:8080/mcp

# Test with MCP Inspector (if installed)
npx @modelcontextprotocol/inspector http://localhost:8080/mcp/sse

可用的MCP传输:

  • stdio -直接过程通信(通用-适用于所有MCP客户端-使用 stdio-0.0.2 图像)⭐ 推荐
  • GET /mcp/sse -SSE传输(备选方案-需要HTTP服务器)
  • POST /mcp/stream -HTTP流传输(用于自定义MCP客户端)

建筑

构建多架构Docker镜像

该项目包括一个为AMD64和ARM64架构构建原生Docker镜像的脚本:

# Build and push multi-platform image
./build-multiplatform.sh subrutin/bitbucket-mcp-server 0.0.1

# The script will:
# 1. Use Docker buildx to create multi-arch images
# 2. Build native executables with GraalVM
# 3. Push to Docker Hub registry

构建JVM版本

将应用程序打包为JVM应用程序:

./mvnw package

这产生 quarkus-run.jartarget/quarkus-app/ 目录。

运行方式:

java -jar target/quarkus-app/quarkus-run.jar

构建本地可执行文件

使用GraalVM构建本机可执行文件:

# With local GraalVM installation
./mvnw package -Dnative

# Or using Docker (no GraalVM installation required)
./mvnw package -Dnative -Dquarkus.native.container-build=true

运行本机可执行文件:

./target/bitbucket-mcp-server-1.0.0-SNAPSHOT-runner

原生图像的好处:

  • ⚡ 快速启动时间(约0.01秒,JVM约1-2s)
  • 💾 低内存占用(约20-30MB,而JVM约100-200MB)
  • 📦 较小的映像大小(约50-100MB,JVM约300-400MB)

手动构建Docker镜像

# Build native image
docker build -f src/main/docker/Dockerfile.multiplatform -t bitbucket-mcp-server:native .

# Build JVM image
docker build -f src/main/docker/Dockerfile.jvm -t bitbucket-mcp-server:jvm .

API 文档

MCP端点

MCP服务器提供三种传输选项:

1.stdio-直接过程通信✨ 新(通用-推荐)

# Use with Docker
docker run -i --rm \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -e BITBUCKET_WORKSPACE=your-workspace \
  subrutin/bitbucket-mcp-server:stdio-0.0.2

最适合:

  • 所有MCP客户端 (克劳德桌面、光标、VS代码、樱桃工作室等)
  • 不需要HTTP服务器
  • 直接过程沟通
  • 最简单的设置
  • 建议用于所有用例

2.SSE(服务器发送事件)

GET http://localhost:8080/mcp/sse

最适合:

  • 备选方案 当stdio不是首选时
  • 基于Web的客户端
  • 长期连接
  • 实时更新

3.HTTP流

POST http://localhost:8080/mcp/stream
Content-Type: application/json

最适合:

  • 自定义MCP客户端
  • 请求/响应模式
  • 编程访问

REST API端点

除了MCP工具,服务器还公开了REST端点:

获取存储库

GET /bitbucket/repositories?workspace={workspace}&page={page}&pagelen={pagelen}

例子:

curl "http://localhost:8080/bitbucket/repositories?workspace=myteam&page=1&pagelen=10"

健康和指标

# Health check
curl http://localhost:8080/q/health

# Readiness check
curl http://localhost:8080/q/health/ready

# Liveness check
curl http://localhost:8080/q/health/live

# Metrics (if enabled)
curl http://localhost:8080/q/metrics

用例

代码审查自动化

使用AI助手:

  • 审查拉取请求并提供反馈
  • 检查代码质量问题
  • 提出改进建议
  • 在特定行添加内联注释

Claude的示例提示:

Review pull request #42 in workspace "myteam" repository "myrepo". 
Check for:
1. Code quality issues
2. Potential bugs
3. Best practice violations
Add inline comments where improvements are needed.

公共关系管理

  • 列出所有打开的拉取请求
  • 获取特定PR的详细信息
  • 查看差异和更改
  • 管理评论和讨论

示例提示:

Show me all open pull requests in myteam/myrepo and summarize what each one does

团队协作

  • 获取用户配置文件
  • 跟踪公关活动
  • 监控代码更改
  • 促进代码审查讨论

故障排除

常见问题

问题:“身份验证失败”

  • 验证您的 BITBUCKET_EMAILBITBUCKET_API_TOKEN 是正确的
  • 确保API令牌具有所需的权限(存储库:读取,拉取请求:读取和写入)
  • 检查工作区是否存在以及您是否有访问权限
  • 请确保您使用的是API令牌,而不是应用程序密码

问题:“未找到存储库”

  • 验证工作区和存储库块是否正确
  • 确保您具有对存储库的读取权限
  • 检查指定工作区中是否存在存储库

问题:“无法创建内联注释”

  • 第一个电话 findListChangesInAPullRequest 获取确切的文件路径
  • 确保文件路径完全匹配(区分大小写)
  • 验证行号是否来自文件的新版本
  • 该行必须是PR更改的一部分(不是不变的行)

问题:“Docker镜像无法启动”

  • 检查是否设置了所有必需的环境变量
  • 验证端口8080是否尚未使用
  • 检查Docker日志: docker logs bitbucket-mcp

日志

查看应用程序日志:

# Docker logs
docker logs -f bitbucket-mcp

# Local development
# Logs are printed to console when running ./mvnw quarkus:dev

路线图

我们正在积极改进Bitbucket MCP服务器。计划如下:

✅ 最近完成

  • stdio传输支持 - ✨ 现在可用!

- 所有MCP客户端的通用传输 - 无需HTTP服务器的直接进程通信 - 适用于Claude Desktop、Cursor、VS Code、Cherry Studio等 - 使用图像: subrutin/bitbucket-mcp-server:stdio-0.0.2 - 在版本0.0.2中发布

🚧 在开发中

  • HTTPS/TLS支持 -为SSE传输启用安全连接

- 将使Claude Desktop能够使用SSE传输 - SSL证书配置 - 自动HTTP到HTTPS重定向 - 预计在下一个主要版本中

📋 计划的功能

  • 增强身份验证

- OAuth 2.0支持 - 多工作区支持 - 令牌刷新机制

💡 未来的考虑因素

  • GitHub集成(类似于GitHub的MCP服务器)
  • GitLab集成
  • Webhook支持实时更新
  • 自定义工具插件系统

想贡献吗?看看我们的 贡献 部分!

贡献

欢迎投稿!请随时提交拉取请求。

如何做出贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

开发设置

请参阅 发展 有关设置本地环境的说明的部分。

许可证

这个项目是开源的。请查看许可证文件以了解详细信息。

作者

那么 Saputro

资源

支持

对于问题、疑问或贡献:

目录标签

目录标签

版本控制代码审查JavaClaudeAPI集成AI助手本地部署RESTfulAPIDocker支持

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP