MCP server for Bitbucket API operations
Project description
Bitbucket MCP Server
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
- Go to your repository in Bitbucket
- Navigate to Repository settings > Access tokens
- Click Create Repository Access Token
- Select permissions:
- Repository: Read, Write, Admin, Delete
- Pull requests: Read, Write
- Pipelines: Read, Write
- Copy the token immediately
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e87353e2242ea05fe8e85beef8785833b943476e765f308201f0ed152cb523d1
|
|
| MD5 |
334e86a38cad5c592dcbadebcbf6603b
|
|
| BLAKE2b-256 |
83a2dfe39794ab20648bd0a1a7f84d3c21d7ce106d3211837a95b9347e0dd708
|
Provenance
The following attestation bundles were made for mcp_server_bitbucket-0.11.0.tar.gz:
Publisher:
ci.yml on JaviMaligno/mcp-server-bitbucket
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_bitbucket-0.11.0.tar.gz -
Subject digest:
e87353e2242ea05fe8e85beef8785833b943476e765f308201f0ed152cb523d1 - Sigstore transparency entry: 843390008
- Sigstore integration time:
-
Permalink:
JaviMaligno/mcp-server-bitbucket@60c0bc29d8f83c7b0febe1026f839c0e35110dc9 -
Branch / Tag:
refs/tags/v0.11.0 - Owner: https://github.com/JaviMaligno
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@60c0bc29d8f83c7b0febe1026f839c0e35110dc9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_server_bitbucket-0.11.0-py3-none-any.whl.
File metadata
- Download URL: mcp_server_bitbucket-0.11.0-py3-none-any.whl
- Upload date:
- Size: 32.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32cd10dd50b48ce81ae8676d95f49f527ab6f838617079d6ea4e41c70c0bc490
|
|
| MD5 |
0a109345cadb3d85a0732ef2dcc60d32
|
|
| BLAKE2b-256 |
ee236e487e4aa2cd9a69ef20c150b33f5cb213db72571bfc8185b572fa01a9fe
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_server_bitbucket-0.11.0-py3-none-any.whl -
Subject digest:
32cd10dd50b48ce81ae8676d95f49f527ab6f838617079d6ea4e41c70c0bc490 - Sigstore transparency entry: 843390012
- Sigstore integration time:
-
Permalink:
JaviMaligno/mcp-server-bitbucket@60c0bc29d8f83c7b0febe1026f839c0e35110dc9 -
Branch / Tag:
refs/tags/v0.11.0 - Owner: https://github.com/JaviMaligno
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@60c0bc29d8f83c7b0febe1026f839c0e35110dc9 -
Trigger Event:
push
-
Statement type: