Skip to main content

mcp-bitbucket-dc

PyPI Version PyPI Downloads Total Downloads Main Push Checks Release License: MIT

MCP (Model Context Protocol) server for Bitbucket Data Center. Enables AI assistants to search code, browse files, manage pull requests, and explore repositories through a standardized interface.

Built with FastMCP in Python. Installs via uvx.

Acknowledgements

  • Many tools in this project were inspired by atlassian-dc-mcp.
  • Code search functionality was inspired by @beapirate and prior related implementation work.

Quick Start

1. Generate a Personal Access Token

  1. Log in to your Bitbucket Data Center instance
  2. Go to Manage Account → HTTP access tokens
  3. Click Create token
  4. Set permissions: Repository Read (and Write if you need PR creation/commenting)
  5. Copy the token

2. Configure Your IDE

Add to your MCP configuration (mcp.json in VS Code, claude_desktop_config.json for Claude Desktop):

{
  "mcpServers": {
    "bitbucket-dc": {
      "command": "uvx",
      "args": ["mcp-bitbucket-dc"],
      "env": {
        "BITBUCKET_HOST": "git.yourcompany.com",
        "BITBUCKET_API_TOKEN": "your-personal-access-token"
      }
    }
  }
}

That's it. The server starts automatically when your IDE connects.

3. Start Using

Ask your AI assistant:

  • "Search for CompanyInfoUpdater in the codebase"
  • "Show me the file structure of the api-service repo in PROJECT"
  • "Get the content of src/main/Application.java from repo backend"
  • "List open pull requests in PROJECT/my-repo"
  • "What branches exist in PROJECT/my-repo?"

Tools Reference

Most read/query tools support response_format:

  • markdown (default): human-readable output
  • json: raw structured API response
Tool Description
bitbucket_code_search Search code across all repos with Lucene syntax (ext:java, lang:python, repo:name, project:KEY, AND/OR/NOT)

File Browsing

Tool Description
bitbucket_browse Browse directory tree (files & folders at a path)
bitbucket_get_file_content Get raw file content with syntax highlighting
bitbucket_list_files Recursively list all file paths in a repo
bitbucket_get_branches List branches (filterable)
bitbucket_get_tags List tags (filterable)
bitbucket_create_branch Create a new branch from a branch, tag, or commit

Projects & Repositories

Tool Description
bitbucket_get_projects List projects (filterable by name/permission)
bitbucket_get_project Get project details
bitbucket_search_repositories Search repos across all projects (no project key required)
bitbucket_get_repositories List repos in a project
bitbucket_get_repository Get repo details with clone URLs

Pull Requests

Tool Description
bitbucket_get_pull_requests List PRs (filter by state, direction, text)
bitbucket_get_pull_request Get PR details with reviewers
bitbucket_get_pull_request_comments Get PR comments and activity
bitbucket_get_pull_request_changes Get files changed in a PR
bitbucket_get_pull_request_diff Get diff for a file in a PR
bitbucket_post_pull_request_comment Post a comment (general or inline)
bitbucket_update_pull_request_comment Update an existing PR comment
bitbucket_delete_pull_request_comment Delete a PR comment
bitbucket_create_pull_request Create a new PR
bitbucket_update_pull_request Update PR title/description/reviewers
bitbucket_get_required_reviewers Get required reviewers for a branch pair

Commits

Tool Description
bitbucket_get_commits List commits (filter by path, ref range)
bitbucket_get_commit Get full details of a single commit
bitbucket_get_commit_diff Get the diff for a specific commit

Search Query Syntax

The bitbucket_code_search tool uses Lucene-style queries:

# Simple text search
CompanyInfoUpdater

# Filter by file extension
function ext:java

# Filter by language
config lang:python

# Filter by repository or project
DatabaseHelper repo:backend-api
service project:PLATFORM

# Filter by path
controller path:src/main

# Boolean operators (must be UPPERCASE)
config AND (yaml OR yml)
test NOT unit
UserService AND ext:java AND project:CORE

Configuration

Environment Variable Required Description
BITBUCKET_HOST Yes* Bitbucket DC hostname (e.g. git.company.com)
BITBUCKET_URL Yes* Full base URL alternative (e.g. https://git.company.com)
BITBUCKET_API_TOKEN Yes Personal Access Token
BITBUCKET_VERIFY_SSL No Verify TLS certificates (default true). Set to false for self-signed or internal CA deployments.

* Provide either BITBUCKET_HOST or BITBUCKET_URL, not both.

Disabling SSL verification

For Bitbucket DC instances behind a self-signed certificate or an internal CA that isn't trusted by the system store, set BITBUCKET_VERIFY_SSL=false:

{
  "mcpServers": {
    "bitbucket-dc": {
      "command": "uvx",
      "args": ["mcp-bitbucket-dc"],
      "env": {
        "BITBUCKET_HOST": "git.yourcompany.com",
        "BITBUCKET_API_TOKEN": "your-personal-access-token",
        "BITBUCKET_VERIFY_SSL": "false"
      }
    }
  }
}

⚠️ Disabling SSL verification means traffic is not protected against man-in-the-middle attacks. Only use this against trusted internal networks.

Support Matrix

Component Version(s) Verification
Bitbucket Data Center 8.19.5 Live smoke tests run locally against a real server
Python runtime 3.10, 3.11, 3.12, 3.13 GitHub Actions CI (test workflow matrix)

If you run on a different Bitbucket DC version, please open an issue with results.

Alternative Transports

# SSE transport (for remote/multi-user setups)
uvx mcp-bitbucket-dc --transport sse --host 0.0.0.0 --port 8000

# Streamable HTTP
uvx mcp-bitbucket-dc --transport streamable-http --host 0.0.0.0 --port 8000

By default, HTTP-based transports bind to 127.0.0.1 for safer local development.

Development

# Clone and install
git clone https://github.com/christopherekfeldt/mcp-bitbucket-dc.git
cd mcp-bitbucket-dc
uv sync

# Install git hooks
uv run pre-commit install

# Run locally
export BITBUCKET_HOST=git.yourcompany.com
export BITBUCKET_API_TOKEN=your-token
uv run mcp-bitbucket-dc

# Run tests
uv run pytest

# Run live smoke tests against a real/staging Bitbucket DC
# (requires BITBUCKET_HOST or BITBUCKET_URL + BITBUCKET_API_TOKEN)
RUN_LIVE_SMOKE=1 uv run pytest -m integration -q

Contributor/agent workflow guidance: see AGENTS.md.

Versioning & Stability

This project follows Semantic Versioning. From v1.0.0 onward, tool names, required parameters, and output contracts are stable — breaking changes only in major version bumps.

Upgrade: uvx mcp-bitbucket-dc always uses the latest. Pin with uvx mcp-bitbucket-dc==X.Y.Z.

Release notes: See GitHub Releases for changelogs.

License

MIT — see LICENSE.

Metadata

Release files for mcp-bitbucket-dc 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-bitbucket-dc 1.0.1
File Size Uploaded Provenance Actions
mcp_bitbucket_dc-1.0.1.tar.gz 170.9 kB With provenance Details for mcp_bitbucket_dc-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mcp-bitbucket-dc 1.0.1
File Interpreter ABI Platform Actions
mcp_bitbucket_dc-1.0.1-py3-none-any.whl Python 3 none any Details for mcp_bitbucket_dc-1.0.1-py3-none-any.whl

Total release size: 198.4 kB

Release files / mcp_bitbucket_dc-1.0.1.tar.gz

Download URL mcp_bitbucket_dc-1.0.1.tar.gz
Size 170.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b3ffc2cc70ca119c37ab9cfbf16b44402d5dbbdc5f94e0352dbc1a593b621165
BLAKE2b-256 checksum
How to use checksums
61f18c6e2034e31a0b5115ae997803f1190e0dc1c07438d0a7a75b269a3a6e32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / mcp_bitbucket_dc-1.0.1-py3-none-any.whl

Download URL mcp_bitbucket_dc-1.0.1-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74b1f3cd36834ac02928445330de8980da62a187f7090ef486749e1e12b4b978
BLAKE2b-256 checksum
How to use checksums
2c9dbd75a901500bcd1716dfd20dc56b7acb833d812af4d378a41f635f726d2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Security for mcp-bitbucket-dc 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mcp_bitbucket_dc-1.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page