Bitbucket Cloud MCP Server

April 5, 2026 · View on GitHub

License: MIT Node.js MCP

An MCP (Model Context Protocol) server that lets AI assistants read Bitbucket Cloud pull requests. Connect Claude, Copilot, or any MCP-compatible client to your Bitbucket Cloud workspace and review PRs through natural conversation.

What Can It Do?

ToolDescription
get_bb_pull_requestRetrieve pull request details (title, author, status, branches, etc.)
get_bb_diffGet the full diff of a pull request

Example prompts you can use with your AI assistant:

"Summarize pull request #42 in the my-app repo"

"Review the diff for PR #15 and suggest improvements"

"What's the status of open PRs in our project?"

Quick Start

1. Install

git clone https://github.com/ttekun/bitbucket-cloud-mcp-server.git
cd bitbucket-cloud-mcp-server
npm install
npm run build

2. Get a Bitbucket App Password

  1. Go to Bitbucket CloudPersonal SettingsApp passwords
  2. Create a new app password with Repository: Read and Pull request: Read permissions

3. Configure Your MCP Client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "bitbucket-cloud": {
      "command": "node",
      "args": ["/absolute/path/to/bitbucket-cloud-mcp-server/build/index.js"],
      "env": {
        "BITBUCKET_TOKEN": "your-app-password",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}
VS Code (Copilot / Claude Code)

Add to your VS Code settings or .vscode/mcp.json:

{
  "mcpServers": {
    "bitbucket-cloud": {
      "command": "node",
      "args": ["/absolute/path/to/bitbucket-cloud-mcp-server/build/index.js"],
      "env": {
        "BITBUCKET_TOKEN": "your-app-password",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}

Environment Variables

VariableRequiredDescription
BITBUCKET_TOKENYesBitbucket Cloud app password
BITBUCKET_WORKSPACENoDefault workspace (can be overridden per request)

Tool Parameters

Both tools accept the same parameters:

ParameterTypeRequiredDescription
workspacestringYes*Bitbucket workspace (*falls back to BITBUCKET_WORKSPACE env var)
repo_slugstringYesRepository slug
pull_request_idnumberYesPull request ID

Development

npm run dev        # Watch mode
npm test           # Run tests
npm run lint       # Lint
npm run inspector  # MCP Inspector (debug tool)

License

MIT