Bitbucket MCP

MIT License
820
4
  • Linux
  • Apple

Integrations

  • Enables interaction with Bitbucket Cloud and Server APIs, providing tools for listing and retrieving repositories, managing pull requests, and working with repository content.

  • Supports working with Git repositories stored in Bitbucket, allowing access to repository content and version control operations.

Bitbucket MCP

A Model Context Protocol (MCP) server for integrating with Bitbucket Cloud and Server APIs. This MCP server enables AI assistants like Cursor to interact with your Bitbucket repositories, pull requests, and other resources.

Safety First

This is a safe and responsible package — no DELETE operations are used, so there’s no risk of data loss. Every pull request is analyzed with CodeQL to ensure the code remains secure.

Overview

Checkout out the official npm package This server implements the Model Context Protocol standard to provide AI assistants with access to Bitbucket data and operations. It includes tools for:

  • Listing and retrieving repositories
  • Getting repository details
  • Fetching pull requests
  • And more...

Installation

The easiest way to use this MCP server is via NPX, which allows you to run it without installing it globally:

# Run with environment variables BITBUCKET_URL="https://bitbucket.org/your-workspace" \ BITBUCKET_USERNAME="your-username" \ BITBUCKET_PASSWORD="your-app-password" \ npx -y bitbucket-mcp@latest

Manual Installation

Alternatively, you can install it globally or as part of your project:

# Install globally npm install -g bitbucket-mcp # Or install in your project npm install bitbucket-mcp

Then run it with:

# If installed globally BITBUCKET_URL="https://bitbucket.org/your-workspace" \ BITBUCKET_USERNAME="your-username" \ BITBUCKET_PASSWORD="your-app-password" \ bitbucket-mcp # If installed in your project BITBUCKET_URL="https://bitbucket.org/your-workspace" \ BITBUCKET_USERNAME="your-username" \ BITBUCKET_PASSWORD="your-app-password" \ npx bitbucket-mcp

Configuration

Environment Variables

Configure the server using the following environment variables:

VariableDescriptionRequired
BITBUCKET_URLBitbucket base URL (e.g., "https://bitbucket.org/your-workspace")Yes
BITBUCKET_USERNAMEYour Bitbucket usernameYes*
BITBUCKET_PASSWORDYour Bitbucket app passwordYes*
BITBUCKET_TOKENYour Bitbucket access token (alternative to username/password)No
BITBUCKET_WORKSPACEDefault workspace to use when not specifiedNo

* Either BITBUCKET_TOKEN or both BITBUCKET_USERNAME and BITBUCKET_PASSWORD must be provided.

Creating a Bitbucket App Password

  1. Log in to your Bitbucket account
  2. Go to Personal Settings > App Passwords
  3. Create a new app password with the following permissions:
    • Repositories: Read
    • Pull requests: Read, Write
  4. Copy the generated password and use it as the BITBUCKET_PASSWORD environment variable

Integration with Cursor

To integrate this MCP server with Cursor:

  1. Open Cursor
  2. Go to Settings > Extensions
  3. Click on "Model Context Protocol"
  4. Add a new MCP configuration:
"bitbucket": { "command": "npx", "env": { "BITBUCKET_URL": "https://bitbucket.org/your-workspace", "BITBUCKET_USERNAME": "your-username", "BITBUCKET_PASSWORD": "your-app-password" }, "args": ["-y", "bitbucket-mcp@latest"] }
  1. Save the configuration
  2. Use the "/bitbucket" command in Cursor to access Bitbucket repositories and pull requests

Using a Local Build with Cursor

If you're developing locally and want to test your changes:

"bitbucket-local": { "command": "node", "env": { "BITBUCKET_URL": "https://bitbucket.org/your-workspace", "BITBUCKET_USERNAME": "your-username", "BITBUCKET_PASSWORD": "your-app-password" }, "args": ["/path/to/your/local/bitbucket-mcp/dist/index.js"] }

Available Tools

This MCP server provides tools for interacting with Bitbucket repositories and pull requests. Below is a comprehensive list of the available operations:

Repository Operations

listRepositories

Lists repositories in a workspace.

Parameters:

  • workspace (optional): Bitbucket workspace name
  • limit (optional): Maximum number of repositories to return
getRepository

Gets details for a specific repository.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug

Pull Request Operations

getPullRequests

Gets pull requests for a repository.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • state (optional): Pull request state (OPEN, MERGED, DECLINED, SUPERSEDED)
  • limit (optional): Maximum number of pull requests to return
createPullRequest

Creates a new pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • title: Pull request title
  • description: Pull request description
  • sourceBranch: Source branch name
  • targetBranch: Target branch name
  • reviewers (optional): List of reviewer usernames
getPullRequest

Gets details for a specific pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
updatePullRequest

Updates a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • Various optional update parameters (title, description, etc.)
getPullRequestActivity

Gets the activity log for a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
approvePullRequest

Approves a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
unapprovePullRequest

Removes an approval from a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
declinePullRequest

Declines a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • message (optional): Reason for declining
mergePullRequest

Merges a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • message (optional): Merge commit message
  • strategy (optional): Merge strategy (merge-commit, squash, fast-forward)
requestChanges

Requests changes on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
removeChangeRequest

Removes a change request from a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID

Pull Request Comment Operations

getPullRequestComments

Lists comments on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
createPullRequestComment

Creates a comment on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • content: Comment content
  • inline (optional): Inline comment information
getPullRequestComment

Gets a specific comment on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • comment_id: Comment ID
updatePullRequestComment

Updates a comment on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • comment_id: Comment ID
  • content: Updated comment content
deletePullRequestComment

Deletes a comment on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • comment_id: Comment ID
resolveComment

Resolves a comment thread on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • comment_id: Comment ID
reopenComment

Reopens a resolved comment thread on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • comment_id: Comment ID

Pull Request Diff Operations

getPullRequestDiff

Gets the diff for a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
getPullRequestDiffStat

Gets the diff statistics for a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
getPullRequestPatch

Gets the patch for a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID

Pull Request Task Operations

getPullRequestTasks

Lists tasks on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
createPullRequestTask

Creates a task on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • content: Task content
  • comment (optional): Comment ID to associate with the task
  • pending (optional): Whether the task is pending
getPullRequestTask

Gets a specific task on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • task_id: Task ID
updatePullRequestTask

Updates a task on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • task_id: Task ID
  • content (optional): Updated task content
  • state (optional): Updated task state
deletePullRequestTask

Deletes a task on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
  • task_id: Task ID

Other Pull Request Operations

getPullRequestCommits

Lists commits on a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID
getPullRequestStatuses

Lists commit statuses for a pull request.

Parameters:

  • workspace: Bitbucket workspace name
  • repo_slug: Repository slug
  • pull_request_id: Pull request ID

Development

Prerequisites

  • Node.js 18 or higher
  • npm or yarn

Setup

# Clone the repository git clone https://github.com/MatanYemini/bitbucket-mcp.git cd bitbucket-mcp # Install dependencies npm install # Build the project npm run build # Run in development mode npm run dev

License

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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Model Context Protocol server that enables AI assistants to interact with Bitbucket repositories, pull requests, and other resources through Bitbucket Cloud and Server APIs.

  1. Safety First
    1. Overview
      1. Installation
        1. Using NPX (Recommended)
        2. Manual Installation
      2. Configuration
        1. Environment Variables
        2. Creating a Bitbucket App Password
      3. Integration with Cursor
        1. Using a Local Build with Cursor
      4. Available Tools
        1. Repository Operations
        2. Pull Request Operations
        3. Pull Request Comment Operations
        4. Pull Request Diff Operations
        5. Pull Request Task Operations
        6. Other Pull Request Operations
      5. Development
        1. Prerequisites
        2. Setup
      6. License
        1. Links

          Related MCP Servers

          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.
            Last updated -
            1
            JavaScript
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that enables AI assistants like Claude to interact with GitHub repositories, issues, and pull requests.
            Last updated -
            129
            Python
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that enables AI assistants to perform GitHub operations including repository management, file operations, issue tracking, and pull request creation.
            Last updated -
            1
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
            Last updated -
            16
            TypeScript

          View all related MCP servers

          ID: n7bfg1br32