Enterprise MCP Server for Bitbucket
Server has 21 tools with significant definition gaps. Only 6 tools (create_pull_request, create_pull_request_comment, approve_pull_request, unapprove_pull_request, merge_pull_request, trigger_pipeline) have visible input schemas in write-tools.ts. The remaining 15 tools lack visible schema definitions, they appear only as UI labels in ToolsTab.tsx with minimal descriptions. Descriptions are uniformly terse (10-30 chars), well below the 50-200 char baseline for LLM-optimized tools. No parameter descriptions visible for read-only tools. No output schemas documented. Error handling and recovery guidance absent.
Approve a pull request. Example input: { "repo_slug": "demo", "pull_request_id": 42 } Returns: Text confirmation message.
Create a pull request. Example input: { "repo_slug": "demo", "source_branch": "feature", "destination_branch": "main", "title": "Add feature", "description": "Feature description" } Returns: JSON object with pull request details.
Create a comment on a pull request. Example input: { "repo_slug": "demo", "pull_request_id": 42, "content": "Great work!" } Returns: JSON object with comment details.
Get file content from repository
Get pipeline step log
Get pull request details
15 of 21 tools have no visible input schema definitions. Only 6 write tools (create_pull_request, create_pull_request_comment, approve_pull_request, unapprove_pull_request, merge_pull_request, trigger_pipeline) have schemas in write-tools.ts. All read-only tools lack schema, they appear only as UI labels in ToolsTab.tsx.
All tool descriptions are under 30 characters (e.g., 'List repositories', 'Get repository details'). Baseline for LLM-optimized tools is 50-200 chars. Descriptions lack context on WHEN to use, WHAT it returns, and dependencies.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | <=2025-11-25 | v2 |
Get pull request diff
Get repository details
List branches in a repository
List directory contents
List pipeline steps
List pipelines in a repository
List pull request comments
List pull requests in a repository
List repositories
List pipelines across workspace
List pull requests across workspace
Merge a pull request
Search code in repository
Trigger a pipeline
Remove approval from a pull request. Example input: { "repo_slug": "demo", "pull_request_id": 42 } Returns: Text confirmation message.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., PR IDs for chaining). Pagination parameters (limit, offset, page) not visible in any list tool.
merge_pull_request (IRREVERSIBLE operation) has no input schema, no parameter descriptions, and no confirmation/dry-run pattern. Agents cannot safely invoke this destructive tool.
No error handling guidance visible. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'If repo not found, call list_repositories() first').