Bitbucket

by kallows

5 438 downloads Not rated yet
GitHub

About

Enables robust Bitbucket repository management by providing comprehensive API integration for repository creation, file manipulation, issue tracking, and branch management with advanced error handling and permission controls.

Details

Repository
Kallows/mcp-bitbucket

Explore

- Integrates Bitbucket management with MCP and AI applications.
- Provides 10 tools for repository, branch, file, and issue operations.
- Requires only environment variables for Bitbucket credentials.
- Runs locally, ensuring secure tool access.
- Supports default workspace and branch values for ease of use.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Bitbucket
    Command (node, npx, python, etc.) uv
    Arguments
    • Argument 1 run
    • Argument 2 --directory
    • Argument 3 /path/to/mcp-bitbucket
    • Argument 4 -m
    • Argument 5 mcp_bitbucket.server
    Environment
    • BITBUCKET_USERNAME your-username
    • BITBUCKET_APP_PASSWORD your-app-password

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository


git clone https://github.com/kallows/mcp-bitbucket.git
cd mcp-bitbucket

uv install

The server requires Bitbucket credentials to be set up as environment variables:

bash
export BITBUCKET_USERNAME="your-username"
export BITBUCKET_APP_PASSWORD="your-app-password"

Add this configuration to your claude_desktop_config.json:

The tools default to the "kallows" workspace, but you can:
- Specify a different workspace using the workspace parameter
- Use workspace='~' to work with your personal workspace
- Create repositories in team workspaces if you have permissions

The project includes unit and integration tests:

bash

bb_create_repository

Create a new Bitbucket repository. Required: name (repository name); Optional: description, workspace (defaults to kallows), project_key, is_private (default: true), has_issues (default: true)

bb_create_branch

Create a new branch in a repository. Required: repo_slug, branch (name for the new branch); Optional: workspace (defaults to kallows), start_point (defaults to main)

bb_delete_repository

Delete a Bitbucket repository. Required: repo_slug; Optional: workspace (defaults to kallows)

bb_read_file

Read a file from a repository. Required: repo_slug, path (file path in repository); Optional: workspace (defaults to kallows), branch (defaults to main/master)

bb_write_file

Create or update a file in a repository. Required: repo_slug, path, content; Optional: workspace (defaults to kallows), branch (defaults to main), message (commit message)

bb_create_issue

Create an issue in a repository. Required: repo_slug, title, content; Optional: workspace (defaults to kallows), kind (bug/enhancement/proposal/task), priority (trivial/minor/major/critical/blocker)

bb_delete_issue

Delete an issue from a repository. Required: repo_slug, issue_id; Optional: workspace (defaults to kallows)

bb_search_repositories

Search Bitbucket repositories using query syntax. Required: query (e.g., 'name ~ "test"' or 'project.key = "PROJ"'); Optional: workspace (defaults to kallows), page (default: 1), pagelen (default: 10, max: 100)

bb_delete_file

Delete a file from a repository. Required: repo_slug, path; Optional: workspace (defaults to kallows), branch (defaults to main), message (commit message)

bb_create_pull_request

Create a pull request. Required: repo_slug, title, source_branch; Optional: workspace (defaults to kallows), destination_branch (defaults to main), description, close_source_branch (default: true)

This MCP server provides the following Bitbucket integration tools:

- bb_create_repository: Create a new Bitbucket repository
- Required: name (repository name)
- Optional: description, workspace (defaults to kallows), project_key, is_private (default: true), has_issues (default: true)

- bb_create_branch: Create a new branch in a repository
- Required: repo_slug, branch (name for the new branch)
- Optional: workspace (defaults to kallows), start_point (defaults to main)

- bb_delete_repository: Delete a Bitbucket repository
- Required: repo_slug
- Optional: workspace (defaults to kallows)

- bb_read_file: Read a file from a repository
- Required: repo_slug, path (file path in repository)
- Optional: workspace (defaults to kallows), branch (defaults to main/master)

- bb_write_file: Create or update a file in a repository
- Required: repo_slug, path, content
- Optional: workspace (defaults to kallows), branch (defaults to main), message (commit message)

- bb_create_issue: Create an issue in a repository
- Required: repo_slug, title, content
- Optional: workspace (defaults to kallows), kind (bug/enhancement/proposal/task), priority (trivial/minor/major/critical/blocker)

- bb_delete_issue: Delete an issue from a repository
- Required: repo_slug, issue_id
- Optional: workspace (defaults to kallows)

- bb_search_repositories: Search Bitbucket repositories using query syntax
- Required: query (e.g., 'name ~ "test"' or 'project.key = "PROJ"')
- Optional: workspace (defaults to kallows), page (default: 1), pagelen (default: 10, max: 100)

- bb_delete_file: Delete a file from a repository
- Required: repo_slug, path
- Optional: workspace (defaults to kallows), branch (defaults to main), message (commit message)

- bb_create_pull_request: Create a pull request
- Required: repo_slug, title, source_branch
- Optional: workspace (defaults to kallows), destination_branch (defaults to main), description, close_source_branch (default: true)

1. Add the tool definition to handle_list_tools() in server.py
2. Add the implementation to handle_call_tool() in server.py
3. Add corresponding tests
4. Update this README

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "bitbucket": {
            "command": "uv",
            "args": [
                "run",
                "--directory",
                "/path/to/mcp-bitbucket",
                "-m",
                "mcp_bitbucket.server"
            ],
            "env": {
                "BITBUCKET_USERNAME": "your-username",
                "BITBUCKET_APP_PASSWORD": "your-app-password"
            }
        }
    }
}

Macos

{
    "command": "uv",
    "args": [
        "run",
        "--directory",
        "/path/to/mcp-bitbucket",
        "-m",
        "mcp_bitbucket.server"
    ],
    "env": {
        "BITBUCKET_USERNAME": "your-username",
        "BITBUCKET_APP_PASSWORD": "your-app-password"
    }
}

Windows

{
    "command": "C:\\\\Users\\\\YOURUSERNAME\\\\.local\\\\bin\\\\uv.exe",
    "args": [
        "--directory",
        "D:\\\\mcp\\\\mcp-bitbucket",
        "run",
        "-m",
        "mcp_bitbucket.server"
    ],
    "env": {
        "BITBUCKET_USERNAME": "your-username",
        "BITBUCKET_APP_PASSWORD": "your-app-password"
    }
}

Linux

{
    "command": "uv",
    "args": [
        "run",
        "--directory",
        "/path/to/mcp-bitbucket",
        "-m",
        "mcp_bitbucket.server"
    ],
    "env": {
        "BITBUCKET_USERNAME": "your-username",
        "BITBUCKET_APP_PASSWORD": "your-app-password"
    }
}

MCP Bitbucket Python 🦊

A Python implementation of an MCP server for Bitbucket integration. MCP (Model Context Protocol) enables secure, local tool access for AI applications. The server runs locally on the same machine as your AI application.

Installation

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.