bitbucket-tool-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -0
- package/dist/index.js +14274 -0
- package/package.json +28 -0
package/README.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# bitbucket-tool-mcp
|
|
2
|
+
|
|
3
|
+
MCP server for [Bitbucket Cloud](https://bitbucket.org). Gives AI assistants (Claude, Cursor, etc.) direct access to pull requests, pipelines, branches, commits, and code review workflows.
|
|
4
|
+
|
|
5
|
+
## Tools
|
|
6
|
+
|
|
7
|
+
| Tool | Description |
|
|
8
|
+
|------|-------------|
|
|
9
|
+
| `list_repositories` | List repositories in a workspace |
|
|
10
|
+
| `list_branches` | List branches in a repository |
|
|
11
|
+
| `get_branch` | Get branch details and latest commit |
|
|
12
|
+
| `create_branch` | Create a branch from a commit or branch |
|
|
13
|
+
| `delete_branch` | Delete a branch |
|
|
14
|
+
| `list_pull_requests` | List PRs, filterable by state |
|
|
15
|
+
| `get_pull_request` | Get PR details (title, branches, author, status) |
|
|
16
|
+
| `create_pull_request` | Create a new PR |
|
|
17
|
+
| `update_pull_request` | Update PR title, description, or destination |
|
|
18
|
+
| `decline_pull_request` | Decline (close) a PR |
|
|
19
|
+
| `get_pull_request_diff` | Get raw unified diff for a PR |
|
|
20
|
+
| `get_pull_request_comments` | Get all comments including inline code review |
|
|
21
|
+
| `add_pull_request_comment` | Add a comment to a PR |
|
|
22
|
+
| `list_pipelines` | List recent pipeline runs |
|
|
23
|
+
| `get_pipeline` | Get pipeline details and steps |
|
|
24
|
+
| `get_pipeline_step_log` | Get raw log output for a pipeline step |
|
|
25
|
+
| `trigger_pipeline` | Trigger a pipeline on a branch or tag |
|
|
26
|
+
| `list_commits` | List recent commits |
|
|
27
|
+
| `get_commit` | Get commit details |
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
### Claude Desktop / Claude Code
|
|
32
|
+
|
|
33
|
+
Add to your MCP config (`~/.claude.json` or Claude Desktop settings):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"bitbucket": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["-y", "bitbucket-tool-mcp"],
|
|
41
|
+
"env": {
|
|
42
|
+
"BITBUCKET_TOKEN": "your-api-token",
|
|
43
|
+
"BITBUCKET_WORKSPACE": "your-workspace"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Cursor
|
|
51
|
+
|
|
52
|
+
Add to `.cursor/mcp.json` in your project root:
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"mcpServers": {
|
|
57
|
+
"bitbucket": {
|
|
58
|
+
"command": "npx",
|
|
59
|
+
"args": ["-y", "bitbucket-tool-mcp"],
|
|
60
|
+
"env": {
|
|
61
|
+
"BITBUCKET_TOKEN": "your-api-token",
|
|
62
|
+
"BITBUCKET_WORKSPACE": "your-workspace"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Other MCP clients
|
|
70
|
+
|
|
71
|
+
Any MCP client that supports stdio transport works. Run the server directly:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
BITBUCKET_TOKEN=your-token npx bitbucket-tool-mcp
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Authentication
|
|
78
|
+
|
|
79
|
+
### API Token (recommended)
|
|
80
|
+
|
|
81
|
+
Set `BITBUCKET_TOKEN` to a [Bitbucket API token](https://bitbucket.org/account/settings/app-passwords/) or [workspace access token](https://bitbucket.org/account/settings/). The token needs read/write access to repositories, pull requests, and pipelines depending on which tools you use.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
export BITBUCKET_TOKEN="your-api-token"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### OAuth 2.0
|
|
88
|
+
|
|
89
|
+
For OAuth flows, set both client ID and secret. Create an OAuth consumer in your Bitbucket workspace settings under **OAuth consumers**.
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
export BITBUCKET_OAUTH_CLIENT_ID="your-client-id"
|
|
93
|
+
export BITBUCKET_OAUTH_CLIENT_SECRET="your-client-secret"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Configuration
|
|
97
|
+
|
|
98
|
+
| Environment variable | Required | Description |
|
|
99
|
+
|---------------------|----------|-------------|
|
|
100
|
+
| `BITBUCKET_TOKEN` | Yes* | API token for Bearer auth |
|
|
101
|
+
| `BITBUCKET_OAUTH_CLIENT_ID` | Yes* | OAuth 2.0 client ID |
|
|
102
|
+
| `BITBUCKET_OAUTH_CLIENT_SECRET` | Yes* | OAuth 2.0 client secret |
|
|
103
|
+
| `BITBUCKET_WORKSPACE` | No | Default workspace (can also be passed per tool call) |
|
|
104
|
+
|
|
105
|
+
*One auth method required: either `BITBUCKET_TOKEN` or both OAuth variables.
|
|
106
|
+
|
|
107
|
+
## Local Development
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
git clone https://github.com/riotbyte-com/bitbucket-tool.git
|
|
111
|
+
cd bitbucket-tool
|
|
112
|
+
npm install
|
|
113
|
+
npm run build
|
|
114
|
+
|
|
115
|
+
# Run tests
|
|
116
|
+
npm test
|
|
117
|
+
|
|
118
|
+
# Run with MCP Inspector for interactive testing
|
|
119
|
+
npx @modelcontextprotocol/inspector node packages/mcp-server/dist/index.js
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT
|