Skip to main content

MCP server for Bitbucket API operations

Project description

Bitbucket MCP Server

CI/CD PyPI version npm version License: MIT

MCP server for Bitbucket API operations. Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.

Language Versions

This repository contains both TypeScript and Python implementations:

Version Directory Status Installation
TypeScript /typescript ✅ Recommended (Smithery) npm install -g mcp-server-bitbucket
Python /python ✅ Stable pipx install mcp-server-bitbucket

Note: The TypeScript version is used for Smithery deployments. Both versions provide identical functionality.

Features

  • Repositories: get, create, delete, list, update (move to project, rename)
  • Pull Requests: create, get, list, merge, approve, decline, request changes, comments, diff
  • Pipelines: trigger, get status, list, view logs, stop
  • Branches: list, get
  • Projects: list, get
  • Commits: list, get details, compare/diff between branches
  • Commit Statuses: get build statuses, create status (CI/CD integration)
  • Deployments: list environments, get environment details, deployment history
  • Webhooks: list, create, get, delete
  • Tags: list, create, delete
  • Branch Restrictions: list, create, delete branch protection rules
  • Source Browsing: read files, list directories without cloning
  • Repository Permissions: manage user and group permissions
  • Pipeline Variables: manage CI/CD environment variables
  • MCP Prompts: reusable workflow templates (code review, release notes, etc.)
  • MCP Resources: browsable workspace data

Quick Start

TypeScript (Recommended for Smithery)

# Install globally
npm install -g mcp-server-bitbucket

# Or run directly with npx
npx mcp-server-bitbucket

Python

# Install with pipx
pipx install mcp-server-bitbucket

# Configure Claude Code
claude mcp add bitbucket -s user \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -- mcp-server-bitbucket

Full Installation Guide - Includes API token creation, permissions setup, and troubleshooting.

Configuration

Environment Variables

Variable Required Description
BITBUCKET_WORKSPACE Bitbucket workspace slug
BITBUCKET_EMAIL Account email for Basic Auth
BITBUCKET_API_TOKEN Repository access token
API_TIMEOUT Request timeout in seconds (default: 30)
MAX_RETRIES Max retry attempts for rate limiting (default: 3)

Claude Code CLI

# TypeScript version
claude mcp add bitbucket -s user \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -- npx mcp-server-bitbucket

# Python version
claude mcp add bitbucket -s user \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -e BITBUCKET_EMAIL=your-email@example.com \
  -e BITBUCKET_API_TOKEN=your-api-token \
  -- mcp-server-bitbucket

Cursor IDE

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "bitbucket": {
      "command": "npx",
      "args": ["mcp-server-bitbucket"],
      "env": {
        "BITBUCKET_WORKSPACE": "your-workspace",
        "BITBUCKET_EMAIL": "your-email@example.com",
        "BITBUCKET_API_TOKEN": "your-api-token"
      }
    }
  }
}

Available Tools (58 total)

Repositories

Tool Description
list_repositories List and search repositories
get_repository Get repository details
create_repository Create a new repository
delete_repository Delete a repository
update_repository Update repo settings

Pull Requests

Tool Description
list_pull_requests List PRs
get_pull_request Get PR details
create_pull_request Create a new PR
merge_pull_request Merge a PR
approve_pr Approve a PR
unapprove_pr Remove approval
request_changes_pr Request changes
decline_pr Decline a PR
list_pr_comments List comments
add_pr_comment Add comment
get_pr_diff Get the diff

Pipelines

Tool Description
list_pipelines List recent runs
get_pipeline Get status
get_pipeline_logs View logs
trigger_pipeline Trigger a run
stop_pipeline Stop pipeline
list_pipeline_variables List variables
get_pipeline_variable Get variable
create_pipeline_variable Create variable
update_pipeline_variable Update variable
delete_pipeline_variable Delete variable

Branches, Commits, Tags

Tool Description
list_branches List branches
get_branch Get branch details
list_commits List commits
get_commit Get commit details
compare_commits Compare branches
get_commit_statuses Get build statuses
create_commit_status Report CI status
list_tags List tags
create_tag Create a tag
delete_tag Delete a tag

And more...

  • Deployments: list_environments, get_environment, list_deployment_history
  • Webhooks: list_webhooks, create_webhook, get_webhook, delete_webhook
  • Branch Restrictions: list_branch_restrictions, create_branch_restriction, delete_branch_restriction
  • Source Browsing: get_file_content, list_directory
  • Permissions: User and group permission management (8 tools)
  • Projects: list_projects, get_project

MCP Prompts

Reusable workflow templates:

Prompt Description
code_review Comprehensive PR code review
release_notes Generate changelog between versions
pipeline_debug Debug failed CI/CD pipelines
repo_summary Complete repository status overview

MCP Resources

Browsable workspace data:

Resource URI Description
bitbucket://repositories List all repos
bitbucket://repositories/{repo} Repository details
bitbucket://repositories/{repo}/branches Branch list
bitbucket://repositories/{repo}/pull-requests Open PRs
bitbucket://projects List all projects

Development

TypeScript

cd typescript
npm install
npm run build
npm run dev  # Watch mode

Python

cd python
uv sync
uv run python -m src.server

Creating a Bitbucket API Token

  1. Go to your repository in Bitbucket
  2. Navigate to Repository settings > Access tokens
  3. Click Create Repository Access Token
  4. Select permissions:
    • Repository: Read, Write, Admin, Delete
    • Pull requests: Read, Write
    • Pipelines: Read, Write
  5. Copy the token immediately

License

MIT

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

mcp_server_bitbucket-0.11.0.tar.gz (102.3 kB view details)

Uploaded Source

Built Distribution

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

mcp_server_bitbucket-0.11.0-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_bitbucket-0.11.0.tar.gz.

File metadata

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

File hashes

Hashes for mcp_server_bitbucket-0.11.0.tar.gz
Algorithm Hash digest
SHA256 e87353e2242ea05fe8e85beef8785833b943476e765f308201f0ed152cb523d1
MD5 334e86a38cad5c592dcbadebcbf6603b
BLAKE2b-256 83a2dfe39794ab20648bd0a1a7f84d3c21d7ce106d3211837a95b9347e0dd708

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_bitbucket-0.11.0.tar.gz:

Publisher: ci.yml on JaviMaligno/mcp-server-bitbucket

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

File details

Details for the file mcp_server_bitbucket-0.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_bitbucket-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32cd10dd50b48ce81ae8676d95f49f527ab6f838617079d6ea4e41c70c0bc490
MD5 0a109345cadb3d85a0732ef2dcc60d32
BLAKE2b-256 ee236e487e4aa2cd9a69ef20c150b33f5cb213db72571bfc8185b572fa01a9fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_bitbucket-0.11.0-py3-none-any.whl:

Publisher: ci.yml on JaviMaligno/mcp-server-bitbucket

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