Bitbucket Cloud MCP Server
Enables interaction with Bitbucket Cloud through 25+ tools for managing repositories, pull requests, branches, commits, issues, pipelines, and code search with OAuth 2.0 authentication.
README
@lexmata/bitbucket-mcp
A Model Context Protocol (MCP) server for Bitbucket Cloud - 25+ tools for repositories, pull requests, branches, commits, issues, pipelines, and code search.
Features
- Full Bitbucket Cloud API Coverage: Access repositories, pull requests, branches, commits, issues, pipelines, and code search
- OAuth 2.0 Authentication: Secure authentication with automatic token refresh
- MCP Tools: 25+ tools for interacting with Bitbucket
- MCP Resources: Access repositories, pull requests, and files as resources
- TypeScript: Fully typed for reliability and developer experience
Installation
# Using npm
npm install -g @lexmata/bitbucket-mcp
# Using pnpm
pnpm add -g @lexmata/bitbucket-mcp
# Using yarn
yarn global add @lexmata/bitbucket-mcp
Configuration
Option 1: Access Token (Recommended for personal use)
-
Go to Bitbucket Settings > Personal Settings > App passwords
-
Create a new app password with the required permissions:
- Account: Read
- Repositories: Read, Write, Admin
- Pull requests: Read, Write
- Issues: Read, Write
- Pipelines: Read, Write
-
Set the environment variable:
export BITBUCKET_ACCESS_TOKEN="your-app-password"
Option 2: OAuth 2.0 (Recommended for applications)
-
Go to Bitbucket Settings > Workspace Settings > OAuth consumers
-
Create a new OAuth consumer with:
- Callback URL:
http://localhost:8080/callback(or your callback URL) - Permissions: Select required scopes
- Callback URL:
-
Set the environment variables:
export BITBUCKET_CLIENT_ID="your-client-id"
export BITBUCKET_CLIENT_SECRET="your-client-secret"
Usage with Claude Desktop
Add the following to your Claude Desktop 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": "npx",
"args": ["@lexmata/bitbucket-mcp"],
"env": {
"BITBUCKET_ACCESS_TOKEN": "your-access-token"
}
}
}
}
Or if installed globally:
{
"mcpServers": {
"bitbucket": {
"command": "bitbucket-mcp",
"env": {
"BITBUCKET_ACCESS_TOKEN": "your-access-token"
}
}
}
}
Available Tools
Repository Management
| Tool | Description |
|---|---|
list_repositories |
List repositories in a workspace |
get_repository |
Get details of a specific repository |
create_repository |
Create a new repository |
delete_repository |
Delete a repository |
list_repository_forks |
List all forks of a repository |
Pull Requests
| Tool | Description |
|---|---|
list_pull_requests |
List pull requests with optional filtering |
get_pull_request |
Get details of a specific pull request |
create_pull_request |
Create a new pull request |
update_pull_request |
Update a pull request |
merge_pull_request |
Merge a pull request |
decline_pull_request |
Decline a pull request |
approve_pull_request |
Approve a pull request |
request_changes |
Request changes on a pull request |
list_pr_comments |
List comments on a pull request |
add_pr_comment |
Add a comment to a pull request |
get_pr_diff |
Get the diff for a pull request |
Branches
| Tool | Description |
|---|---|
list_branches |
List branches in a repository |
get_branch |
Get details of a specific branch |
create_branch |
Create a new branch |
delete_branch |
Delete a branch |
Commits
| Tool | Description |
|---|---|
list_commits |
List commits with optional filtering |
get_commit |
Get details of a specific commit |
get_commit_diff |
Get the diff for a commit |
Issues
| Tool | Description |
|---|---|
list_issues |
List issues in a repository |
get_issue |
Get details of a specific issue |
create_issue |
Create a new issue |
update_issue |
Update an issue |
delete_issue |
Delete an issue |
Pipelines
| Tool | Description |
|---|---|
list_pipelines |
List pipeline runs |
get_pipeline |
Get details of a pipeline run |
trigger_pipeline |
Trigger a new pipeline run |
stop_pipeline |
Stop a running pipeline |
Code Search
| Tool | Description |
|---|---|
search_code |
Search code across repositories |
Files
| Tool | Description |
|---|---|
get_file_content |
Get the content of a file |
Resources
The server provides the following resource types:
| Resource URI | Description |
|---|---|
bitbucket://repository/{workspace}/{repo} |
Repository information |
bitbucket://pullrequest/{workspace}/{repo}/{id} |
Pull request details |
bitbucket://file/{workspace}/{repo}/{path} |
File contents |
Examples
List repositories in a workspace
Use the list_repositories tool with workspace "my-workspace"
Create a pull request
Use the create_pull_request tool with:
- workspace: "my-workspace"
- repo_slug: "my-repo"
- title: "Add new feature"
- source_branch: "feature/new-feature"
- destination_branch: "main"
- description: "This PR adds a new feature"
Search for code
Use the search_code tool with:
- workspace: "my-workspace"
- search_query: "function handleError"
Trigger a pipeline
Use the trigger_pipeline tool with:
- workspace: "my-workspace"
- repo_slug: "my-repo"
- ref_type: "branch"
- ref_name: "main"
Development
Prerequisites
- Node.js 18+
- pnpm 9+
Setup
# Clone the repository
git clone https://github.com/lexmata/bitbucket-mcp.git
cd bitbucket-mcp
# Install dependencies
pnpm install
# Build
pnpm build
# Run in development mode
pnpm dev
Scripts
| Script | Description |
|---|---|
pnpm build |
Build the project with SWC |
pnpm dev |
Run in development mode |
pnpm start |
Run the built server |
pnpm typecheck |
Run TypeScript type checking |
pnpm lint |
Run ESLint |
pnpm lint:fix |
Fix ESLint issues |
pnpm format |
Format code with Prettier |
pnpm format:check |
Check code formatting |
License
MIT License - Copyright (c) 2025 Lexmata LLC
See LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Support
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.