Skip to main content
Glama
bitbucket-mcp-server

bitbucket-mcp-server

Bitbucket MCP Server

npm version License: ISC GitHub Repository CI Publish to npm CodeQL

A Model Context Protocol (MCP) server that provides tools for interacting with Bitbucket repositories, pull requests, issues, and more.

Safety

This server is read-heavy and non-destructive — no DELETE operations are used against the Bitbucket API, so there is no risk of accidental data loss. Write operations are limited to creating and updating resources (e.g., pull requests, comments, pipelines).

Related MCP server: Bitbucket MCP Server

Quick Start

Run directly without cloning the repository:

BITBUCKET_USERNAME="your-email@example.com" \
BITBUCKET_API_TOKEN="your-api-token" \
npx -y -p bitbucket-mcp-server@latest bitbucket-mcp

The -p ... bitbucket-mcp flag tells npx which bin to run. The package ships two binaries — bitbucket-mcp (the MCP server) and bb (the CLI) — so the bin name must be specified explicitly.

From Source

  1. Install and Build:

    npm install
    npm run build
  2. Configure Environment: Set the required variables (see Configuration):

    export BITBUCKET_API_TOKEN="your-api-token"
    export BITBUCKET_USERNAME="your-email@example.com"
  3. Run the Server:

    npm start

CLI

This package also ships a bb CLI alongside the MCP server. After installing globally:

npm install -g bitbucket-mcp-server
bb --help

The CLI shares the same core logic as the MCP server, providing terminal access to repositories, pull requests, issues, pipelines, and more. See docs/cli.md for the full reference, including authentication, output formats, exit codes, and command-by-command examples.

Quick example—list open PRs in JSON:

BITBUCKET_WORKSPACE=acme bb --json pr list -r api --state OPEN

Features

This MCP server provides comprehensive tools for Bitbucket integration:

  • Repository Management: List and inspect repositories in a workspace.

  • Pull Requests: Full lifecycle support—list, get details, create, update, diff, and comment.

  • Issues: Query and filter repository issues.

  • Source Code: Explore branches and commits.

  • Pipelines: List, get, and trigger Bitbucket pipelines for CI/CD.

  • System & Search: Cross-resource search and health monitoring.

For a full list of available tools and their parameters, see the Tool Reference.

Available Tools

Repository & code

  • repositories — List repositories in a workspace, or fetch details for a single repository when repo_slug is provided.

  • commits — List recent commits, or fetch a single commit when commit_hash is provided.

  • list-branches — List branches for a repository.

  • search — Full-text search across a repository.

Pull requests

  • pull-requests — List PRs, or fetch a single PR when pr_id is provided.

  • create-pull-request — Create a new pull request.

  • update-pr-description — Update an existing PR's description.

  • get-pr-diff — Fetch the diff for a PR.

PR comments

  • pr-comments - List PR comments, or fetch a single comment when comment_id is provided. Output includes the resolution state when Bitbucket returns it.

  • create-pr-comment - Add a comment (or inline comment, or reply) to a PR.

  • resolve-pr-comment - Resolve or unresolve a top-level PR comment thread.

Issues

  • list-issues — List issues for a repository.

Pipelines

  • pipelines — List pipelines, or fetch a single pipeline when pipeline_uuid is provided.

  • trigger-pipeline — Trigger a new pipeline run.

  • pipeline-steps — Pipeline step operations. Use action: "list" | "get" | "log" to select behavior; step_uuid is required for get and log.

System

  • health-check — Server health status.

  • get-metrics — Request metrics.

Migrating from v1.x to v2.0

v2.0 consolidates 24 tools into 16. Update tool names and parameters as follows:

Old (v1.x)

New (v2.0)

Parameter changes

list-repositories

repositories

Same parameters; repo_slug optional

get-repository

repositories

Pass repo_slug

list-pull-requests

pull-requests

Same parameters; pr_id optional

get-pull-request

pull-requests

Pass pr_id (previously pull_request_id — rename)

list-pr-comments

pr-comments

pull_request_id → pr_id (matches pull-requests); comment_id optional

get-pr-comment

pr-comments

pull_request_id → pr_id; pass comment_id

get-commits

commits

Same parameters; commit_hash optional

get-commit

commits

Pass commit_hash

list-pipelines

pipelines

Same parameters; pipeline_uuid optional

get-pipeline

pipelines

Pass pipeline_uuid

list-pipeline-steps

pipeline-steps

Add action: "list"

get-pipeline-step

pipeline-steps

Add action: "get"

get-pipeline-step-log

pipeline-steps

Add action: "log"

All other tools retain their v1.x names and parameters.

Installation

  1. Clone or download this repository.

  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Configuration

The server is configured via environment variables. For detailed setup instructions and client-specific examples (Claude Desktop, etc.), please refer to the Configuration Guide.

Essential Variables

Variable

Description

BITBUCKET_API_TOKEN

(Required) Your User API token or Workspace/Project token

BITBUCKET_USERNAME

(Required for User API tokens) Your Atlassian account email

BITBUCKET_WORKSPACE

Default workspace used when the parameter is omitted

Note: If you are using a Workspace or Project access token, you can omit BITBUCKET_USERNAME.

Advanced Settings

Additional configuration options for timeouts, caching, metrics, and retries are documented in CONFIGURATION.md.

MCP Client Configuration

Add this server to your MCP client configuration (e.g., claude_desktop_config.json). See CONFIGURATION.md for full examples for macOS, Linux, and Windows.

Using NPX (recommended):

{
  "mcpServers": {
    "bitbucket-mcp": {
      "command": "npx",
      "args": ["-y", "-p", "bitbucket-mcp-server@latest", "bitbucket-mcp"],
      "env": {
        "BITBUCKET_USERNAME": "your-email@example.com",
        "BITBUCKET_API_TOKEN": "your-api-token",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}

Using local build:

{
  "mcpServers": {
    "bitbucket-mcp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/bitbucket_mcp/build/index.js"],
      "env": {
        "BITBUCKET_USERNAME": "your-email@example.com",
        "BITBUCKET_API_TOKEN": "your-api-token",
        "BITBUCKET_WORKSPACE": "your-workspace"
      }
    }
  }
}

Usage Examples

List Repositories

List all repositories in the 'myworkspace' workspace

Create Pull Request

Create a pull request from feature/my-feature to main in myworkspace/myrepo with title "My Feature PR"

Search Workspace

Search for "authentication" across all repositories and pull requests

See more examples for PRs, issues, and commits in the Tool Reference.

Prerequisites

  • Node.js 20.19.x or >= 22.12.0

  • npm (included with Node.js)

Development

  • Build: npm run build

  • Dev Mode: npm run dev

  • Test: npm test

  • Coverage: npm run test:coverage

Troubleshooting

Refer to the Troubleshooting section in CONFIGURATION.md for common issues related to authentication, permissions, and rate limiting.

License

ISC

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

Available Tools

17 tools
commitsA

List recent commits for a repository, or get details for a single commit when commit_hash is provided.

Inputs: repo_slug (required), page, branch, pagelen, +2 more.

create-pr-commentB

Create a comment on a pull request, or reply to an existing comment by specifying a parent comment ID

Inputs: content (required), repo_slug (required), pull_request_id (required), to_line, +4 more.

create-pull-requestC

Create a new pull request in a repository

Inputs: title (required), repo_slug (required), source_branch (required), reviewers, +4 more.

get-metricsC

Get server performance metrics and statistics

Inputs: no named parameters.

get-pr-diffC

Get the diff/changes for a specific pull request

Inputs: repo_slug (required), pull_request_id (required), workspace.

health-checkB

Check connectivity to Bitbucket API and validate credentials

Inputs: workspace.

list-branchesC

List branches for a repository

Inputs: repo_slug (required), page, pagelen, workspace.

list-issuesC

List issues for a repository

Inputs: repo_slug (required), kind, page, state, +2 more.

pipelinesA

List pipelines for a repository, or get details for a single pipeline when pipeline_uuid is provided.

Inputs: repo_slug (required), page, pagelen, workspace, +1 more.

pipeline-stepsB

Pipeline step operations. Use action: "list" to list all steps, "get" to fetch a single step's metadata, "log" to fetch a single step's log output. step_uuid is required when action is get or log.

Inputs: action (required), repo_slug (required), pipeline_uuid (required), page, +3 more.

pr-commentsA

List comments on a pull request, or get details for a single comment when comment_id is provided.

Inputs: pr_id (required), repo_slug (required), page, pagelen, +2 more.

pull-requestsB

List pull requests for a repository, or get details for a single pull request when pr_id is provided.

Inputs: repo_slug (required), page, pr_id, state, +2 more.

repositoriesA

List repositories in a Bitbucket workspace, or get details for a single repository when repo_slug is provided.

Inputs: page, role, sort, pagelen, +2 more.

resolve-pr-commentC

Resolve or unresolve a pull request comment thread

Inputs: action (required), repo_slug (required), comment_id (required), pull_request_id (required), +1 more.

trigger-pipelineC

Trigger a new pipeline for a repository

Inputs: repo_slug (required), ref_name, ref_type, variables, +4 more.

update-pr-descriptionC

Update the title and/or description of a pull request

Inputs: repo_slug (required), pull_request_id (required), title, workspace, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 17 tools

    Disambiguation4/5

    Most tools have clearly distinct resource/action targets, especially across PRs, pipelines, comments, and repositories. The only mild overlaps are health-check vs get-metrics and the dual list/get pattern used by repositories, pull-requests, commits, and pipelines, but the descriptions clarify parameter behavior.

    Naming Consistency3/5

    All names use kebab-case, but the set mixes noun-only resource names (repositories, commits, pr-comments) with verb_noun names (create-pull-request, get-pr-diff) and an action-parameter tool (pipeline-steps). The convention is readable but not uniform.

    Tool Count4/5

    17 tools is slightly above the ideal 3-15 range but still reasonably scoped for Bitbucket's breadth across repositories, commits, branches, PRs, pipelines, issues, and search. Each major area has coverage, with no obvious duplicate tools.

    Completeness3/5

    Core read and some write workflows are covered for PRs and pipelines, but there are notable gaps: no create/update issue, no PR approval or merge, no branch creation/deletion, and no source file browsing. Agents can still handle many tasks but will hit dead ends for common Bitbucket lifecycle operations.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      D
      quality
      D
      maintenance
      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.
      3
      6,532 npm
      168
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      An MCP server that provides tools for interacting with the Bitbucket API, supporting both Bitbucket Cloud and Bitbucket Server, enabling pull request, branch, file, code review, and search operations.
      19
      8,411 npm
      MIT
    • A
      license
      C
      quality
      C
      maintenance
      MCP server for integrating with Bitbucket Cloud and Server APIs, enabling AI assistants to interact with repositories, pull requests, pipelines, and more.
      59
      30 npm
      3
      MIT