My team lives in Bitbucket Cloud, and most of my review work is reading diffs, opening PRs, and chasing stale branches. I built bitbucket-mcp so Claude can handle that from a conversation.
It is a Model Context Protocol server that authenticates with an app password tied to my Atlassian account. Multiple workspaces, a default repo per workspace, and protected branches the AI cannot merge into.
$What sets it apart
There are other Bitbucket MCP servers out there. The difference here is the UI. I like UIs, so this one comes with a browser console for adding workspaces, toggling protected branches, and watching live MCP activity over SSE as Claude calls tools.
No editing JSON by hand. Add a workspace, test the connection inline, mark main as protected, done.$What it exposes
- list_workspaces / list_repos / list_branchesnavigate workspaces, repositories, and branches with optional name filters
- get_pull_requests / get_pull_requestfilter by state, source, or destination branch; inspect a single PR
- create_pull_requestopen a PR between branches with title and description
- merge_pull_request / decline_pull_requestmerge with commit, squash, or fast-forward; decline stale ones
- get_pr_diff / get_pr_file_difflist changed files with line counts, or pull the full diff for one file
$What it looks like in practice
- triageList all open PRs in my-repo targeting the main branch.
- openCreate a pull request from feature/SCC-1234 to develop with a summary of the changes.
- reviewShow me what files changed in PR #42 and give me a line-by-line diff of the auth module.
- mergeFind the PR for branch feature/payments and merge it with a squash strategy.
- cleanupDecline the stale PRs that have been open for more than 30 days.
>>Try it
Run npx @yunusemregul/bitbucket-mcp, open http://localhost:18434 to add a workspace, then point your MCP client at /mcp/sse.
MCP server for Bitbucket Cloud with a real web UI. Pull request workflows, multi-workspace config, and protected branches. Issues and PRs welcome.