Skip to main content
Glama
dmtr

Bitbucket MCP Server

by dmtr

Bitbucket MCP Server

This project provides an implementation of the Model Context Protocol (MCP) server in Python. It allows users to interact with Bitbucket repositories through a standardized interface, supporting code searches, repository management, and more.

Features

  • Implements the MCP server protocol for Bitbucket integration

  • Searches code in Bitbucket repositories with support for multiple pages of results

  • Retrieves repository information and commit history

  • Fetches file contents from repositories

  • Creates branches and pull requests

  • Automatically masks sensitive credentials in search results

  • Returns data in JSON format

  • Includes syntax rules for searching files in Bitbucket

Related MCP server: Atlassian Bitbucket MCP

Project Structure

bitbucket_mcp/
├── __init__.py          # Package init
├── __main__.py          # CLI entry point (argparse, logging, mcp.run)
├── server.py            # FastMCP instance + plugin-style tool/prompt registration
├── client.py            # BitbucketClient class (unified pagination, shared instance)
├── credentials.py       # mask_credentials() utility
├── config.py            # BitbucketConfig dataclass + env-var validation
└── prompts.py           # SYNTAX_RULES + TOOL_PROMPTS dictionary

Adding a New Tool

  1. Add a method to BitbucketClient in client.py.

  2. Add a tool function in server.py using the @bitbucket_tool decorator — the function signature defines the MCP input schema, and the body delegates to the client via _call().

  3. (Optional) Add a prompt by adding an entry to TOOL_PROMPTS in prompts.py — it's auto-registered, no @mcp.prompt() boilerplate needed.

Adding a New Prompt

Just add an entry to the TOOL_PROMPTS dict in prompts.py. The prompt is automatically registered as {key}_prompt at server startup.

Requirements

  • Python 3.11+

  • atlassian-python-api library

  • mcp library with CLI support

  • uv for project management

Environment Variables

The server requires the following environment variables:

  • BITBUCKET_WORKSPACE - Your Bitbucket workspace name

  • APP_USERNAME - Bitbucket username

  • APP_PASSWORD - Bitbucket password or app password

  • BITBUCKET_URL - (Optional) Bitbucket API URL, defaults to https://api.bitbucket.org/

Configuration Example

"BitbucketMCP": {
      "type": "local",
      "command": ["uv", "run", "bitbucket-mcp"],
      "environment": {
        "BITBUCKET_WORKSPACE": "test_workspace",
        "APP_USERNAME": "username",
        "APP_PASSWORD": "password"
      }
}

Alternatively, you can still use the backward-compatible shim:

"BitbucketMCP": {
      "type": "local",
      "command": ["uv", "run", "server.py"],
      "environment": {
        "BITBUCKET_WORKSPACE": "test_workspace",
        "APP_USERNAME": "username",
        "APP_PASSWORD": "password"
      }
}

Available Tools

  • bitbucket_code_search - Search code in repositories

  • bitbucket_get_repositories - List and filter repositories

  • bitbucket_create_branch - Create a new branch

  • bitbucket_get_commits - Retrieve commit history

  • bitbucket_get_file_content - Get raw file content

  • bitbucket_create_pr - Create pull requests

  • bitbucket_get_pull_requests - List pull requests for a repository

  • bitbucket_get_pull_request - Retrieve a single pull request by ID

  • bitbucket_get_pull_request_diff - Get the diff for a pull request

  • bitbucket_get_pull_request_comments - Get comments for a pull request

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLMs to interact with Bitbucket repositories, primarily focusing on retrieving and reviewing pull request context. It provides a suite of tools for repository operations, allowing users to manage pull requests and explore Bitbucket resources through the Model Context Protocol.
    40
    ISC
  • A
    license
    B
    quality
    D
    maintenance
    Enables LLMs to interact with Bitbucket repositories to manage pull requests, branches, and commits through the Model Context Protocol. It supports repository operations such as searching code, accessing file contents, and comparing branches using natural language.
    16
    5,033
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dmtr/bitbucket_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server