bitbucket-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | HTTP server bind address | 0.0.0.0 |
| MCP_PORT | No | HTTP server port (only when MCP_TRANSPORT=http) | 3000 |
| NODE_ENV | No | Environment: development, production, test | production |
| LOG_LEVEL | No | Log level: fatal, error, warn, info, debug, trace | info |
| MCP_TRANSPORT | No | Transport type: stdio (local) or http (remote) | stdio |
| BITBUCKET_API_URL | No | API base URL (override for testing) | https://api.bitbucket.org/2.0 |
| BITBUCKET_USERNAME | No | Bitbucket account email (Basic auth, legacy). Required if BITBUCKET_API_TOKEN is not set. | |
| BITBUCKET_API_TOKEN | No | API token (Bearer auth, recommended). If provided, takes priority over username/password. | |
| BITBUCKET_WORKSPACE | Yes | Workspace slug | |
| BITBUCKET_APP_PASSWORD | No | App password (Basic auth, legacy). Required if BITBUCKET_API_TOKEN is not set. |
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 |
|---|---|
| list_repositoriesB | List repositories in the workspace |
| list_projectsB | List all projects in the workspace |
| list_branchesB | List branches in a repository |
| list_tagsA | List tags in a repository |
| get_branch_commitsA | Get commit history and details for a specific branch |
| clone_repositoryB | Clone a repository using SSH (default) or HTTPS |
| create_branchB | Create a new branch in a repository |
| create_pull_requestB | Create a new pull request |
| list_pull_requestsC | List pull requests in a repository |
| get_pull_requestC | Get details of a specific pull request |
| approve_pull_requestB | Approve a pull request |
| decline_pull_requestC | Decline a pull request |
| merge_pull_requestC | Merge a pull request |
| get_pull_request_commentsB | Get all comments from a pull request |
| add_pull_request_commentB | Add a comment to a pull request |
| list_deploymentsB | List deployments for a repository |
| get_deploymentA | Get details of a specific deployment |
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 17 tools
Every tool targets a distinct resource and action. The list tools (tags, repositories, projects, branches, PRs, deployments) are clearly separated by resource, and PR tools cover distinct lifecycle actions (create, get, approve, decline, merge, comments). No two tools appear to overlap.
All tool names follow a consistent verb_noun pattern using snake_case (list_*, get_*, create_*, clone_, approve_, decline_, merge_, add_). There is no mixing of casing or verb style, making the set predictable.
17 tools is slightly above the ideal 3-15 range, but the breadth is justified by covering repository browsing, branches, pull requests, and deployments. The count is reasonable and not bloated; every tool serves a distinct purpose.
The pull request lifecycle is well-covered (create, list, get, approve, decline, merge, comments), and browsing tools are solid. However, there are no repository creation/update/delete operations, and no update endpoint for pull requests or branch deletion. These are notable gaps for a Bitbucket server.