一个用于与 Bitbucket Cloud API 平滑集成的生产就绪型模型上下文协议(MCP)服务器。该服务器按照企业级质量标准构建,通过标准化的 MCP 接口提供对 Bitbucket Cloud 功能的全面访问。
list_projects - 列出工作区中所有可访问的项目list_repositories - 按工作区或项目列出仓库list_commits - 浏览提交历史并使用过滤选项list_pull_requests - 列出带有状态过滤的拉取请求 (OPEN, MERGED, DECLINED)get_pull_request - 获取详细的拉取请求信息create_pull_request - 创建新的拉取请求并指定审阅者update_pull_request - 更新拉取请求标题和/或描述approve_pull_request - 批准拉取请求decline_pull_request - 拒绝拉取请求merge_pull_request - 合并已批准的拉取请求并选择合并策略list_pull_request_comments - 列出所有拉取请求评论create_pull_request_comment - 添加通用评论create_pull_request_inline_comment - 添加行特定代码评论get_pull_request_diff - 获取完整的代码审查差异get_pull_request_diffstat - 获取更改摘要 (文件、添加/删除的行数)# 不需要安装 - 直接从 PyPI 运行
uvx bitbucket-mcp-cloud
# 对于支持的 MCP 工具
mcp run bitbucket-mcp-cloud
# 全局安装
pip install bitbucket-mcp-cloud
# 运行服务器
bitbucket-mcp-cloud
# 克隆并设置开发环境
git clone https://github.com/jhonymiler/Bitbucket-MCP-Cloud.git
cd Bitbucket-MCP-Cloud
# 使用 uv (推荐)
uv sync
uv run server.py
# 或使用 pip
pip install -e .
python server.py
# 使用 MCP CLI
mcp run server.py
# 用于开发和测试
uv run mcp dev server.py
# 选项 1:使用 .env 文件 (开发时)
cp .env.example .env
# 编辑 .env 文件以包含您的凭据
# 选项 2:导出环境变量
export BITBUCKET_USERNAME=your_username
export BITBUCKET_TOKEN=your_app_password
export BITBUCKET_DEFAULT_WORKSPACE=your_workspace
在您的 Claude Desktop 配置 (~/Library/Application Support/Claude/claude_desktop_config.json) 中添加:
{
"mcpServers": {
"bitbucket": {
"command": "uvx",
"args": ["bitbucket-mcp-cloud"],
"env": {
"BITBUCKET_USERNAME": "your_username",
"BITBUCKET_TOKEN": "your_app_password",
"BITBUCKET_DEFAULT_WORKSPACE": "your_workspace"
}
}
}
}
# 列出项目
await list_projects(workspace="my-workspace", limit=25)
# 列出所有仓库
await list_repositories(workspace="my-workspace")
# 列出特定项目的仓库
await list_repositories(workspace="my-workspace", project="PROJ")
# 列出打开的 PR
await list_pull_requests(repository="my-repo", state="OPEN")
# 获取 PR 详情
await get_pull_request(repository="my-repo", pr_id=123)
# 创建新的 PR
await create_pull_request(
repository="my-repo",
title="新功能",
source_branch="feature/new-feature",
target_branch="main",
description="实现新功能 X"
)
# 更新 PR 描述
await update_pull_request(
repository="my-repo",
pr_id=123,
description="更新描述,提供更多细节"
)
# 批准并合并 PR
await approve_pull_request(repository="my-repo", pr_id=123)
await merge_pull_request(repository="my-repo", pr_id=123, merge_strategy="squash")
# 在特定行上创建内联评论
await create_pull_request_inline_comment(
repository="my-repo",
pr_id=123,
content="这个函数可以优化",
filename="src/main.py",
line_number=42
)
# 获取差异以进行分析
diff_text = await get_pull_request_diff(repository="my-repo", pr_id=123)
# 获取更改摘要
diffstat = await get_pull_request_diffstat(repository="my-repo", pr_id=123)
bitbucket-mcp-cloud/
├── server.py # 主 MCP 服务器 (入口点)
├── src/
│ ├── models.py # Pydantic 模型以确保类型安全
│ ├── utils.py # 工具函数和日志记录
│ └── __init__.py
├── tests/ # 综合测试套件
│ └── test_bitbucket_mcp.py
├── pyproject.toml # 项目配置
├── .env.example # 配置模板
├── .github/
│ └── workflows/
│ └── publish.yml # CI/CD 管道
└── README.md # 此文档
BitbucketCloudClient: 异步 HTTP 客户端,具有全面的 API 覆盖FastMCP: 自动生成工具定义的 MCP 服务器# 运行所有测试
uv run pytest
# 运行带有覆盖率报告的测试
uv run pytest --cov=src --cov-report=html
# 运行特定的测试类别
uv run pytest tests/test_bitbucket_mcp.py::TestMCPTools -v
# 类型检查
uv run mypy server.py src/
# 代码格式化
uv run black server.py src/ tests/
此 MCP 服务器实现了完整的 Bitbucket Cloud REST API v2.0。涵盖的关键 API 端点包括:
/workspaces/{workspace}/projects - 项目管理/repositories/{workspace} - 仓库操作/repositories/{workspace}/{repo}/pullrequests - 拉取请求生命周期/repositories/{workspace}/{repo}/commits - 提交历史/pullrequests/{pr_id}/comments - 评论系统/pullrequests/{pr_id}/diff - 代码分析git checkout -b feature/amazing-feature)uv run pytest)git commit -m '添加神奇功能')git push origin feature/amazing-feature)# 克隆并设置
git clone https://github.com/jhonymiler/Bitbucket-MCP-Cloud.git
cd Bitbucket-MCP-Cloud
uv sync --extra dev
# 运行质量检查
uv run pytest
uv run mypy server.py src/
uv run black --check server.py src/ tests/
MIT 许可证 - 详情见 LICENSE 文件。
为 MCP 社区制作 ❤️