A Go-based Model Context Protocol service for managing Atlassian Data Center products (Jira, Confluence, Bitbucket)
The server provides 31 tools with partial documentation. All tools have names following verb_noun conventions (good naming), and descriptions are present for each. However, schema documentation is incomplete and inconsistent. Input parameters are documented with descriptions and type information, but output schemas are not explicitly documented anywhere in the provided code. Parameter descriptions vary in quality, most are adequate but generic. Several critical gaps: no parameter constraints (enums for risk levels, project keys, etc.), no clear error handling guidance, no indication of pagination support despite tools returning lists, and no explicit acknowledgment of destructive vs safe operations in descriptions. The server handles multiple Atlassian products (Jira, Confluence, Bitbucket) with reasonable coverage, but consistency and depth of documentation would benefit production deployment.
Create an attachment in Bitbucket
Create a new branch in the specified Bitbucket repository
Delete an attachment from Bitbucket
Retrieve an attachment from a Bitbucket repository
Retrieve metadata for an attachment in Bitbucket
Get branch information by commit ID
Get branches from a Bitbucket repository with filtering options
Output schemas not documented. No evidence of return type documentation for any tool. LLMs cannot plan downstream tool calls without knowing what fields are returned.
No input validation constraints. Parameters like 'issueType' (Bug, Story, Task) and 'orderBy' should use enums, not free-form strings. LLMs will hallucinate invalid values.
Destructive operations (jira_delete_issue, confluence_delete_page, bitbucket_delete_attachment) lack explicit confirmation or dry-run support. Descriptions do not warn of irreversibility.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get details of a specific Bitbucket commit
Get changes for a specific Bitbucket commit with filtering options
Get a specific comment on a Bitbucket commit
Get comments on a specific Bitbucket commit with filtering options
Get diff statistics summary for a specific Bitbucket commit
Get a list of commits from a Bitbucket repository
Get the default branch for a Bitbucket repository
Get the diff between two Bitbucket commits
Get the diff between revisions for a specific file path in Bitbucket
Get commits for a specified Bitbucket pull request
Get the capabilities of the MCP server and configured services
Create a new Confluence page
Delete a Confluence page
Get a Confluence page by its ID
Search for Confluence pages
Update an existing Confluence page
Check the health status of the MCP server
Add a comment to a Jira issue
Create a new Jira issue
Delete a Jira issue
Get comments for a Jira issue
Get a Jira issue by its key
Search for Jira issues using JQL
Update an existing Jira issue
No pagination guidance despite tools returning lists. Tools like jira_search_issues and confluence_search_pages use maxResults/limit but no documentation of pagination mechanism (offset vs cursor), total count, or next-page signaling.
No error recovery guidance. Tools lack descriptions of when to retry, what to do on not-found, or what invalid input looks like. LLMs cannot self-correct failures.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). The server metadata includes risk classification (READ_ONLY, WRITE, DESTRUCTIVE) but this is not exposed as tool annotations in the MCP protocol.
Parameter descriptions lack specificity. E.g., 'The Jira issue key' does not explain format (e.g., 'uppercase project-key dash issue-number, like PROJECT-123'). LLMs may pass invalid formats.
No idempotency guidance for write operations. Tools like jira_create_issue, confluence_create_page, and bitbucket_create_branch do not indicate if they support idempotent keys or risk duplicate side effects on retry.