The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Bitbucket MCP listing page.
English · Português (BR)
MCP server for Bitbucket Cloud, focused on the first pass of pull-request review. stdio transport, for use with Claude Code or Claude Desktop.
Bitbucket Cloud app passwords have been in brownout since 2026-06-09 and are removed on 2026-07-28. This server uses an API token, and the HTTP Basic pair is email:token — the Bitbucket REST API requires the Atlassian account email, not the username. Using the username results in a silent 401.
read:repository:bitbucket (read repositories, diffs, files)read:pullrequest:bitbucket (read PRs and comments)write:pullrequest:bitbucket (comment, approve, request changes)This generates dist/index.js (the server binary).
Add this to the project's .mcp.json (or to your global Claude Code config):
Alternative, via the CLI:
BITBUCKET_WORKSPACE is optional; if omitted, each tool must be given workspace explicitly.
Read (no side effects):
| Tool | Purpose |
|---|---|
list_repositories | Repositories in the workspace |
list_pull_requests | PRs by state (OPEN/MERGED/DECLINED/SUPERSEDED) |
get_pull_request | PR metadata (description, branches, reviewers, approvals) |
get_pull_request_diff | Unified diff — the basis for the review |
get_pull_request_comments | Existing comments (general and inline) |
get_pull_request_commits | PR commits |
list_directory | Lists the repo file tree at a commit/branch (explore the project) |
get_file | Contents of a file (default branch if commit is omitted) |
Write (mutate state in Bitbucket):
| Tool | Purpose |
|---|---|
add_pull_request_comment | Comment on the PR; path + line together = inline |
approve_pull_request | Approve the PR |
request_changes_pull_request | Mark "request changes" |
The token grants read/write access to the workspace's PRs. Treat it as a secret: keep it in an environment variable / secret manager, and never commit it. For a first-pass subagent that only suggests review without mutating anything, use a read-only scoped token — that way approve/comment fail on permission rather than relying on prompt discipline.
MIT © José Danilo