MCP (Model Context Protocol) server for Bitbucket Server Pull Request management. This server provides tools and resources to interact with the Bitbucket Server API through the MCP protocol.
- Node.js >= 16
To install Bitbucket Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @garc33/bitbucket-server-mcp-server --client claude
npm install
npm run build
The server provides the following tools for Bitbucket Server integration:
Creates a new pull request.
Parameters:
project
: Bitbucket project key (defaults to BITBUCKET_DEFAULT_PROJECT if set)repository
(required): Repository slugtitle
(required): PR titledescription
: PR descriptionsourceBranch
(required): Source branch nametargetBranch
(required): Target branch namereviewers
: Array of reviewer usernames
Retrieves detailed information about a specific pull request.
Parameters:
project
: Bitbucket project key (defaults to BITBUCKET_DEFAULT_PROJECT if set)repository
(required): Repository slugprId
(required): Pull request ID
Merges a pull request.
Parameters:
project
: Bitbucket project key (defaults to BITBUCKET_DEFAULT_PROJECT if set)repository
(required): Repository slugprId
(required): Pull request IDmessage
: Merge commit messagestrategy
: One of:merge-commit
(default)squash
fast-forward
Declines a pull request.
Parameters:
project
: Bitbucket project key (defaults to BITBUCKET_DEFAULT_PROJECT if set)repository
(required): Repository slugprId
(required): Pull request IDmessage
: Reason for declining
Adds a comment to a pull request.
Parameters:
project
: Bitbucket project key (defaults to BITBUCKET_DEFAULT_PROJECT if set)repository
(required): Repository slugprId
(required): Pull request IDtext
(required): Comment textparentId
: Parent comment ID for replies
Retrieves the diff for a pull request.
Parameters:
project
: Bitbucket project key (defaults to BITBUCKET_DEFAULT_PROJECT if set)repository
(required): Repository slugprId
(required): Pull request IDcontextLines
: Number of context lines (default: 10)
Fetches the review history of a pull request, including approvals and reviews.
Parameters:
project
: Bitbucket project key (defaults to BITBUCKET_DEFAULT_PROJECT if set)repository
(required): Repository slugprId
(required): Pull request ID
@modelcontextprotocol/sdk
- SDK for MCP protocol implementationaxios
- HTTP client for API requestswinston
- Logging framework
The server requires configuration in the VSCode MCP settings file. Here's a sample configuration:
{
"mcpServers": {
"bitbucket": {
"command": "node",
"args": ["/path/to/bitbucket-server/build/index.js"],
"env": {
"BITBUCKET_URL": "https://your-bitbucket-server.com",
// Authentication (choose one):
// Option 1: Personal Access Token
"BITBUCKET_TOKEN": "your-access-token",
// Option 2: Username/Password
"BITBUCKET_USERNAME": "your-username",
"BITBUCKET_PASSWORD": "your-password",
// Optional: Default project
"BITBUCKET_DEFAULT_PROJECT": "your-default-project"
}
}
}
}
BITBUCKET_URL
(required): Base URL of your Bitbucket Server instance- Authentication (one of the following is required):
BITBUCKET_TOKEN
: Personal access tokenBITBUCKET_USERNAME
andBITBUCKET_PASSWORD
: Basic authentication credentials
BITBUCKET_DEFAULT_PROJECT
: Default project key to use when not specified in tool calls
The server logs all operations to bitbucket.log
using Winston for debugging and monitoring purposes.