bucket-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BITBUCKET_MCP_MODE | No | Permission mode: `readonly` (no write or destructive tools), `draft` (default, can create draft PRs and pending comments/tasks), or `readwrite` (full access including merge/decline/delete). | draft |
| BITBUCKET_API_TOKEN | Yes | Your Bitbucket API token. Required for authenticating with the Bitbucket Cloud API. | |
| BITBUCKET_MCP_READONLY | No | Alias for `BITBUCKET_MCP_MODE=readonly`. Set to `1` to enable readonly mode; still supported for backwards compatibility. | |
| BITBUCKET_DEFAULT_WORKSPACE | No | Optional default workspace slug. When set, the `workspace` argument becomes optional for tools. |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bitbucket_repository_listB | List repositories in a workspace. |
| bitbucket_repository_getB | Get details of one repository. |
| bitbucket_pull_request_listB | List pull requests in a repository, optionally filtered by state. |
| bitbucket_pull_request_getA | Get full details of one pull request. |
| bitbucket_pull_request_createA | Create a new pull request as a draft - visible to teammates, but marked not-yet-ready-for-review until someone marks it ready in Bitbucket. |
| bitbucket_pull_request_merge_statusA | Check the status of a merge that bitbucket_pull_request_merge reported as still in progress. |
| bitbucket_pull_request_diffstatA | Get the per-file change summary (files touched, lines +/-) for a pull request. Cheapest way to see 'what changed' - prefer this over the full diff unless file contents are actually needed. |
| bitbucket_pull_request_diffA | Get the full unified diff for a pull request, optionally scoped to one file. Prefer diffstat first; use this only when file contents are actually needed. |
| bitbucket_pull_request_comment_createA | Add a comment to a pull request as pending - invisible to everyone but you until you submit your review in Bitbucket's own UI. |
| bitbucket_pull_request_comment_listB | List comments on a pull request. |
| bitbucket_pull_request_list_statusesA | List build/CI statuses on a pull request's current head commit - use to check whether a PR is safe to merge. |
| bitbucket_pull_request_task_createA | Add a checklist task to a pull request as pending - invisible to everyone but you until you submit your review in Bitbucket's own UI. |
| bitbucket_pull_request_task_listA | List a pull request's checklist tasks (what PullRequestSchema.task_count counts) - distinct from comments. |
| bitbucket_commit_listB | List commits on a branch/ref. |
| bitbucket_commit_getC | Get one commit's details. |
| bitbucket_commit_diffstatA | Get the per-file change summary for a commit or commit range (e.g. 'base..head'). Prefer over the full diff unless file contents are actually needed. |
| bitbucket_commit_diffA | Get the full unified diff for a commit or commit range, optionally scoped to one file. Prefer diffstat first. |
| bitbucket_commit_list_statusesC | List build/CI statuses attached to a commit. |
| bitbucket_branch_listB | List branches in a repository. |
| bitbucket_tag_listC | List tags in a repository. |
| bitbucket_code_searchB | Search code across a workspace's repositories. |
| bitbucket_source_getA | Read a file's contents or list a directory at a given revision. Omit |
| bitbucket_whoamiA | Get the identity (display name, uuid) of the currently authenticated Bitbucket account. |
| bitbucket_workspace_listA | List every Bitbucket workspace the authenticated account can access. Use this to discover a workspace slug before calling any other tool, or to find one other than the configured default. |
| bitbucket_workspace_member_listA | List members of a workspace, with their account uuid. Use this to resolve a teammate's name to the uuid bitbucket_pull_request_create's |
| bitbucket_pull_request_list_by_userA | List a user's pull requests across every repository in a workspace - use bitbucket_whoami first to list your own. |
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 26 tools
Tools are organized by resource, and the diff/diffstat split is clearly explained, so the most similar pairs remain distinguishable. A few overlaps like PR-level vs commit-level statuses could cause an agent to pick the wrong variant, but the descriptions generally prevent real ambiguity.
The bitbucket_<resource>_<action> pattern is used consistently, giving the set a uniform and predictable shape. Minor outliers like bitbucket_whoami and bare-noun operations such as diffstat or merge_status keep it from being a perfect pattern.
With 26 tools, the surface crosses the 25-tool threshold and includes several near-duplicate pairs for diff/diffstat and statuses. A more curated set would be easier to navigate, especially since one tool, merge_status, lacks its corresponding merge action.
The pull request workflow is incomplete: merge_status references a merge tool that is not present, and pull_request_create only creates drafts with no way to mark them ready, update, or merge. Repositories, branches, and tags are also read-only, leaving common lifecycle actions out of reach.