CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Bitbucket MCP Server

lawp09/bitbucket-mcp
217 toolsSTDIOregistry active
Summary

Connects Claude, Copilot, and Cursor to Bitbucket Cloud through 45 tools covering repos, pull requests, comments, pipelines, and build statuses. You can review PRs, post inline comments, approve or request changes, run pipelines, and query CI status all through natural language. The server strips API noise for lower token usage and lets you filter diffs by file path to cut tokens by 95% on large PRs. Ships with safety guards on destructive operations like merging and pipeline stops. Runs via uvx with zero install, supports scoped API tokens, and includes batch review and draft PR workflows. Built for teams doing code review and CI monitoring from their AI assistant.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

17 tools
BITBUCKET_CREATE_BRANCHCreates a new branch in a Bitbucket repository from a target commit hash; the branch name must be unique, adhere to Bitbucket's naming conventions, and not include the 'refs/heads/' prefix.4 params

Creates a new branch in a Bitbucket repository from a target commit hash; the branch name must be unique, adhere to Bitbucket's naming conventions, and not include the 'refs/heads/' prefix.

Parameters* required
namestring
The name for the new branch (e.g., 'feature/new-login', 'bugfix/issue-123'). Important: Do not include the 'refs/heads/' prefix.
repo_slugstring
The slug or UUID of the repository where the branch will be created. This is usually the repository's name in URL-friendly format.
workspacestring
The workspace ID or UUID that owns the repository. This can typically be found in the URL of your Bitbucket workspace.
target_hashstring
The full commit hash (SHA1) from which the new branch will be created. This commit must exist in the repository.
BITBUCKET_CREATE_ISSUECreates a new issue in a Bitbucket repository, setting the authenticated user as reporter; ensures assignee (if provided) has repository access, and that any specified milestone, version, or component IDs exist.11 params

Creates a new issue in a Bitbucket repository, setting the authenticated user as reporter; ensures assignee (if provided) has repository access, and that any specified milestone, version, or component IDs exist.

Parameters* required
kindstring
Type of the issue (e.g., 'bug', 'enhancement', 'proposal', 'task').
titlestring
Title for the new issue.
due_onstring
Due date for the issue in ISO 8601 format (e.g., 'YYYY-MM-DDTHH:mm:ssZ').
contentstring
Detailed description for the new issue.
assigneestring
Bitbucket username of the assignee. The assignee must have repository access.
prioritystring
Priority level of the issue (e.g., 'trivial', 'minor', 'major', 'critical', 'blocker').
repo_slugstring
The slug of the Bitbucket repository.
workspacestring
The ID or slug of the Bitbucket workspace.
version_idinteger
Numeric ID of an existing version to associate with this issue.
component_idinteger
Numeric ID of an existing component to associate with this issue.
milestone_idinteger
Numeric ID of an existing milestone to associate with this issue.
BITBUCKET_CREATE_ISSUE_COMMENTAdds a new comment with markdown support to an existing Bitbucket issue.4 params

Adds a new comment with markdown support to an existing Bitbucket issue.

Parameters* required
contentstring
The raw text content for the comment. This content supports markdown formatting, which Bitbucket will then render.
issue_idstring
The unique identifier of the issue on which the comment will be posted.
repo_slugstring
The slug (URL-friendly version) of the repository name.
workspacestring
The ID or slug of the workspace or user that owns the repository.
BITBUCKET_CREATE_PULL_REQUESTCreates a new pull request in a specified Bitbucket repository, ensuring the source branch exists and is distinct from the (optional) destination branch.8 params

Creates a new pull request in a specified Bitbucket repository, ensuring the source branch exists and is distinct from the (optional) destination branch.

Parameters* required
titlestring
Concise title summarizing the changes for the pull request.
repo_slugstring
Slug (URL-friendly name) of the repository for the pull request.
reviewersarray
List of Bitbucket user UUIDs to be added as reviewers.
workspacestring
Workspace ID (UUID or slug) of the repository owner.
descriptionstring
Detailed Markdown description of the pull request, outlining changes and purpose.
source_branchstring
Name of the source branch with changes to be merged.
destination_branchstring
Name of the destination branch for merging; defaults to repository's main branch if unspecified.
close_source_branchboolean
If true, automatically closes the source branch upon pull request merge.default: false
BITBUCKET_CREATE_REPOSITORYCreates a new Bitbucket 'git' repository in a specified workspace, defaulting to the workspace's oldest project if `project_key` is not provided.9 params

Creates a new Bitbucket 'git' repository in a specified workspace, defaulting to the workspace's oldest project if `project_key` is not provided.

Parameters* required
has_wikiboolean
Enable the wiki (`True`), or disable it (`False`).default: true
languagestring
Primary programming language (e.g., 'python', 'java') for categorization.
repo_slugstring
URL-friendly slug for the new repository.
workspacestring
ID or slug of the Bitbucket workspace for the new repository.
has_issuesboolean
Enable the issue tracker (`True`), or disable it (`False`).default: true
is_privateboolean
Repository visibility: `True` for private, `False` for public.default: true
descriptionstring
Description for the new repository.
fork_policystring
Forking policy for the repository, determining who can create forks.one of allow_forks · no_public_forks · no_forksdefault: allow_forks
project_keystring
Key of the Bitbucket project for the repository; if omitted, it's placed in the workspace's oldest project.
BITBUCKET_CREATE_SNIPPET_COMMENTPosts a new top-level comment or a threaded reply to an existing comment on a specified Bitbucket snippet.4 params

Posts a new top-level comment or a threaded reply to an existing comment on a specified Bitbucket snippet.

Parameters* required
contentstring
Raw text content of the comment; Bitbucket will render any included markup (like Markdown).
parent_idinteger
ID of an existing comment to reply to, creating a threaded comment; if omitted, a top-level comment is created.
workspacestring
Workspace ID or slug (e.g., 'my_workspace_slug' or a UUID) for the Bitbucket workspace containing the snippet.
encoded_idstring
Unique, encoded ID of the Bitbucket snippet to comment on (typically part of the snippet's URL).
BITBUCKET_DELETE_ISSUEPermanently deletes a specific issue, identified by its `issue_id`, from the repository specified by `repo_slug` within the given `workspace`.3 params

Permanently deletes a specific issue, identified by its `issue_id`, from the repository specified by `repo_slug` within the given `workspace`.

Parameters* required
issue_idstring
The unique identifier of the issue to be deleted from the specified repository.
repo_slugstring
The slug of the repository. This is the repository's name, usually in lowercase and with hyphens instead of spaces.
workspacestring
The workspace ID (slug) or UUID of the Bitbucket workspace that owns the repository. This can be the workspace name or its universally unique identifier.
BITBUCKET_DELETE_REPOSITORYPermanently deletes a specified Bitbucket repository; this action is irreversible and does not affect forks.2 params

Permanently deletes a specified Bitbucket repository; this action is irreversible and does not affect forks.

Parameters* required
repo_slugstring
The slug (URL-friendly name) of the repository to be deleted. This identifies the repository within the workspace.
workspacestring
The ID or slug of the Bitbucket workspace that owns the repository. This can be a user's username or a team's slug.
BITBUCKET_GET_CURRENT_USERRetrieves the profile information (UUID, display name, links, creation date) for the currently authenticated Bitbucket user.

Retrieves the profile information (UUID, display name, links, creation date) for the currently authenticated Bitbucket user.

No parameter schema in public metadata yet.

BITBUCKET_GET_FILE_FROM_REPOSITORYRetrieves a specific file's content from a Bitbucket repository at a given commit (hash, branch, or tag), failing if the file path is invalid for that commit.4 params

Retrieves a specific file's content from a Bitbucket repository at a given commit (hash, branch, or tag), failing if the file path is invalid for that commit.

Parameters* required
pathstring
Full path to the file within the repository (e.g., 'src/main.py').
commitstring
Commit hash, branch name (fetches latest), or tag for the file version.
repo_slugstring
Repository slug or UUID (typically URL-formatted name).
workspacestring
Workspace ID or UUID (often username or team name) containing the repository.
BITBUCKET_GET_PULL_REQUESTGet a single pull request by ID with complete details.3 params

Get a single pull request by ID with complete details.

Parameters* required
repo_slugstring
Repository slug (URL-friendly name).
workspacestring
Workspace ID or slug (URL-friendly name).
pull_request_idinteger
The ID of the pull request to retrieve.
BITBUCKET_GET_SNIPPETRetrieves a specific Bitbucket snippet by its encoded ID from an existing workspace, returning its metadata and file structure.3 params

Retrieves a specific Bitbucket snippet by its encoded ID from an existing workspace, returning its metadata and file structure.

Parameters* required
workspacestring
The workspace ID (slug) or the workspace UUID surrounded by curly braces, identifying the Bitbucket workspace.
encoded_idstring
The unique identifier (encoded ID) of the snippet to be retrieved.
accept_formatstring
The desired format for the response. Valid options are 'application/json', 'multipart/related', or 'multipart/form-data'. This may affect how snippet content or file data is presented.default: application/json
BITBUCKET_LIST_PULL_REQUESTSLists pull requests in a specified, accessible Bitbucket repository, optionally filtering by state (OPEN, MERGED, DECLINED).5 params

Lists pull requests in a specified, accessible Bitbucket repository, optionally filtering by state (OPEN, MERGED, DECLINED).

Parameters* required
pageinteger
Page number for paginated results (starts from 1).
statestring
Lifecycle state of a pull request.one of OPEN · MERGED · DECLINED
pageleninteger
Number of pull requests per page (1-100). Bitbucket default if not specified.
repo_slugstring
Repository slug (URL-friendly name).
workspacestring
Workspace ID or slug (URL-friendly name).
BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACELists repositories in a specified Bitbucket workspace, accessible to the authenticated user, with options to filter by role or query string, and sort results.4 params

Lists repositories in a specified Bitbucket workspace, accessible to the authenticated user, with options to filter by role or query string, and sort results.

Parameters* required
qstring
Query string using Bitbucket's REST API filtering syntax to filter repositories. For detailed syntax, refer to Bitbucket API documentation.
rolestring
Filters repositories by the authenticated user's role within each repository.
sortstring
Field for sorting repository results. Prefix with '-' for descending order. Common sortable fields: 'name', 'updated_on', 'created_on'.
workspacestring
The identifier of the Bitbucket workspace. This can be the workspace slug (e.g., 'my-workspace') or its UUID enclosed in curly braces (e.g., '{workspace-uuid}').
BITBUCKET_LIST_WORKSPACE_MEMBERSLists all members of a specified Bitbucket workspace; the workspace must exist.1 params

Lists all members of a specified Bitbucket workspace; the workspace must exist.

Parameters* required
workspacestring
The workspace ID (UUID) or slug from which to list members. The slug is the user-friendly, URL-safe identifier for the workspace.
BITBUCKET_LIST_WORKSPACESLists Bitbucket workspaces accessible to the authenticated user, optionally filtered and sorted.2 params

Lists Bitbucket workspaces accessible to the authenticated user, optionally filtered and sorted.

Parameters* required
qstring
Query string to filter workspaces by attributes, following Bitbucket's filtering syntax.
sortstring
Field to sort returned workspaces by; prefix with a hyphen (-) for descending order.
BITBUCKET_UPDATE_ISSUEUpdates an existing issue in a Bitbucket repository by modifying specified attributes; requires `workspace`, `repo_slug`, `issue_id`, and at least one attribute to update.12 params

Updates an existing issue in a Bitbucket repository by modifying specified attributes; requires `workspace`, `repo_slug`, `issue_id`, and at least one attribute to update.

Parameters* required
kindstring
The updated kind (type) for the issue. If omitted, kind remains unchanged.
statestring
The updated state for the issue. If omitted, state remains unchanged.
titlestring
The new title for the issue. If omitted, the title remains unchanged.
contentstring
The new content or description for the issue, in raw text format. If omitted, the content remains unchanged.
versionstring
The name of the version affected by this issue (e.g., '1.0.0', '2.0-beta'). If omitted, the version remains unchanged.
issue_idstring
The unique identifier (ID) of the issue to be updated.
prioritystring
The updated priority for the issue. If omitted, priority remains unchanged.
componentstring
The name of the component to associate with the issue (e.g., 'API', 'Frontend'). If omitted, the component remains unchanged.
milestonestring
The name of the milestone to associate with the issue (e.g., 'Sprint 1', 'v1.0 Launch'). If omitted, the milestone remains unchanged.
repo_slugstring
The slug or name of the repository (e.g., 'my-app-repo').
workspacestring
The workspace ID or slug that owns the repository (e.g., 'my-company' or '{123e4567-e89b-12d3-a456-426614174000}').
assignee_account_idstring
The Bitbucket account ID (UUID) of the user to assign the issue to. If omitted, the assignee remains unchanged.

Bitbucket MCP Server (Python)

PyPI Python CI CodeQL License: MIT

Connect Claude Code, VS Code (GitHub Copilot), Cursor, 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

  • 45 MCP tools — repositories, pull requests, comments, tasks, diffs, pipelines, build statuses, reviewers, draft PRs, batch review
  • Slim responses — stripped API noise for lower LLM token usage
  • Configurable — enable/disable tools via configs/tools.json or BITBUCKET_TOOLS_CONFIG env var
  • Secure credentials — environment variables or system keychain

Quick Start

1. Install

The recommended way to run the server is via uvx (zero install, isolated environment):

# Always latest version
uvx --from bitbucket-mcp-py bitbucket-mcp

# Pin a specific version
uvx --from bitbucket-mcp-py==1.8.1 bitbucket-mcp

Why --from? The PyPI package is bitbucket-mcp-py but the command entry point is bitbucket-mcp. The --from flag tells uvx which package to install.

Alternative install methods
ModeCommandBest for
pip globalpip install bitbucket-mcp-pySimple, persistent install
Local devpip install -e . in project dirContributing to the project
DockerSee Docker sectionContainer-based workflows

2. Configure credentials

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

VariableDescription
BITBUCKET_USERNAMEYour Bitbucket email
BITBUCKET_TOKENYour Bitbucket API token
BITBUCKET_WORKSPACEYour workspace slug

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

⚠️ Use a scoped token, not a global one. When creating the token, select specific scopes (e.g. Repositories: Read, Pull requests: Read/Write). Global tokens without explicit scopes do not work with this MCP server.

3. Configure your AI assistant

Claude Code (recommended)

Option A — CLI (fastest):

claude mcp add bitbucket-mcp \
  -e BITBUCKET_USERNAME=your-email@example.com \
  -e BITBUCKET_TOKEN=your-api-token \
  -e BITBUCKET_WORKSPACE=your-workspace \
  -- uvx --from bitbucket-mcp-py bitbucket-mcp

Option B — JSON config (~/.claude.json or project .mcp.json):

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

VS Code (GitHub Copilot)

Add to .vscode/mcp.json (workspace) or ~/Library/Application Support/Code/User/mcp.json (global, macOS):

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

Cursor

Add to ~/.cursor/mcp.json:

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

Available Tools

CategoryTools
Repositorieslist_repositories, get_repository
Pull Requestsget_pull_requests, get_pull_request, create_pull_request, update_pull_request, approve_pull_request, unapprove_pull_request, request_changes_pull_request, unrequest_changes_pull_request, decline_pull_request, merge_pull_request
Commentsget_pull_request_comments, add_pull_request_comment, get_pull_request_comment, update_pull_request_comment, delete_pull_request_comment, resolve_pull_request_comment, reopen_pull_request_comment, get_pull_request_activity
Tasks PRget_pull_request_tasks, get_pull_request_task, create_pull_request_task, update_pull_request_task, delete_pull_request_task
Diff / Reviewget_pull_request_diff, get_pull_request_patch, get_pull_request_diffstat, get_pull_request_commits
PR Discoveryget_pull_requests_pending_review
Build / CIget_pull_request_statuses, get_commit_statuses
Pipelineslist_pipeline_runs, get_pipeline_run, get_pipeline_steps, get_pipeline_step_logs, run_pipeline, stop_pipeline
Reviewersget_effective_default_reviewers, suggest_pull_request_reviewers
Draft PRcreate_draft_pull_request, publish_draft_pull_request, convert_pull_request_to_draft
Batch Reviewsubmit_pull_request_batch_review
Review Summaryget_pull_request_review_summary

Disabled by default: merge_pull_request (safety), stop_pipeline (safety), get_pull_request_patch (git am format — not useful for AI review), convert_pull_request_to_draft (not supported by Bitbucket API). Enable in configs/tools.json.

Custom tool configuration

By default the server reads configs/tools.json bundled with the package. You can point to a custom file at runtime without rebuilding:

export BITBUCKET_TOOLS_CONFIG=/path/to/my-tools.json

Fallback chain (first match wins):

  1. BITBUCKET_TOOLS_CONFIG environment variable
  2. Built-in configs/tools.json

Fail-safe behaviour — If BITBUCKET_TOOLS_CONFIG is set but the file is missing or contains invalid JSON, the server raises an error on startup (explicit failure rather than silently ignoring the override). If the built-in default is missing, all tools are enabled.

Token tip — get_pull_request_diff accepts an optional path parameter to filter the diff to a single file, reducing token usage by ~95% on large PRs:

get_pull_request_diff(repo_slug, pull_request_id, path="src/services/myService.ts")

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-mcp": {
      "command": "docker",
      "args": ["exec", "-i", "bitbucket-mcp", "python", "-m", "src.main", "--transport", "stdio"]
    }
  }
}

Development

# Install dev dependencies
uv sync --extra dev

# Run tests
uv run pytest tests/ -v

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

Requirements

  • Python 3.12+
  • Bitbucket API token

License

MIT

References

  • MCP Registry — Official MCP server registry
  • PyPI Package — Python package
  • MCP Python SDK
  • Bitbucket API 2.0
  • FastMCP Framework
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Developer Tools
Registryactive
Packagebitbucket-mcp-py
TransportSTDIO
UpdatedMar 20, 2026
View on GitHub

Related Developer Tools MCP Servers

View all →
Git Mcp Server

ray0907/git-mcp-server

MCP server for GitLab and GitHub
Git Mcp Server

cyanheads/git-mcp-server

Comprehensive Git MCP server enabling native git tools including clone, commit, worktree, & more.
221
Atlassian Dc Mcp Bitbucket

io.github.b1ff/atlassian-dc-mcp-bitbucket

MCP server for Atlassian Bitbucket Data Center - interact with repositories and code
77
Atlassian Dc Mcp Jira

io.github.b1ff/atlassian-dc-mcp-jira

MCP server for Atlassian Jira Data Center - search, view, and create issues
77
Atlassian Jira

com.mcparmory/atlassian-jira

Create, search, and manage issues, projects, and team workflows
25
Vscode Terminal Mcp

sirlordt/vscode-terminal-mcp

Execute commands in visible VSCode terminal tabs with output capture and session reuse.
1