Model Context Protocol (MCP) server for Atlassian Confluence integration with Claude Code
12 tools with clear verb-noun naming (search_, list_, get_, create_, update_, add_, download_, upload_). All tools have descriptions (avg 65 chars, baseline 194). Input schemas present with type definitions for all params. However, descriptions are significantly below baseline (65 vs 194 chars), most lack context on WHEN to use, prerequisites, or recovery guidance. Parameter descriptions are minimal (avg 35 chars vs baseline 72). No output schemas documented. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. No tool annotations (readOnlyHint/destructiveHint). Composition is sound: tools are single-responsibility, but no batch variants offered. Missing idempotency guidance for write operations.
Add labels to a page
Create a new page
Download an attachment by page ID and attachment ID
Get attachments for a page
Get a specific page by ID
Get page by title and space key
Get space information
Descriptions are 65 chars avg vs 194 baseline. Most lack WHEN to use, prerequisites, or recovery hints. E.g. 'Search content using CQL' omits: what CQL syntax is, when to use vs list_spaces, what fields are returned.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g. confluence_search returns what fields? Does it include page_id for get_page chaining?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
List all spaces
Search content using CQL (Confluence Query Language)
Update a draw.io diagram and replace links on the page
Update an existing page
Upload/update an attachment
No error handling guidance. Errors return raw messages with no recovery hints. E.g. 'Failed to search content: 401' tells LLM nothing, is it retryable? Should it ask user for credentials? Is auth misconfigured?
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. confluence_update_page and confluence_create_page should be marked destructive; reads should be marked readOnly.
Parameter descriptions are minimal (avg 35 chars). E.g. 'The page ID' lacks format hints. Is it numeric? UUID? Alphanumeric? 'The page content in storage format' omits what storage format is (Confluence ADF? HTML? Markdown?).