Go-based Bitbucket Cloud CLI and MCP server for managing repositories, pull requests, pipelines, issues, and source code.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Bbkt.
manage_workspacesβ
manage_repositoriesrepository
manage_refsrepository
manage_commitsrepository
manage_sourcerepository
manage_pull_requestspullrequest
A complete command-line interface and Model Context Protocol (MCP) server written in Go that provides programmatic integration with Bitbucket Cloud workspaces and repositories.
bbkt mcp) for AI agents (Claude Desktop, Cursor, etc.)..git/config, so bbkt prs list Just Works inside a Bitbucket repo.--profile or BBKT_PROFILE; auto-selects the right profile based on your git config email.Installs the latest release binary for your OS/arch from GitHub Releases.
Fish users on --user: run fish_add_path ~/.local/bin once if it isn't already on $PATH.
Download a prebuilt binary for your OS/arch directly from the Releases page (Linux/macOS/Windows, amd64 + arm64).
Requires Go 1.26+.
For OAuth instead of an API token:
bbkt stores credentials at ~/.config/bbkt/credentials.json and supports multiple profiles.
Important: Bitbucket Cloud REST API requires scoped API tokens since the September 2025 phase-2 of app-password deprecation. At id.atlassian.com/manage-profile/security/api-tokens, use the "Create API token with scopes" button β not plain "Create API token". Unscoped tokens authenticate to Atlassian but Bitbucket rejects them; bbkt will detect this and point you here.
Recommended scope set for full read/write:
Register an OAuth consumer in your Bitbucket workspace settings, then:
bbkt opens a browser, captures the callback on http://localhost:8976, exchanges the code for tokens, and stores them. Access tokens auto-refresh on expiry. To override the callback port (must match your registered redirect_uri):
When BBKT_PROFILE is unset, bbkt tries to auto-select a profile whose accessible workspaces match your git config email; otherwise it falls back to active_profile.
Setting any of these env vars bypasses the stored profile entirely:
Global flags (all commands): --json raw JSON output, --profile <name> profile override.
Most commands prompt interactively (via huh) when required arguments are missing. Run bbkt <command> --help for full flag details.
bbkt mcp launches a Model Context Protocol server for AI agents. Two transports:
Add to your MCP client config:
By default the server reads credentials from ~/.config/bbkt/credentials.json (the profile set up via bbkt auth). To override per-client:
This serves the MCP Streamable Transport (SSE-based) on the given port.
The MCP server calls Bitbucket's /user endpoint at startup to introspect your token's granted scopes, then silently drops any tool whose required scope is missing. This prevents the AI from confidently calling, say, manage_pipelines (pipeline scope) on a read-only token and getting a 403 it can't recover from.
To explicitly deny tools even when scopes allow them:
To skip credential loading entirely (tools will return auth-required errors when invoked β useful for testing the transport):
| Variable | Purpose | Required |
|---|---|---|
BITBUCKET_USERNAME | Atlassian email (despite the legacy name) β used with BITBUCKET_API_TOKEN | Only for env-var API-token auth |
BITBUCKET_API_TOKEN | Atlassian scoped API token | Only for env-var API-token auth |
BITBUCKET_ACCESS_TOKEN | OAuth 2.0 bearer token (overrides stored profile) | Only for env-var OAuth |
BITBUCKET_OAUTH_CLIENT_ID | OAuth consumer Key | Only for bbkt auth --oauth |
BITBUCKET_OAUTH_CLIENT_SECRET | OAuth consumer Secret | Only for bbkt auth --oauth |
BBKT_PROFILE | Profile name override (one-shot) | No |
BBKT_OAUTH_CALLBACK_PORT | Local callback port for OAuth flow (default 8976) | No |
BITBUCKET_DISABLED_TOOLS | Comma-separated MCP tools to disable | No |
When BITBUCKET_ACCESS_TOKEN or (BITBUCKET_USERNAME + BITBUCKET_API_TOKEN) is set, the stored profile is bypassed entirely.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/zach-snell-bbkt)<a href="https://allmcps.com/mcp/zach-snell-bbkt"><img src="https://allmcps.com/api/badge/zach-snell-bbkt?style=directory" alt="Bbkt on AllMCPs" /></a>