MCP server for Bitbucket Data Center. Provides tools to search code, browse files, manage pull requests, view commits, and explore projects and repositories. Supports Lucene-style code search with filters like ext:java, lang:python, repo:name, project:KEY, and boolean operators.
Four tools with complete schemas and descriptions. Tool names follow verb_noun pattern (bitbucket_get_*, bitbucket_code_search). Descriptions are substantive (100-250 chars), explaining WHAT and WHEN. All parameters have types and descriptions. However, descriptions lack dependency hints and recovery guidance. Output schemas are not explicitly documented. Error handling is minimal, no guidance on retryability or user-fixable vs fatal errors. Parameters accept string IDs without accepting human-friendly alternatives (e.g., file paths, branch names). No pagination guidance in code_search despite potentially large result sets.
Search code across all Bitbucket repositories using the search API. Uses Bitbucket's built-in code search (powered by Elasticsearch). Searches across all repositories the authenticated user has access to. Returns matching files with surrounding code context and line numbers. Requires the Bitbucket Search feature to be enabled on the Data Center instance.
Get full details of a single commit including message, author, and parents.
Get the diff for a specific commit. Returns the unified diff showing all changes introduced by the commit. Optionally restrict to a single file with `path`.
Get commits for a repository. Lists commits in reverse chronological order. Use `since`/`until` to specify a commit range (like git log since..until). Use `path` to only show commits that modified a specific file.
No output schema documentation. Tool descriptions state what is returned (e.g., 'matching files with context') but do not specify field names, types, or structure. LLMs cannot plan downstream calls or extract data reliably.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery hints (e.g., 'If search fails, verify Bitbucket Search is enabled'). Agents cannot self-correct on failure.
Parameters accept only opaque IDs (project_key, repository_slug, commit_id). No support for human-friendly identifiers (branch names, file paths, commit messages). Agents must perform extra lookups before calling these tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | <=2025-11-25 | v2 |
bitbucket_code_search accepts 'limit' (1-100, default 25) but no guidance on pagination strategy or total result count. Large searches may truncate silently. No 'nextStart' or cursor field documented in output.
Tool descriptions lack dependency hints. E.g., bitbucket_get_commit_diff does not state 'Call bitbucket_get_commits first to find a commit_id if you only have a branch name.' This forces agents to discover tool chains through trial and error.