# Bitbucket Mcp

> 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.

- **Type:** MCP server
- **Install:** `agentstack add mcp-dmtr-bitbucket-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [dmtr](https://agentstack.voostack.com/s/dmtr)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [dmtr](https://github.com/dmtr)
- **Source:** https://github.com/dmtr/bitbucket_mcp

## Install

```sh
agentstack add mcp-dmtr-bitbucket-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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

## 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

```json
"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:

```json
"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

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [dmtr](https://github.com/dmtr)
- **Source:** [dmtr/bitbucket_mcp](https://github.com/dmtr/bitbucket_mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-dmtr-bitbucket-mcp
- Seller: https://agentstack.voostack.com/s/dmtr
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
