Bitbucket Server MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BITBUCKET_URL | Yes | Base URL of your Bitbucket Server instance | |
| BITBUCKET_TOKEN | No | Personal access token for Bitbucket Server authentication | |
| BITBUCKET_PASSWORD | No | Password for Bitbucket Server basic authentication | |
| BITBUCKET_USERNAME | No | Username for Bitbucket Server basic authentication | |
| BITBUCKET_DEFAULT_PROJECT | No | Default project key to use when not specified in tool calls |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | Discover and list all Bitbucket projects you have access to. Use this first to explore available projects, find project keys, or when you need to work with a specific project but don't know its exact key. Returns project keys, names, descriptions and visibility settings. |
| list_repositoriesB | Browse and discover repositories within a specific project or across all accessible projects. Use this to find repository slugs, explore codebases, or understand the repository structure. Returns repository names, slugs, clone URLs, and project associations. |
| create_pull_requestA | Create a new pull request to propose code changes, request reviews, or merge feature branches. Use this when you want to submit code for review, merge a feature branch, or contribute changes to a repository. Automatically sets up branch references and can assign reviewers. |
| update_pull_requestA | Update an existing pull request title, description, or reviewers. Safely preserves all fields not explicitly changed (uses read-modify-write to avoid losing reviewers or other metadata). |
| get_pull_requestA | Retrieve comprehensive details about a specific pull request including status, reviewers, commits, and metadata. Use this to check PR status, review progress, understand changes, or gather information before performing actions like merging or commenting. |
| merge_pull_requestA | Merge an approved pull request into the target branch. Use this when a PR has been reviewed, approved, and is ready to be integrated. Choose the appropriate merge strategy based on your team's workflow and repository history preferences. |
| decline_pull_requestA | Decline or reject a pull request that should not be merged. Use this when changes are not acceptable, conflicts with project direction, or when the PR needs significant rework. This closes the PR without merging. |
| add_commentB | Add a comment to a pull request for code review, feedback, questions, or discussion. Use this to provide review feedback, ask questions about specific changes, suggest improvements, or participate in code review discussions. Supports threaded conversations. |
| add_comment_inlineB | Add an inline comment (to specific lines) to the diff of a pull request for code review, feedback, questions, or discussion. Use this to provide review feedback, ask questions about specific changes, suggest improvements, or participate in code review discussions. Supports threaded conversations. |
| get_diffA | Retrieve the code differences (diff) for a pull request showing what lines were added, removed, or modified. Use this to understand the scope of changes, review specific code modifications, or analyze the impact of proposed changes before merging. |
| get_reviewsA | Fetch the review history and approval status of a pull request. Use this to check who has reviewed the PR, see approval status, understand review feedback, or determine if the PR is ready for merging based on review requirements. |
| get_activitiesB | Retrieve all activities for a pull request including comments, reviews, commits, and other timeline events. Use this to get the complete activity history and timeline of the pull request. |
| get_commentsA | Retrieve only the comments from a pull request. Use this when you specifically want to read the discussion and feedback comments without other activities like reviews or commits. |
| searchA | Search for code or files across repositories. Use this to find specific code patterns, file names, or content within projects and repositories. Searches both file contents and filenames. Supports filtering by project, repository, and query optimization. |
| get_file_contentA | Retrieve the content of a specific file from a Bitbucket repository with pagination support. Use this to read source code, configuration files, documentation, or any text-based files. For large files, use start parameter to paginate through content. |
| browse_repositoryA | Browse and list files and directories in a Bitbucket repository. Use this to explore repository structure, find files, or navigate directories. |
| list_pull_requestsA | List pull requests in a Bitbucket repository filtered by state, author, or direction. Use this to find open PRs, see your pending reviews, discover PRs awaiting merge, or get an overview of PR activity in a repository. |
| list_branchesA | List branches in a Bitbucket repository. Shows branch names, latest commits, and identifies the default branch. Use this to explore available branches, find branch names for checkout or PR creation, or verify branch existence before operations. |
| list_commitsA | List commits in a Bitbucket repository, optionally filtered by branch and/or author. Use this to review commit history, find specific changes, track contributions, or understand the evolution of a branch. |
| delete_branchA | Delete a branch from a Bitbucket repository. Cannot delete the default branch. Use this for cleanup after merging pull requests or removing stale feature branches. |
| approve_pull_requestA | Approve a pull request as the current user. Use this to signal that you have reviewed the changes and they are ready to be merged. The approval is recorded with your user identity. |
| unapprove_pull_requestA | Remove your approval from a pull request. Use this to retract a previous approval if you discover issues after approving or if the PR has changed since your review. |
| edit_commentA | Edit an existing comment on a pull request. Use this to fix typos, update information, or reformat comments. Requires the comment version for optimistic locking. |
| delete_commentA | Delete a comment from a pull request. Requires the comment version for optimistic locking. |
| publish_reviewA | Publish all pending (draft) review comments on a pull request at once. Optionally set your review status to APPROVED or NEEDS_WORK, and add an overview comment. This is the batch operation that transitions all PENDING comments to published. |
| get_code_insightsA | Retrieve Code Insights reports (SonarQube, security scans, etc.) and their annotations for a pull request. Use this to check quality gates, code coverage, security findings, and other CI/CD analysis results. |
| get_dashboard_pull_requestsA | List pull requests across all repositories for the authenticated user. Use this to see PRs you need to review, PRs you authored, or PRs you are participating in. Returns PRs from all projects and repositories without needing to specify each one. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Most tools have clearly distinct purposes (e.g., add_comment vs add_comment_inline, approve vs unapprove). Some overlap exists between get_activities, get_comments, and get_reviews, but descriptions clarify the granularity differences. Only minor confusion is possible when choosing between activity-related tools.
Nearly all tools follow a consistent verb_noun snake_case pattern (get_pull_request, list_branches, create_pull_request, delete_comment). The only deviation is 'search', which lacks a noun, but it remains readable and predictable overall.
With 27 tools, the set is on the heavy side, exceeding the typical 3-15 range. While each tool serves a distinct purpose, the volume feels borderline for a single MCP server and could overwhelm agents without careful grouping.
The surface covers pull request lifecycle, comments, reviews, branches, commits, and file reading well. However, notable gaps exist: no branch creation, no repository creation/deletion, and no file write or commit creation operations, which limits end-to-end contribution workflows.