内容
Bitbucket MCP 服务器
用于全面集成 Bitbucket Cloud快速 MCP 服务器。从 Claude 直接管理拉取请求、仓库、分支、提交、管道、问题、Webhook、代码片段等。
## 功能
- **用户与账户**:获取当前用户信息、用户资料和仓库权限
- **仓库管理**:列出、创建、更新、删除和分叉仓库
- **分支与标签管理**:创建/删除分支和标签,查看分支模型
- **提交与构建状态**:列出提交记录,查看差异,管理构建状态
- **拉取请求生命周期**:创建、更新、合并和拒绝拉取请求
- **代码审查**:批准、请求更改、添加/删除审查者
- **评论**:添加、阅读、回复和删除评论(包括内联代码评论)
- **差异与代码**:查看差异、文件更改、提交记录和文件内容
- **合并状态**:检查拉取请求是否可以合并,查看冲突和阻止因素
- **管道(CI/CD)**:列出、触发、;查看步骤和日志;管理变量
- **工作区与项目**:列出工作区,管理项目,搜索代码
- **问题**:创建、更新、列出问题;管理问题评论
- **Webhook**:创建、列出和删除仓库和工作区 Webhook
- **代码片段**:创建、列出、获取和删除代码## 安装
### 从 Py推荐)
```bash
bitbucket-mcp
```
或使用 uvx 直接运行():
```bash
uvx bitbucket-mcp
```
Token
1. 访问 [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)
2. 点击 API token**
3. 为其命名(例如,“Bitbucket)
4. 复制生成的 token
## 配置
### 选项 1:交互式设置(推荐)
使用 `setup_bit 工具:
```
setup_bitbucket(
workspace="your-workspace",
username="your-email@example.com",
api_token="your-api-token"
)
```
这会将凭证安全地存储在 `~/.bitbucket-mcp/config.json` 中,权限为 600(仅所有者可访问)。
### 选项 2:
```bash
export BIT_API_TOKEN="your-apiexport BITBUCKET_USERNAME-email@example.com"
export BIT_WORKSPACE="your-work # 可选默认值
```
## Claude 桌面配置
添加到您的 `claude_desktop_config:
```json
{
"mcpServers": {
"bitbucket": {
"command": "uvx",
"args": ["bitbucket-mcp"]
}
}
}
```
或如果使用 pip 安装:
```json
{
"mcpServers": {
"bitbucket": {
"command": "bitbucket-mcp"
}
}
}
```
## 可用工具(共 77 个)
### 配置(2 个工具)
| 工具 | 描述 |
|------|-------------|
| `setup_bitbucket 配置 Bitbucket 凭证 `get_config_status`配置状态 |
### 用户与账户(3 个工具)
| 工具 | 描述 |
|------|-------------|
| `get_current_user`认证用户个人资料 |
| `get_user_profile` | 获取用户公开个人资料 |
| `get_user_permissions` | 获取当前用户仓库权限 |
### 仓库管理(7 个工具)
| 工具 | 描述 |
|------|-------------|
| `list_repositories`出工作区中的仓库 |
| `get_repository` | 获取信息 |
| `create_repository` | 创建新仓库 |
| `update_repository` | 更新仓库设置 |
| `delete_repository` | 删除仓库 |
| `fork_repository` | 分叉仓库 |
| `list_repository_forks` | 列出仓库的分叉 |
### 分支与标签管理(7 个工具)
| 工具 | 描述 |
|------|-------------|
| `list_branches` | 列出仓库中的分支 |
| `create_branch` | 创建新分支 |
| `delete_branch` | 删除分支 |
| `list_tags` | 列出仓库中的标签 |
| `create_tag` | 创建新标签 |
| `delete_tag` | 删除标签 |
| `get_branching_model` | 获取分支模型配置 |
### 提交与构建状态(8 个工具)
| 工具 | 描述 |
|------|-------------|
| `get_file_contents` | 从分支/提交中获取文件内容 |
| `list_commits` | 列出仓库中的提交记录 |
| `get_commit` | 获取特定提交记录的详细信息 |
| `get_commit_diff` | 获取提交记录或范围的差异 |
| `get_commit_diffstat` | 获取提交记录或范围的差异统计 |
| `list_commit_statuses` | 列出提交记录的构建状态 |
| `create_build_status` | 为提交记录创建构建状态 |
| `list_commit_comments` | 列出提交记录的评论 |
### 拉取请求(20 个工具)
| 工具 | 描述 |
|------|-------------|
| `create_pull_request` | 创建带有默认审查者的新拉取请求 |
| `list_pull_requests` | 列出仓库的拉取请求 |
| `get_pull_request` | 获取拉取请求详细信息 |
| `update_pull_request` | 更新/编辑拉取请求 |
| `approve_pull_request` | 批准拉取请求 |
| `unapprove_pull_request` | 取消拉取请求的批准 |
| `request_changes_pull_request` | 请求对拉取请求进行更改 |
| `add_pull_request_comment` | 添加评论到拉取请求 |
| `get_pull_request_comments` | 从拉取请求获取评论 |
| `get_pull_request_diffstat` | 获取更改文件摘要 |
| `get_pull_request_diff` | 获取拉取请求的代码差异 |
| `merge_pull_request` | 合并拉取请求 |
| `decline_pull_request` | 拒绝/关闭拉取请求 |
| `reply_to_comment` | 回复特定评论 |
| `add_inline_comment` | 在代码上添加内联评论 |
| `delete_comment` | 删除评论 |
| `get_pull_request_activity` | 获取拉取请求的活动时间线 |
| `get_pull_request_commits` | 列出拉取请求中的提交记录 |
| `add_reviewer` | 添加审查者到拉取请求 |
| `remove_reviewer` | 从拉取请求中删除审查者 |
| `get_pull_request_merge_status` | 检查拉取请求是否可以合并 |
### 管道 / CI/CD(8 个工具)
| 工具 | 描述 |
|------|-------------|
| `list_pipelines` | 列出仓库的管道 |
| `get_pipeline` | 获取管道详细信息 |
| `trigger_pipeline` | 触发新管道运行 |
| `stop_pipeline` | 停止正在运行的管道 |
| `list_pipeline_steps` | 列出管道中的步骤 |
| `get_pipeline_step_log` | 获取步骤的日志输出 |
| `list_pipeline_variables` | 列出管道变量 |
| `create_pipeline_variable` | 创建管道变量 |
### 工作区与项目(10 个工具)
| 工具 | 描述 |
|------|-------------|
| `list_workspace_members` | 列出工作区成员 |
| `get_default_reviewers` | 获取仓库的默认审查者 |
| `list_workspaces` | 列出所有可访问的工作区 |
| `get_workspace_details`工作区详细信息 |
| `list_workspace_permissions` | 列出工作区权限 |
| `list_projects` | 列出工作区中的项目 |
| `get_project` | 获取项目详细信息 |
| `create_project` | 创建新项目 |
| `search_code` | 跨仓库搜索代码 |
### 问题(6 个工具)
| 工具 | 描述------|-------------|
| `list_issues` | 列出仓库中的问题 |
| `create_issue` | 创建新问题 |
| `get_issue` |详细信息 |
| `update_issue` | 更新问题 |
|_issue_comments` | 列出问题的评论 |
| `_comment` | 添加评论到问题 |
### Webhook(4 个工具)
| 工具 | 描述 |
|------|-------------|
list_webhooks` | 列出仓库 Webhook |
| `create_webhook` | 创建仓库 Webhook |
| `delete_webhook` | 删除仓库 Webhook |
| `list_workspace_webhooks` | 列出工作区 Webhook |
### 代码片段(4 个工具)
| 工具 | 描述 |
|------|-------------|
| `list_snippets` | 列出工作区中的 |
| `create_snippet` | 创建新代码片段 |
| `get_snippet` | 获取代码片段详细信息 |
delete_snippet` | 删除代码片段 |
## 与 Claude 的示例用法
1. **首次设置:**
> "使用我的工作区 'mycompany'、用户名 'me@example.com' 和 API token 'abc123' 设置 Bitbucket"
2. **列出仓库:**
> "显示我工作区中的所有仓库"
3. **创建拉取请求:**
> "在 my-repo 中从 feature/login 创建一个名为 'Add user login' 的拉取请求到 main"
4. **审查拉取请求:**
> "批准 my-repo 中的拉取请求 #42"
5. **检查合并状态:**
> "拉取请求 #42 可以合并吗?是否有冲突?"
6合并拉取请求 > "压缩合并拉取请求 #42 并删除源分支"
7. **管道操作:**
> "在 my-repo 中触发 main 分支的管道"
> "显示我最后一次管道运行的日志"
8. **分支管理: > "在 my-repo 中从 main 创建一个名为/new-api' 的分支"
> "列出 my-repo 中的所有标签"
9. **问题跟踪:**
在 my-repo 中 'Login fails on mobile bug 问题"
> "显示 my-repo 中所有"
10. **代码搜索:**
> "在我的工作区中搜索 'TODO'"
## 安全
- 凭证存储在 `~/.bitbucket-mcp/config.json` 中,权限为 600所有者可访问)
- API token 绝不会在日志中记录或在错误消息中暴露
- 支持环境变量用于 CI/CD 场景
## 许可证
MIT 许可证 - 参见 [LICENSE](LICENSE) 获取详细信息。