Bitbucket
Manage Bitbucket Cloud repos, pipelines, and pull requests from an AI agent.
Quick answer
What it does
Wraps the Bitbucket Cloud REST API for repository, PR, branch, and Pipelines operations. Read-only by default; writes require explicit per-tool gates.
Best for
- Atlassian-stack teams
- PR triage and review on Bitbucket
- Pipelines failure investigation
- Branch restriction audits
Not for
- Bitbucket Server self-hosted
- Teams already on GitHub or GitLab (use those MCPs)
Setup recipe
Pick your client, then follow the three steps.
- 1
Install
claude_desktop_config.jsonjson{ "mcpServers": { "bitbucket": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest" ], "env": { "BITBUCKET_USERNAME": "${BITBUCKET_USERNAME}", "BITBUCKET_APP_PASSWORD": "${BITBUCKET_APP_PASSWORD}", "BITBUCKET_WORKSPACE": "${BITBUCKET_WORKSPACE}" } } } }Paste under mcpServers. Fully quit and reopen Claude after editing.
CLI or .mcp.jsonshell# export BITBUCKET_USERNAME=reader # export BITBUCKET_APP_PASSWORD=changeme # export BITBUCKET_WORKSPACE=my-team claude mcp add bitbucket -- docker run --rm -i -e BITBUCKET_USERNAME -e BITBUCKET_APP_PASSWORD -e BITBUCKET_WORKSPACE ghcr.io/atlassian/mcp-server-atlassian:latestRun from your repo. Commit .mcp.json to share with your team.
.cursor/mcp.jsonjson{ "mcpServers": { "bitbucket": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest" ], "env": { "BITBUCKET_USERNAME": "${BITBUCKET_USERNAME}", "BITBUCKET_APP_PASSWORD": "${BITBUCKET_APP_PASSWORD}", "BITBUCKET_WORKSPACE": "${BITBUCKET_WORKSPACE}" } } } }Global path: ~/.cursor/mcp.json. Reload window after editing.
.vscode/mcp.jsonjsonc{ "servers": { "bitbucket": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest" ], "env": { "BITBUCKET_USERNAME": "${BITBUCKET_USERNAME}", "BITBUCKET_APP_PASSWORD": "${BITBUCKET_APP_PASSWORD}", "BITBUCKET_WORKSPACE": "${BITBUCKET_WORKSPACE}" } } } }VS Code uses the "servers" key (not "mcpServers").
~/.codeium/windsurf/mcp_config.jsonjson{ "mcpServers": { "bitbucket": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest" ], "env": { "BITBUCKET_USERNAME": "${BITBUCKET_USERNAME}", "BITBUCKET_APP_PASSWORD": "${BITBUCKET_APP_PASSWORD}", "BITBUCKET_WORKSPACE": "${BITBUCKET_WORKSPACE}" } } } }Open via Cascade → hammer icon → Configure.
cline_mcp_settings.jsonjson{ "mcpServers": { "bitbucket": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest" ], "env": { "BITBUCKET_USERNAME": "${BITBUCKET_USERNAME}", "BITBUCKET_APP_PASSWORD": "${BITBUCKET_APP_PASSWORD}", "BITBUCKET_WORKSPACE": "${BITBUCKET_WORKSPACE}" } } } }Open via the Cline sidebar → MCP Servers → Edit.
~/.continue/config.jsonjson{ "experimental": { "modelContextProtocolServers": [ { "transport": { "type": "stdio", "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest" ], "env": { "BITBUCKET_USERNAME": "${BITBUCKET_USERNAME}", "BITBUCKET_APP_PASSWORD": "${BITBUCKET_APP_PASSWORD}", "BITBUCKET_WORKSPACE": "${BITBUCKET_WORKSPACE}" } } } ] } }Continue uses modelContextProtocolServers with a transport block.
~/.codex/config.tomlshell# ~/.codex/config.toml [mcp_servers.bitbucket] command = "docker" args = [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest", ] env = { BITBUCKET_USERNAME = "${BITBUCKET_USERNAME}", BITBUCKET_APP_PASSWORD = "${BITBUCKET_APP_PASSWORD}", BITBUCKET_WORKSPACE = "${BITBUCKET_WORKSPACE}" }Codex uses TOML. Each server is a [mcp_servers.<name>] subtable.
~/.config/zed/settings.jsonjsonc{ "context_servers": { "bitbucket": { "command": { "path": "docker", "args": [ "run", "--rm", "-i", "-e", "BITBUCKET_USERNAME", "-e", "BITBUCKET_APP_PASSWORD", "-e", "BITBUCKET_WORKSPACE", "ghcr.io/atlassian/mcp-server-atlassian:latest" ] }, "env": { "BITBUCKET_USERNAME": "${BITBUCKET_USERNAME}", "BITBUCKET_APP_PASSWORD": "${BITBUCKET_APP_PASSWORD}", "BITBUCKET_WORKSPACE": "${BITBUCKET_WORKSPACE}" } } } }Zed calls them "context_servers". Settings live-reload on save.
ChatGPT → Apps directorynoneBitbucket doesn't ship a hosted HTTPS endpoint today. ChatGPT supports remote MCP servers only — to use this server in ChatGPT you'll need to deploy it to a public HTTPS URL first (e.g. via Cloudflare Workers or Vercel) or wait for an official remote build.
- 2
Set required secrets
Set
BITBUCKET_USERNAME,BITBUCKET_APP_PASSWORD,BITBUCKET_WORKSPACEin your shell environment before launching your MCP client. - 3
Try a minimum working prompt
Minimum working prompt pending verification. Try any prompt from the MCP’s README once installed.
Tools & permissions
| Tool | Description | Args | Side effects |
|---|---|---|---|
list_repos | List repositories in a workspace. | workspace: string | Read |
get_pull_request | Return metadata, files, and reviewers for a PR. | workspace: string, repo: string, id: number | Read |
list_pipelines | List recent Pipelines runs for a repo. | workspace: string, repo: string | Read |
create_comment | Add a comment on a PR. Requires write scope. | pr_id: number, body: string | Write |
Security & scope
- Access scope
- Read-only
- Sandbox
- Authenticates with a Bitbucket app password or OAuth token scoped to the smallest set of permissions the workflow needs. The MCP defaults to read-only tools.
- Gotchas
- App passwords with admin scope can delete branches; scope them to repo:read for agent use.
- OAuth grants are workspace-wide — review which workspaces you authorise before consent.
- Bitbucket rate-limits at 1000 requests/hour per user; a chatty agent can exhaust the budget on large workspaces.
Agent prompt pack
— copy into Claude, Cursor, or ChatGPT.Recommend the best MCP servers for [task: e.g. git & repo workflows work] in [client: Claude]. Constraints: - Prefer tools that are [official | open-source | read-only] — pick what matters for my use case. - Exclude MCPs that require [e.g. a paid plan, OAuth-only flows, remote-only transport]. - Return at most 3 picks, ranked. For each pick include: 1. One-sentence rationale. 2. The ready-to-paste install snippet for my client. 3. Any required secrets I need to create before installing. Cross-check the top-mcps.com listing: https://top-mcps.com/top-mcps-for-git-repo-workflows
Compare Bitbucket MCP vs [GitHub MCP] for the following job: [describe the job, e.g. "let an agent create GitHub issues on bug triage"]. Judge them on: - Setup time and complexity (what a new user hits first). - Auth model (none / API key / OAuth 2.1) and credential risk. - Transport (stdio / Streamable HTTP / SSE) and where the server runs. - Required secrets and the blast radius if they leak. - Operational risk in an unattended agent loop. - Which one is "good enough" for a weekend prototype vs. production. End with one sentence: which should I pick for my scenario, which is: [my scenario]. References: - https://top-mcps.com/mcp/bitbucket - top-mcps.com listing for GitHub
Install the Bitbucket MCP server for my [client: Claude] at the default config path for that client. Use the exact install snippet published at https://top-mcps.com/mcp/bitbucket (fetch https://top-mcps.com/mcp/bitbucket.json for the canonical server.json if you can read URLs). Before finishing: 1. Create the required secrets (BITBUCKET_USERNAME, BITBUCKET_APP_PASSWORD, BITBUCKET_WORKSPACE) and put them in the appropriate env block — do not hard-code them. 2. Restart or reload the client so it picks up the new server. 3. Verify the server is connected (green / running state) and at least one tool is listed. 4. If anything fails, read the client's MCP logs and report the exact error — do not silently retry. Confirm when done and list the tools the server now exposes.
Frequently asked questions
What changed
— 2 updates tracked.Refreshed install snippets and fact sheet; verified for 2026.
Initial directory listing.
More Git & Repo Workflows MCPs
Other tools in the same category worth evaluating.
Compared with Bitbucket
Side-by-side breakdowns for the choices people most often weigh against this MCP.
Exploring Top MCPs for Git & Repo Workflows? See all Git & Repo Workflows MCPs →
