Overview
What is Bitbucket Server MCP?
Bitbucket Server MCP is a Model Context Protocol (MCP) server that provides tools and resources for Bitbucket Server Pull Request management through the MCP protocol. It enables AI assistants to interact with the Bitbucket Server API for code review, branch management, and repository exploration.
How to use Bitbucket Server MCP?
Install via Smithery (npx -y @smithery/cli install @garc33/bitbucket-server-mcp-server --client claude) or manually (npm install followed by npm run build). Configure environment variables such as BITBUCKET_DEFAULT_PROJECT and BITBUCKET_CUSTOM_HEADERS for Zero Trust tokens. Tools are invoked through the MCP protocol by an AI client.
Key features of Bitbucket Server MCP
- Pull request creation, update, merge, and decline
- PR approval and unapproval
- Branch listing and deletion (including merged branches)
- Code and file search across repositories
- File content reading with pagination
- Comment management and threaded replies
- Repository and project discovery
- Commit history browsing with filters
- Custom HTTP headers for advanced authentication
Use cases of Bitbucket Server MCP
- Automate PR creation and review workflows
- Search code and files across multiple projects
- Retrieve and analyze pull request diffs
- Manage branch lifecycle (list, delete merged branches)
- Track PR review progress and activities
FAQ from Bitbucket Server MCP
What are the runtime requirements?
Node.js version 16 or higher is required.
How do I configure the server?
Set environment variables: BITBUCKET_DEFAULT_PROJECT for a default project key, BITBUCKET_CUSTOM_HEADERS for custom HTTP headers (e.g., Zero Trust tokens), and BITBUCKET_DIFF_MAX_LINES_PER_FILE to control diff output limits.
What authentication methods are supported?
The server supports custom HTTP headers via the BITBUCKET_CUSTOM_HEADERS environment variable for proxies or Zero Trust tokens. Authentication details for the Bitbucket Server API are handled separately.
Does search work across all branches?
No, the search tool only works on the default branch of repositories.
Can I handle large diffs?
Yes, the get_diff tool supports per-file truncation via maxLinesPerFile or the BITBUCKET_DIFF_MAX_LINES_PER_FILE environment variable.