Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Bitbucket in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work in Bitbucket Cloud: browse repositories, branches, commits and files, review pull requests with diffs and comments, approve, comment and merge after you confirm, and check Bitbucket Pipelines runs, step logs and deployments.
Try asking
Example prompts for Bitbucket
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Bitbucket, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Bitbucket
Let your AI work in Bitbucket Cloud: browse repositories, branches, commits and files, review pull requests with diffs and comments, approve, comment and merge after you confirm, and check Bitbucket Pipelines runs, step logs and deployments.
Setup
- Sign in at
https://id.atlassian.com/manage-profile/security/api-tokens(Security → API tokens in your Atlassian account) and click Create API token with scopes. - Give the token a name (for example AnythingMCP), pick an expiry date and choose the app Bitbucket.
- Tick the read scopes
read:user:bitbucket,read:workspace:bitbucket,read:repository:bitbucket,read:pullrequest:bitbucketandread:pipeline:bitbucket. Addwrite:pullrequest:bitbucketto create, comment on, approve and merge pull requests, andwrite:pipeline:bitbucketto start pipelines. - Copy the token (it starts with
ATATT) and paste it intoBITBUCKET_API_TOKENwithout the word Bearer, then install the connector. The connector sends it as a Bearer token, so your Atlassian email is not needed. - Check the setup with
bitbucket_get_current_user, thenbitbucket_list_workspaces.
App passwords no longer work: Bitbucket stopped creating them on 9 September 2025 and switched off the remaining ones on 28 July 2026. Use an API token with scopes as above. A repository, project or workspace access token (Repository settings → Access tokens; project and workspace tokens need a Premium plan) also works in the same field, but it acts as a bot limited to that repository, project or workspace: bitbucket_get_current_user and bitbucket_list_workspaces may be refused, and anything outside its reach answers 403 or 404.
Who sees what: the AI acts as the user behind the token and sees and changes exactly what that user and the ticked scopes allow. Without the two write scopes the token stays read-only.
Changes real branches and reaches your team, so the AI asks first: bitbucket_create_pull_request opens a pull request in your name (the source branch must already be pushed). bitbucket_add_pull_request_comment posts a general comment, a reply or a code comment on a line, which everyone on the pull request sees and may get notified about. bitbucket_approve_pull_request adds your approval, which counts toward merge checks. bitbucket_merge_pull_request changes the destination branch for everyone, may start deployment pipelines and, with close_source_branch, deletes the source branch; the AI checks state and approvals with bitbucket_get_pull_request first. bitbucket_run_pipeline uses build minutes and runs whatever the pipeline does, deploy steps included. Before each of them the AI tells you the repository, the branches, the pull request and the merge strategy or pipeline, and waits for your yes. Nothing is switched off at install, and no tool deletes repositories, branches or comments, apart from the source branch on a merge with close_source_branch.
How to work: bitbucket_list_workspaces gives the workspace slug and bitbucket_list_repositories the repository slug; both are in the address bitbucket.org/<workspace>/<repo>. Code: bitbucket_get_repository (main branch), bitbucket_list_branches, bitbucket_list_commits, bitbucket_get_commit and bitbucket_get_file (a file's text or a folder listing). Reviews: bitbucket_list_pull_requests, bitbucket_get_pull_request, bitbucket_get_pull_request_diffstat for the size of the change, then bitbucket_get_pull_request_diff, bitbucket_list_pull_request_commits and bitbucket_list_pull_request_comments. Deployments: bitbucket_list_environments and bitbucket_list_deployments.
Pipelines: bitbucket_list_pipelines, then bitbucket_get_pipeline, bitbucket_list_pipeline_steps and bitbucket_get_pipeline_step_log for the failing step. Pipeline and step uuids include curly braces; the AI passes them exactly as returned. Step logs over 200 KB are cut and keep the beginning, while the error is usually at the end, so for long logs the AI reads the end with a range such as bytes=-150000 (the last 150 KB). Diffs and files are also cut at 200 KB.
Lists and filters: a list answer carries next when there is another page; the AI calls again with page (a number for most lists, an opaque token for commits), and pagelen sets the page size. q takes Bitbucket's query language, for example name ~ "api" or destination.branch.name = "main".
No issues or wikis: Bitbucket removed its built-in issue tracker and wiki on 20 August 2026 (the API answers 410), so this connector has no tools for them. For issues, add a Jira connector.
Common errors: 401: the token is wrong, expired or revoked, or it is an old app password; create an API token with scopes. 403: a scope is missing (the message names it) or the user lacks permission. 404: the workspace, repository or item does not exist, or the token cannot see it. 429: the hourly rate limit is reached; wait and retry.
The connector does not cover creating or deleting repositories and branches, editing files or pushing commits, declining pull requests, stopping pipelines, repository variables and settings, or administration.
Prerequisites: BITBUCKET_API_TOKEN
Install the connector locally
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Open http://localhost:3000/connectors/store, pick Bitbucket and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
bitbucket_get_current_user | Get the Bitbucket account the token belongs to: display name, nickname, uuid, account_id and profile link |
bitbucket_list_workspaces | List the workspaces the token's user belongs to: slug, name, uuid and whether the user is an administrator there |
bitbucket_list_repositories | List repositories in a workspace, most recently updated first: full_name, slug, description, private flag, language, main branch, project… |
bitbucket_get_repository | Get one repository: description, main branch, project, privacy, language, size, fork parent, clone URLs and web link |
bitbucket_list_branches | List branches of a repository with the latest commit of each (hash, date, message, author) |
bitbucket_list_commits | List commits newest first: hash, date, message, author and parents |
bitbucket_get_commit | Get one commit: full hash, date, full message, author, parents and web link |
bitbucket_get_file | Read a file or list a folder at a commit or branch |
bitbucket_list_pull_requests | List pull requests of a repository, open ones by default: id, title, state, draft, author, source and destination branch, comment and task… |
bitbucket_get_pull_request | Get one pull request: title, description, state, branches and commits, merge commit, reviewers and participants with their approval state… |
bitbucket_get_pull_request_diffstat | List the files a pull request changes: status (added, removed, modified, renamed), old and new path, lines added and removed |
bitbucket_get_pull_request_diff | Read the unified diff of a pull request as plain text |
bitbucket_list_pull_request_commits | List the commits a pull request contains, newest first: hash, date, message and author |
bitbucket_list_pull_request_comments | List comments on a pull request, oldest first: id, author, text, inline position (file and line) for code comments, parent id for replies… |
bitbucket_create_pull_request | Open a pull request from a source branch into a destination branch of the same repository, as the token's user |
bitbucket_add_pull_request_comment | Post a comment on a pull request as the token's user: a general comment, a reply (parent) or a code comment on a line (inline) |
bitbucket_approve_pull_request | Approve a pull request as the token's user |
bitbucket_merge_pull_request | Merge an open pull request into its destination branch |
bitbucket_list_pipelines | List Bitbucket Pipelines runs of a repository, newest first: uuid, build number, state (PENDING, IN_PROGRESS, COMPLETED), result… |
bitbucket_get_pipeline | Get one pipeline run: state, result, branch or tag, commit, custom pipeline name, trigger, creator, start, end and duration |
bitbucket_list_pipeline_steps | List the steps of a pipeline run: uuid, name, state, result, start, end, duration, build image name and script command names |
bitbucket_get_pipeline_step_log | Read the log of one pipeline step as plain text |
bitbucket_run_pipeline | Start a Bitbucket Pipelines run on a branch or tag, optionally a custom pipeline from bitbucket-pipelines.yml |
bitbucket_list_environments | List the deployment environments of a repository (for example Test, Staging, Production): uuid, name, type, rank and lock state |
bitbucket_list_deployments | List deployments of a repository: environment uuid, state (UNDEPLOYED, IN_PROGRESS, COMPLETED), status (SUCCESSFUL, FAILED, STOPPED), who… |
Example prompts
- "Which pull requests in acme/web-app are still open, who opened them, and which ones have no approval yet?"
- "Review pull request #42 in web-app: summarise the changed files, flag risky changes and list the open review comments."
- "Why did the last pipeline on main fail? Read the log of the failing step and show me the error."
- "Merge pull request #42 into main with squash once it has two approvals. Show me the branches and the merge strategy and ask me before you merge."
- "What was last deployed to Production, when, by whom, and which commit did it release?"
Next steps
Was this guide helpful?