bitbucket-mcp

jlromano/bitbucket-mcp

3.1

If you are the rightful owner of bitbucket-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Bitbucket MCP Server is a Model Context Protocol server that facilitates interaction between Large Language Models (LLMs) and Bitbucket repositories, enabling efficient repository management, code analysis, and pull request operations.

Tools
16
Resources
0
Prompts
0

Bitbucket MCP Server

Node Version MCP Protocol

A Model Context Protocol (MCP) server that enables Large Language Models (LLMs) to interact with Bitbucket repositories, manage pull requests, analyze code, and perform various repository operations.

🌟 Features

Repository Management

  • List workspaces and repositories
  • Get detailed repository information
  • Search code across repositories
  • Access file contents

Branch Operations

  • List and get branch details
  • Compare branches
  • View branch history

Pull Request Management

  • List, create, and manage pull requests
  • Approve and merge pull requests
  • Add comments and reviews
  • Filter by status (OPEN, MERGED, DECLINED)

Commit Operations

  • List and analyze commits
  • Get commit details and diffs
  • Filter commits by branch

🚀 Quick Start

Prerequisites

Installation

  1. Clone the repository:
git clone https://github.com/jlromano/bitbucket-mcp.git
cd bitbucket-mcp
  1. Install dependencies:
npm install
  1. Configure environment:
cp .env.example .env
# Edit .env with your Bitbucket credentials
  1. Build the project:
npm run build

🔐 Authentication Setup

Creating a Bitbucket App Password

  1. Log into your Bitbucket account
  2. Navigate to Personal SettingsApp passwords
  3. Click Create app password
  4. Select the following permissions:
    • Account: Read
    • Workspace membership: Read
    • Repositories: Read, Write
    • Pull requests: Read, Write
  5. Copy the generated password

Environment Configuration

Create a .env file with your credentials:

BITBUCKET_USERNAME=your-username-or-email
BITBUCKET_APP_PASSWORD=your-app-password
BITBUCKET_WORKSPACE=default-workspace (optional)

📋 Configuration

Claude Desktop

Add to your Claude configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "bitbucket": {
      "command": "node",
      "args": ["/absolute/path/to/bitbucket-mcp/dist/index.js"],
      "env": {
        "BITBUCKET_USERNAME": "your-username",
        "BITBUCKET_APP_PASSWORD": "your-app-password",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}

Other MCP-Compatible Applications

Install globally and run:

npm install -g bitbucket-mcp
bitbucket-mcp

🛠️ Available Tools

The server provides the following tools for LLM interaction:

ToolDescription
list_workspacesList all available workspaces
list_repositoriesList repositories in a workspace
get_repositoryGet repository details
list_branchesList repository branches
get_branchGet branch details
compare_branchesCompare two branches
list_pull_requestsList pull requests with optional filters
get_pull_requestGet pull request details
create_pull_requestCreate a new pull request
approve_pull_requestApprove a pull request
merge_pull_requestMerge a pull request
add_pull_request_commentAdd a comment to a pull request
list_commitsList repository commits
get_commitGet commit details
get_file_contentGet file contents from repository
search_codeSearch code in workspace

💻 Development

Project Structure

bitbucket-mcp/
├── src/
│   ├── index.ts           # MCP server implementation
│   └── BitbucketClient.ts # Bitbucket API client
├── dist/                  # Compiled JavaScript
├── .env.example          # Environment variables template
├── package.json
├── tsconfig.json
└── README.md

Development Commands

# Run in development mode with hot reload
npm run dev

# Build for production
npm run build

# Run linting
npm run lint

# Format code
npm run format

# Start production server
npm start

🤝 Usage Examples

Once configured, you can interact with your Bitbucket repositories through your LLM:

  • "List all repositories in my workspace"
  • "Show open pull requests in the main repository"
  • "Create a pull request from feature/new-feature to main"
  • "Get the content of README.md from the develop branch"
  • "Search for 'authentication' in the codebase"
  • "Compare develop and main branches"
  • "Show recent commits with 'fix' in the message"

🔍 Troubleshooting

Common Issues

Authentication Failed

  • Verify your username (use email if that's your login)
  • Ensure App Password is valid and has correct permissions
  • Check that the App Password hasn't expired

Workspace Not Found

  • Confirm workspace slug matches URL format: bitbucket.org/WORKSPACE/
  • Verify you have access to the workspace

Build Errors

  • Ensure Node.js 18+ is installed: node --version
  • Clear node_modules and reinstall: rm -rf node_modules && npm install
  • Rebuild the project: npm run build

📄 License

This project is licensed under the MIT License - see the file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🙏 Acknowledgments

📧 Support

For issues, questions, or suggestions, please open an issue on GitHub.


Note: This is not an official Atlassian product. Bitbucket is a trademark of Atlassian.