Skip to main content

MCP Server for Bitbucket API - Container optimized with configurable tools, structured output and slim responses

Project description

Bitbucket MCP Server (Python)

PyPI Python License: MIT

Connect Claude Code, Cursor, VS Code (GitHub Copilot), and any MCP-compatible AI assistant to your Bitbucket Cloud repositories. Review pull requests, monitor pipelines, and manage your code — all through natural language.

Features

  • 21 MCP tools — repositories, pull requests, comments, diffs, pipelines
  • Slim responses — stripped API noise for lower LLM token usage
  • Configurable — enable/disable tools via configs/tools.json
  • Secure credentials — environment variables or system keychain

Quick Start

1. Install

# Avec uv (recommandé)
uvx bitbucket-mcp-py

# Avec pip
pip install bitbucket-mcp-py

Installation modes

Mode Command Pour qui
uvx (recommended) uvx bitbucket-mcp-py Zero install, works anywhere with uv
pip global pip install bitbucket-mcp-py Simple, global dependencies
Local dev pip install -e . in project dir Contributing to the project

2. Configure credentials

Set the following environment variables (or use a .env file — see Credentials):

Variable Description
BITBUCKET_USERNAME Your Bitbucket email
BITBUCKET_TOKEN Your Bitbucket API token
BITBUCKET_WORKSPACE Your workspace slug

Get your API token at: https://id.atlassian.com/manage-profile/security/api-tokens

3. Configure your AI assistant

Claude Code

{
  "mcpServers": {
    "bitbucket": {
      "command": "uvx",
      "args": ["bitbucket-mcp-py"],
      "env": {
        "BITBUCKET_USERNAME": "your-email@example.com",
        "BITBUCKET_TOKEN": "your-api-token",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "bitbucket": {
      "command": "uvx",
      "args": ["bitbucket-mcp-py"],
      "env": {
        "BITBUCKET_USERNAME": "your-email@example.com",
        "BITBUCKET_TOKEN": "your-api-token",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}

VS Code (GitHub Copilot)

Add to ~/Library/Application Support/Code/User/mcp.json:

{
  "mcpServers": {
    "bitbucket": {
      "command": "uvx",
      "args": ["bitbucket-mcp-py"],
      "env": {
        "BITBUCKET_USERNAME": "your-email@example.com",
        "BITBUCKET_TOKEN": "your-api-token",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}

Available Tools

Category Tools
Repositories list_repositories, get_repository
Pull Requests get_pull_requests, get_pull_request, create_pull_request, update_pull_request, approve_pull_request, unapprove_pull_request, decline_pull_request, merge_pull_request
Comments get_pull_request_comments, add_pull_request_comment, get_pull_request_activity, get_pull_request_diff, get_pull_request_commits
Build Status get_pull_request_statuses, get_pull_request_diffstat
Pipelines list_pipeline_runs, get_pipeline_run, get_pipeline_steps, get_pipeline_step_logs

merge_pull_request is disabled by default. Enable it in configs/tools.json.

Credentials

Option 1: .env file (recommended)

cp .env.example .env
# Edit .env with your credentials

Option 2: System keychain (most secure)

pip install 'bitbucket-mcp-py[keyring]'
python3 -c "import keyring; keyring.set_password('bitbucket-mcp', 'bitbucket_token', 'YOUR_TOKEN')"

Docker (Alternative)

If you prefer running the server in a container:

docker build -t bitbucket-mcp-py .
docker run -d --name bitbucket-mcp --env-file .env bitbucket-mcp-py

Then configure your AI assistant to use docker exec:

{
  "mcpServers": {
    "bitbucket": {
      "command": "docker",
      "args": ["exec", "-i", "bitbucket-mcp", "python", "-m", "src.main", "--transport", "stdio"]
    }
  }
}

Development

# Install dev dependencies
pip install -e '.[dev]'

# Run tests
pytest tests/ -v

# Run specific test
pytest tests/test_client.py -v

Requirements

  • Python 3.12+
  • Bitbucket API token

License

MIT

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitbucket_mcp_py-1.7.0.tar.gz (91.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bitbucket_mcp_py-1.7.0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file bitbucket_mcp_py-1.7.0.tar.gz.

File metadata

  • Download URL: bitbucket_mcp_py-1.7.0.tar.gz
  • Upload date:
  • Size: 91.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bitbucket_mcp_py-1.7.0.tar.gz
Algorithm Hash digest
SHA256 a5d0baadc5ec372eb8b4fb78e4847858c8e48b95d6794fc37cfbff60cc0b60f2
MD5 8b197138e612c1caf120ddc8ccf9d1ee
BLAKE2b-256 b1e9bdd34cd55a15b6ddbdbaf677362b437f68172003c42a329fcf57a78523ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for bitbucket_mcp_py-1.7.0.tar.gz:

Publisher: release.yml on lawp09/bitbucket-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bitbucket_mcp_py-1.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bitbucket_mcp_py-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aec88545f969d3337e47a2557767bfff9e1cbbad5937565d23a43577f496292b
MD5 c85b54f08e23a70229a0fea53e87c2dd
BLAKE2b-256 63ccb7376618470d5d8b227fb87aae881edbd574fe2a40e25821027bfc250542

See more details on using hashes here.

Provenance

The following attestation bundles were made for bitbucket_mcp_py-1.7.0-py3-none-any.whl:

Publisher: release.yml on lawp09/bitbucket-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page