An MCP (Model Context Protocol) interface for Bitbucket.
bitbucket_add_pr_comment- add a comment to a pull requestbitbucket_approve_pr- approve a pull requestbitbucket_create_pr- create a pull requestbitbucket_create_pr_task- create a task on a pull requestbitbucket_get_file_content- get the content of a file in a pull requestbitbucket_get_pr_diff- get the diff of a pull requestbitbucket_get_pr_diffstat- get the diffstat of a pull requestbitbucket_list_pr_tasks- list tasks on a pull requestbitbucket_merge_pr- merge a pull requestbitbucket_read_pr- read a pull requestbitbucket_request_pr_changes- request changes on a pull requestbitbucket_update_pr- update a pull requestbitbucket_update_pr_task- update a task on a pull request
- Streamable HTTP (default)
- SSE
- STDIO
See detailed version here
The tool is designed to be running locally on developer's machine. In order to run the tool you need to configure your Atlassian accounts first. For bitbucket you need to create a personal access token that can read and write to the repository.
Example accounts-config.json file:
{
"accounts": [
{
"name": "user",
"default": true,
"bitbucket": { "type": "Basic", "value": "ATBBxxxxxxxxxxxxxxxx" }
}
]
} You may optionally configure multiple accounts for different roles or different workspaces, for example you may have user and bot accounts. See quick-start/atlassian-accounts-stub.json for more details.
More on Atlassian tokens:
- Personal API Tokens (keep in mind to create a basic token for API use). When using personal access tokens, all requests will be made on behalf of the user.
- Bitbucket Access Tokens - good for bots and other automation tools.
Start docker container pointing on the atlassian-accounts.json file:
docker run -d --name atlacp-mcp \
--restart=always \
-p 8080:8080 \
-v $(pwd)/atlassian-accounts.json:/app/atlassian-accounts.json \
ghcr.io/gemyago/atlacp-mcp:latest \
-a /app/atlassian-accounts.json \
httpCursor MCP config (.cursor/mcp.json) section may look like this:
{
"mcpServers": {
"Atlassian MCP": {
"url": "http://localhost:8080"
}
}
}Once configured, try to send a prompt to the editor, similar to below:
Check pull request 12345 from bitbucket repo owner/repo-name
You should see a response with PR details.
Root url will serve Streamable HTTP transport. You can use SSE transport by appending /sse to the root url. Example:
http://localhost:8080- Streamable HTTP transporthttp://localhost:8080/sse- SSE transport
STDIO is supported as well. Use docker run with stdio subcommand instead of http to use it.
MIT