Transform how you work with Bitbucket by connecting Claude, Cursor AI, and other AI assistants directly to your repositories, pull requests, and code. Get instant insights, automate code reviews, and streamline your development workflow. - Ask AI about your code: "What's the latest commit in my main repository?" - Get PR insights: "Show me all open pull requests that need review" - Search your cod
Add this skill
npx mdskills install aashari/mcp-server-atlassian-bitbucketComprehensive MCP server with well-documented API tools, clear auth setup, and token optimization features
1# Connect AI to Your Bitbucket Repositories23Transform how you work with Bitbucket by connecting Claude, Cursor AI, and other AI assistants directly to your repositories, pull requests, and code. Get instant insights, automate code reviews, and streamline your development workflow.45[](https://www.npmjs.com/package/@aashari/mcp-server-atlassian-bitbucket)6[](https://github.com/aashari/mcp-server-atlassian-bitbucket/blob/main/LICENSE)78## What You Can Do910- **Ask AI about your code**: "What's the latest commit in my main repository?"11- **Get PR insights**: "Show me all open pull requests that need review"12- **Search your codebase**: "Find all JavaScript files that use the authentication function"13- **Review code changes**: "Compare the differences between my feature branch and main"14- **Manage pull requests**: "Create a PR for my new-feature branch"15- **Automate workflows**: "Add a comment to PR #123 with the test results"1617## Perfect For1819- **Developers** who want AI assistance with code reviews and repository management20- **Team Leads** needing quick insights into project status and pull request activity21- **DevOps Engineers** automating repository workflows and branch management22- **Anyone** who wants to interact with Bitbucket using natural language2324## Requirements2526- **Node.js** 18.0.0 or higher27- **Bitbucket Cloud** account (not Bitbucket Server/Data Center)28- **Authentication credentials**: Scoped API Token (recommended) or App Password (legacy)2930## Quick Start3132Get up and running in 2 minutes:3334### 1. Get Your Bitbucket Credentials3536> **IMPORTANT**: Bitbucket App Passwords are being deprecated and will be removed by **June 2026**. We recommend using **Scoped API Tokens** for new setups.3738#### Option A: Scoped API Token (Recommended - Future-Proof)3940**Bitbucket is deprecating app passwords**. Use the new scoped API tokens instead:41421. Go to [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)432. Click **"Create API token with scopes"**443. Select **"Bitbucket"** as the product454. Choose the appropriate scopes:46 - **For read-only access**: `repository`, `workspace`47 - **For full functionality**: `repository`, `workspace`, `pullrequest`485. Copy the generated token (starts with `ATATT`)496. Use with your Atlassian email as the username5051#### Option B: App Password (Legacy - Will be deprecated)5253Generate a Bitbucket App Password (legacy method):541. Go to [Bitbucket App Passwords](https://bitbucket.org/account/settings/app-passwords/)552. Click "Create app password"563. Give it a name like "AI Assistant"574. Select these permissions:58 - **Workspaces**: Read59 - **Repositories**: Read (and Write if you want AI to create PRs/comments)60 - **Pull Requests**: Read (and Write for PR management)6162### 2. Try It Instantly6364```bash65# Set your credentials (choose one method)6667# Method 1: Scoped API Token (recommended - future-proof)68export ATLASSIAN_USER_EMAIL="your.email@company.com"69export ATLASSIAN_API_TOKEN="your_scoped_api_token" # Token starting with ATATT7071# OR Method 2: Legacy App Password (will be deprecated June 2026)72export ATLASSIAN_BITBUCKET_USERNAME="your_username"73export ATLASSIAN_BITBUCKET_APP_PASSWORD="your_app_password"7475# List your workspaces76npx -y @aashari/mcp-server-atlassian-bitbucket get --path "/workspaces"7778# List repositories in a workspace79npx -y @aashari/mcp-server-atlassian-bitbucket get --path "/repositories/your-workspace"8081# Get pull requests for a repository82npx -y @aashari/mcp-server-atlassian-bitbucket get --path "/repositories/your-workspace/your-repo/pullrequests"8384# Get repository details with JMESPath filtering85npx -y @aashari/mcp-server-atlassian-bitbucket get --path "/repositories/your-workspace/your-repo" --jq "{name: name, language: language}"86```8788## Connect to AI Assistants8990### For Claude Desktop Users9192Add this to your Claude configuration file (`~/.claude/claude_desktop_config.json`):9394**Option 1: Scoped API Token (recommended - future-proof)**95```json96{97 "mcpServers": {98 "bitbucket": {99 "command": "npx",100 "args": ["-y", "@aashari/mcp-server-atlassian-bitbucket"],101 "env": {102 "ATLASSIAN_USER_EMAIL": "your.email@company.com",103 "ATLASSIAN_API_TOKEN": "your_scoped_api_token"104 }105 }106 }107}108```109110**Option 2: Legacy App Password (will be deprecated June 2026)**111```json112{113 "mcpServers": {114 "bitbucket": {115 "command": "npx",116 "args": ["-y", "@aashari/mcp-server-atlassian-bitbucket"],117 "env": {118 "ATLASSIAN_BITBUCKET_USERNAME": "your_username",119 "ATLASSIAN_BITBUCKET_APP_PASSWORD": "your_app_password"120 }121 }122 }123}124```125126Restart Claude Desktop, and you'll see the bitbucket server in the status bar.127128### For Other AI Assistants129130Most AI assistants support MCP. You can either:131132**Option 1: Use npx (recommended - always latest version):**133Configure your AI assistant to run: `npx -y @aashari/mcp-server-atlassian-bitbucket`134135**Option 2: Install globally:**136```bash137npm install -g @aashari/mcp-server-atlassian-bitbucket138```139140Then configure your AI assistant to use the MCP server with STDIO transport.141142**Supported AI assistants:**143- Claude Desktop (official support)144- Cursor AI145- Continue.dev146- Cline147- Any MCP-compatible client148149### Alternative: Configuration File150151Create `~/.mcp/configs.json` for system-wide configuration:152153**Option 1: Scoped API Token (recommended - future-proof)**154```json155{156 "bitbucket": {157 "environments": {158 "ATLASSIAN_USER_EMAIL": "your.email@company.com",159 "ATLASSIAN_API_TOKEN": "your_scoped_api_token",160 "BITBUCKET_DEFAULT_WORKSPACE": "your_main_workspace"161 }162 }163}164```165166**Option 2: Legacy App Password (will be deprecated June 2026)**167```json168{169 "bitbucket": {170 "environments": {171 "ATLASSIAN_BITBUCKET_USERNAME": "your_username",172 "ATLASSIAN_BITBUCKET_APP_PASSWORD": "your_app_password",173 "BITBUCKET_DEFAULT_WORKSPACE": "your_main_workspace"174 }175 }176}177```178179**Alternative config keys:** The system also accepts `"atlassian-bitbucket"`, `"@aashari/mcp-server-atlassian-bitbucket"`, or `"mcp-server-atlassian-bitbucket"` instead of `"bitbucket"`.180181## Available Tools182183This MCP server provides 6 generic tools that can access any Bitbucket API endpoint:184185| Tool | Description | Parameters |186|------|-------------|------------|187| `bb_get` | GET any Bitbucket API endpoint (read data) | `path`, `queryParams?`, `jq?`, `outputFormat?` |188| `bb_post` | POST to any endpoint (create resources) | `path`, `body`, `queryParams?`, `jq?`, `outputFormat?` |189| `bb_put` | PUT to any endpoint (replace resources) | `path`, `body`, `queryParams?`, `jq?`, `outputFormat?` |190| `bb_patch` | PATCH any endpoint (partial updates) | `path`, `body`, `queryParams?`, `jq?`, `outputFormat?` |191| `bb_delete` | DELETE any endpoint (remove resources) | `path`, `queryParams?`, `jq?`, `outputFormat?` |192| `bb_clone` | Clone a repository locally | `workspaceSlug?`, `repoSlug`, `targetPath` |193194### Tool Parameters195196All API tools support these common parameters:197198- **`path`** (required): API endpoint path starting with `/` (the `/2.0` prefix is added automatically)199- **`queryParams`** (optional): Key-value pairs for query parameters (e.g., `{"pagelen": "25", "page": "2"}`)200- **`jq`** (optional): JMESPath expression to filter/transform the response - **highly recommended** to reduce token costs201- **`outputFormat`** (optional): `"toon"` (default, 30-60% fewer tokens) or `"json"`202- **`body`** (required for POST/PUT/PATCH): Request body as JSON object203204### Common API Paths205206All paths automatically have `/2.0` prepended. Full Bitbucket Cloud REST API 2.0 reference: https://developer.atlassian.com/cloud/bitbucket/rest/207208**Workspaces & Repositories:**209- `/workspaces` - List all workspaces210- `/repositories/{workspace}` - List repos in workspace211- `/repositories/{workspace}/{repo}` - Get repo details212- `/repositories/{workspace}/{repo}/refs/branches` - List branches213- `/repositories/{workspace}/{repo}/refs/branches/{branch_name}` - Get/delete branch214- `/repositories/{workspace}/{repo}/commits` - List commits215- `/repositories/{workspace}/{repo}/commits/{commit}` - Get commit details216- `/repositories/{workspace}/{repo}/src/{commit}/{filepath}` - Get file content217218**Pull Requests:**219- `/repositories/{workspace}/{repo}/pullrequests` - List PRs (GET) or create PR (POST)220- `/repositories/{workspace}/{repo}/pullrequests/{id}` - Get/update/delete PR221- `/repositories/{workspace}/{repo}/pullrequests/{id}/diff` - Get PR diff222- `/repositories/{workspace}/{repo}/pullrequests/{id}/comments` - List/add PR comments223- `/repositories/{workspace}/{repo}/pullrequests/{id}/approve` - Approve PR (POST) or remove approval (DELETE)224- `/repositories/{workspace}/{repo}/pullrequests/{id}/request-changes` - Request changes (POST)225- `/repositories/{workspace}/{repo}/pullrequests/{id}/merge` - Merge PR (POST)226- `/repositories/{workspace}/{repo}/pullrequests/{id}/decline` - Decline PR (POST)227228**Comparisons:**229- `/repositories/{workspace}/{repo}/diff/{source}..{destination}` - Compare branches/commits230231**Other Resources:**232- `/repositories/{workspace}/{repo}/issues` - List/manage issues233- `/repositories/{workspace}/{repo}/downloads` - List/manage downloads234- `/repositories/{workspace}/{repo}/pipelines` - Access Bitbucket Pipelines235- `/repositories/{workspace}/{repo}/deployments` - View deployments236237### TOON Output Format238239**What is TOON?** Token-Oriented Object Notation is a format optimized for LLMs that reduces token consumption by 30-60% compared to JSON. It uses tabular arrays and minimal syntax while preserving all data.240241**Default behavior:** All tools return TOON format by default. You can override this with `outputFormat: "json"` if needed.242243**Example comparison:**244```245JSON (verbose):246{247 "values": [248 {"name": "repo1", "slug": "repo-1"},249 {"name": "repo2", "slug": "repo-2"}250 ]251}252253TOON (efficient):254values:255 name | slug256 repo1 | repo-1257 repo2 | repo-2258```259260Learn more: https://github.com/toon-format/toon261262### JMESPath Filtering263264All tools support optional JMESPath (`jq`) filtering to extract specific data and reduce token costs further:265266**Important:** Always use `jq` to filter responses! Unfiltered API responses can be very large and expensive in terms of tokens.267268```bash269# Get just repository names270npx -y @aashari/mcp-server-atlassian-bitbucket get \271 --path "/repositories/myworkspace" \272 --jq "values[].name"273274# Get PR titles and states (custom object shape)275npx -y @aashari/mcp-server-atlassian-bitbucket get \276 --path "/repositories/myworkspace/myrepo/pullrequests" \277 --jq "values[].{title: title, state: state, author: author.display_name}"278279# Get first result only280npx -y @aashari/mcp-server-atlassian-bitbucket get \281 --path "/repositories/myworkspace" \282 --jq "values[0]"283284# Explore schema with one item first, then filter285npx -y @aashari/mcp-server-atlassian-bitbucket get \286 --path "/workspaces" \287 --query-params '{"pagelen": "1"}'288```289290**Common JMESPath patterns:**291- `values[*].fieldName` - Extract single field from all items292- `values[*].{key1: field1, key2: field2}` - Create custom object shape293- `values[0]` - Get first item only294- `values[:5]` - Get first 5 items295- `values[?state=='OPEN']` - Filter by condition296297Full JMESPath reference: https://jmespath.org298299## Real-World Examples300301### Explore Your Repositories302303Ask your AI assistant:304- *"List all repositories in my main workspace"*305- *"Show me details about the backend-api repository"*306- *"What's the commit history for the feature-auth branch?"*307- *"Get the content of src/config.js from the main branch"*308309### Manage Pull Requests310311Ask your AI assistant:312- *"Show me all open pull requests that need review"*313- *"Get details about pull request #42 including the code changes"*314- *"Create a pull request from feature-login to main branch"*315- *"Add a comment to PR #15 saying the tests passed"*316- *"Approve pull request #33"*317318### Work with Branches and Code319320Ask your AI assistant:321- *"Compare my feature branch with the main branch"*322- *"List all branches in the user-service repository"*323- *"Show me the differences between commits abc123 and def456"*324325## Advanced Usage326327### Cost Optimization Tips3283291. **Always use JMESPath filtering** - Extract only needed fields to minimize token usage3302. **Use pagination wisely** - Set `pagelen` query parameter to limit results (e.g., `{"pagelen": "10"}`)3313. **Explore schema first** - Fetch one item without filters to see available fields, then filter subsequent calls3324. **Leverage TOON format** - Default TOON format saves 30-60% tokens vs JSON3335. **Query parameters for filtering** - Use Bitbucket's `q` parameter for server-side filtering before results are returned334335### Query Parameter Examples336337```bash338# Filter PRs by state339npx -y @aashari/mcp-server-atlassian-bitbucket get \340 --path "/repositories/workspace/repo/pullrequests" \341 --query-params '{"state": "OPEN", "pagelen": "5"}' \342 --jq "values[*].{id: id, title: title}"343344# Search PRs by title345npx -y @aashari/mcp-server-atlassian-bitbucket get \346 --path "/repositories/workspace/repo/pullrequests" \347 --query-params '{"q": "title~\"bug\""}' \348 --jq "values[*].{id: id, title: title}"349350# Filter repositories by role351npx -y @aashari/mcp-server-atlassian-bitbucket get \352 --path "/repositories/workspace" \353 --query-params '{"role": "owner", "pagelen": "10"}'354355# Sort by updated date356npx -y @aashari/mcp-server-atlassian-bitbucket get \357 --path "/repositories/workspace/repo/pullrequests" \358 --query-params '{"sort": "-updated_on"}' \359 --jq "values[*].{id: id, title: title, updated: updated_on}"360```361362### Working with Large Responses363364When dealing with APIs that return large payloads:3653661. **Use sparse fieldsets** - Add `fields` query parameter: `{"fields": "values.name,values.slug"}`3672. **Paginate results** - Use `pagelen` and `page` parameters3683. **Filter at the source** - Use Bitbucket's `q` parameter for server-side filtering3694. **Post-process with JQ** - Further filter the response with JMESPath370371Example combining all techniques:372```bash373npx -y @aashari/mcp-server-atlassian-bitbucket get \374 --path "/repositories/workspace/repo/pullrequests" \375 --query-params '{"state": "OPEN", "pagelen": "10", "fields": "values.id,values.title,values.state"}' \376 --jq "values[*].{id: id, title: title}"377```378379### Best Practices for AI Interactions3803811. **Be specific with paths** - Use exact workspace/repo slugs (case-sensitive)3822. **Test with CLI first** - Verify paths and authentication before using in AI context3833. **Use descriptive JQ filters** - Extract meaningful field names for better AI understanding3844. **Enable DEBUG for troubleshooting** - See exactly what's being sent to Bitbucket API3855. **Check API limits** - Bitbucket Cloud has rate limits; use filtering to reduce calls386387## CLI Commands388389The CLI mirrors the MCP tools for direct terminal access. All commands return JSON output (not TOON - TOON is only for MCP mode).390391### Available Commands392393```bash394# Get help395npx -y @aashari/mcp-server-atlassian-bitbucket --help396397# GET request398npx -y @aashari/mcp-server-atlassian-bitbucket get \399 --path "/workspaces" \400 --jq "values[*].{name: name, slug: slug}"401402# GET with query parameters403npx -y @aashari/mcp-server-atlassian-bitbucket get \404 --path "/repositories/myworkspace/myrepo/pullrequests" \405 --query-params '{"state": "OPEN", "pagelen": "10"}' \406 --jq "values[*].{id: id, title: title}"407408# POST request (create a PR)409npx -y @aashari/mcp-server-atlassian-bitbucket post \410 --path "/repositories/myworkspace/myrepo/pullrequests" \411 --body '{"title": "My PR", "source": {"branch": {"name": "feature"}}, "destination": {"branch": {"name": "main"}}}' \412 --jq "{id: id, title: title}"413414# POST with query parameters415npx -y @aashari/mcp-server-atlassian-bitbucket post \416 --path "/repositories/myworkspace/myrepo/pullrequests/42/comments" \417 --body '{"content": {"raw": "Looks good!"}}' \418 --query-params '{"fields": "id,content"}' \419 --jq "{id: id, content: content.raw}"420421# PUT request (replace resource)422npx -y @aashari/mcp-server-atlassian-bitbucket put \423 --path "/repositories/myworkspace/myrepo" \424 --body '{"description": "Updated description", "is_private": true}'425426# PATCH request (partial update)427npx -y @aashari/mcp-server-atlassian-bitbucket patch \428 --path "/repositories/myworkspace/myrepo/pullrequests/123" \429 --body '{"title": "Updated PR title"}'430431# DELETE request432npx -y @aashari/mcp-server-atlassian-bitbucket delete \433 --path "/repositories/myworkspace/myrepo/refs/branches/old-branch"434435# Clone repository436npx -y @aashari/mcp-server-atlassian-bitbucket clone \437 --workspace-slug myworkspace \438 --repo-slug myrepo \439 --target-path /absolute/path/to/parent/directory440```441442### CLI Options443444**For `get` and `delete` commands:**445- `-p, --path <path>` (required) - API endpoint path446- `-q, --query-params <json>` (optional) - Query parameters as JSON string447- `--jq <expression>` (optional) - JMESPath filter expression448449**For `post`, `put`, and `patch` commands:**450- `-p, --path <path>` (required) - API endpoint path451- `-b, --body <json>` (required) - Request body as JSON string452- `-q, --query-params <json>` (optional) - Query parameters as JSON string453- `--jq <expression>` (optional) - JMESPath filter expression454455**For `clone` command:**456- `--workspace-slug <slug>` (optional) - Workspace slug (uses default if not provided)457- `--repo-slug <slug>` (required) - Repository slug458- `--target-path <path>` (required) - Absolute path to parent directory where repo will be cloned459460## Debugging461462### Enable Debug Mode463464Set the `DEBUG` environment variable to see detailed logging:465466```bash467# For CLI testing468DEBUG=true npx -y @aashari/mcp-server-atlassian-bitbucket get --path "/workspaces"469470# For Claude Desktop - add to config471{472 "mcpServers": {473 "bitbucket": {474 "command": "npx",475 "args": ["-y", "@aashari/mcp-server-atlassian-bitbucket"],476 "env": {477 "DEBUG": "true",478 "ATLASSIAN_USER_EMAIL": "...",479 "ATLASSIAN_API_TOKEN": "..."480 }481 }482 }483}484```485486**Log files:** When running in MCP mode, logs are written to `~/.mcp/data/@aashari-mcp-server-atlassian-bitbucket.[session-id].log`487488### Test with HTTP Mode489490For interactive debugging, run the server in HTTP mode and use the MCP Inspector:491492```bash493# Set credentials first494export ATLASSIAN_USER_EMAIL="your.email@company.com"495export ATLASSIAN_API_TOKEN="your_token"496export DEBUG=true497498# Start HTTP server with MCP Inspector499npx -y @aashari/mcp-server-atlassian-bitbucket500# Then in another terminal:501PORT=3000 npm run mcp:inspect502```503504This opens a visual interface to test tools and see request/response data.505506### Common Issues507508**Server not appearing in Claude Desktop:**5091. Check config file syntax (valid JSON)5102. Restart Claude Desktop completely5113. Check Claude Desktop logs: `~/Library/Logs/Claude/mcp*.log` (macOS)512513**Tools not working:**5141. Enable DEBUG mode to see detailed errors5152. Test with CLI first to isolate MCP vs credentials issues5163. Verify API paths are correct (case-sensitive)517518## Troubleshooting519520### "Authentication failed" or "403 Forbidden"5215221. **Choose the right authentication method**:523 - **Standard Atlassian method** (recommended): Use your Atlassian account email + API token (works with any Atlassian service)524 - **Bitbucket-specific method** (legacy): Use your Bitbucket username + App password (Bitbucket only)5255262. **For Scoped API Tokens** (recommended):527 - Go to [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)528 - Make sure your token is still active and has the right scopes529 - Required scopes: `repository`, `workspace` (add `pullrequest` for PR management)530 - Token should start with `ATATT`5315323. **For Bitbucket App Passwords** (legacy):533 - Go to [Bitbucket App Passwords](https://bitbucket.org/account/settings/app-passwords/)534 - Make sure your app password has the right permissions535 - Remember: App passwords will be deprecated by June 20265365374. **Verify your credentials**:538 ```bash539 # Test credentials with CLI540 export ATLASSIAN_USER_EMAIL="your.email@company.com"541 export ATLASSIAN_API_TOKEN="your_token"542 npx -y @aashari/mcp-server-atlassian-bitbucket get --path "/workspaces"543 ```5445455. **Environment variable naming**:546 - Use `ATLASSIAN_USER_EMAIL` + `ATLASSIAN_API_TOKEN` for scoped tokens547 - Use `ATLASSIAN_BITBUCKET_USERNAME` + `ATLASSIAN_BITBUCKET_APP_PASSWORD` for app passwords548 - Don't use `ATLASSIAN_SITE_NAME` - it's not needed for Bitbucket Cloud549550### "Resource not found" or "404"5515521. **Check the API path**:553 - Paths are case-sensitive554 - Use workspace slug (from URL), not display name555 - Example: If your repo URL is `https://bitbucket.org/myteam/my-repo`, use `myteam` and `my-repo`5565572. **Verify the resource exists**:558 ```bash559 # List workspaces to find the correct slug560 npx -y @aashari/mcp-server-atlassian-bitbucket get --path "/workspaces"561 ```562563### Claude Desktop Integration Issues5645651. **Restart Claude Desktop** after updating the config file5662. **Verify config file location**:567 - macOS: `~/.claude/claude_desktop_config.json`568 - Windows: `%APPDATA%\Claude\claude_desktop_config.json`569570### Getting Help571572If you're still having issues:5731. Run a simple test command to verify everything works5742. Check the [GitHub Issues](https://github.com/aashari/mcp-server-atlassian-bitbucket/issues) for similar problems5753. Create a new issue with your error message and setup details576577## Frequently Asked Questions578579### What permissions do I need?580581**For Scoped API Tokens** (recommended):582- Required scopes: `repository`, `workspace`583- Add `pullrequest` for PR management584585**For Bitbucket App Passwords** (legacy):586- For **read-only access**: Workspaces: Read, Repositories: Read, Pull Requests: Read587- For **full functionality**: Add "Write" permissions for Repositories and Pull Requests588589### Can I use this with private repositories?590591Yes! This works with both public and private repositories. You just need the appropriate permissions through your credentials.592593### What AI assistants does this work with?594595Any AI assistant that supports the Model Context Protocol (MCP):596- Claude Desktop597- Cursor AI598- Continue.dev599- Many others600601### Is my data secure?602603Yes! This tool:604- Runs entirely on your local machine605- Uses your own Bitbucket credentials606- Never sends your data to third parties607- Only accesses what you give it permission to access608609## Migration from v1.x610611Version 2.0 represents a major architectural change. If you're upgrading from v1.x:612613**Before (v1.x) - 20+ specific tools:**614```615bb_ls_workspaces, bb_get_workspace, bb_ls_repos, bb_get_repo,616bb_list_branches, bb_add_branch, bb_get_commit_history, bb_get_file,617bb_ls_prs, bb_get_pr, bb_add_pr, bb_update_pr, bb_approve_pr, bb_reject_pr,618bb_ls_pr_comments, bb_add_pr_comment, bb_diff_branches, bb_diff_commits, bb_search619```620621**After (v2.0+) - 6 generic tools:**622```623bb_get, bb_post, bb_put, bb_patch, bb_delete, bb_clone624```625626### Migration Examples627628| v1.x Tool | v2.0+ Equivalent |629|-----------|------------------|630| `bb_ls_workspaces()` | `bb_get(path: "/workspaces")` |631| `bb_ls_repos(workspace: "myteam")` | `bb_get(path: "/repositories/myteam")` |632| `bb_get_repo(workspace: "myteam", repo: "myrepo")` | `bb_get(path: "/repositories/myteam/myrepo")` |633| `bb_list_branches(workspace: "myteam", repo: "myrepo")` | `bb_get(path: "/repositories/myteam/myrepo/refs/branches")` |634| `bb_add_branch(...)` | `bb_post(path: "/repositories/.../refs/branches", body: {...})` |635| `bb_ls_prs(workspace: "myteam", repo: "myrepo")` | `bb_get(path: "/repositories/myteam/myrepo/pullrequests")` |636| `bb_get_pr(workspace: "myteam", repo: "myrepo", id: 42)` | `bb_get(path: "/repositories/myteam/myrepo/pullrequests/42")` |637| `bb_add_pr(...)` | `bb_post(path: "/repositories/.../pullrequests", body: {...})` |638| `bb_update_pr(...)` | `bb_patch(path: "/repositories/.../pullrequests/42", body: {...})` |639| `bb_approve_pr(workspace: "myteam", repo: "myrepo", id: 42)` | `bb_post(path: "/repositories/myteam/myrepo/pullrequests/42/approve", body: {})` |640| `bb_diff_branches(...)` | `bb_get(path: "/repositories/.../diff/branch1..branch2")` |641642### Key Changes6431. **All tools now require explicit paths** - more verbose but more flexible6442. **Use JMESPath filtering** - extract only what you need to reduce tokens6453. **TOON format by default** - 30-60% fewer tokens (can override with `outputFormat: "json"`)6464. **Direct Bitbucket API access** - any API endpoint works, no code changes needed for new features647648## Support649650Need help? Here's how to get assistance:6516521. **Check the troubleshooting section above** - most common issues are covered there6532. **Visit our GitHub repository** for documentation and examples: [github.com/aashari/mcp-server-atlassian-bitbucket](https://github.com/aashari/mcp-server-atlassian-bitbucket)6543. **Report issues** at [GitHub Issues](https://github.com/aashari/mcp-server-atlassian-bitbucket/issues)6554. **Start a discussion** for feature requests or general questions656657---658659*Made with care for developers who want to bring AI into their Bitbucket workflow.*660
Full transparency — inspect the skill content before installing.