Model Context Protocol (MCP) server for Atlassian Confluence. Enables AI assistants like Claude and Windsurf to read, create, search, and manage wiki pages on Cloud, on-premise Server, and Data Center.
Server has 24 tools with complete input schemas and descriptions. Naming follows verb_noun convention (get_, create_, update_, delete_, search_). However, two critical issues: (1) confluence_get_space and confluence_get_space_by_key are duplicates with identical functionality, violating single-responsibility and composition patterns. (2) Descriptions are functional but generic (avg ~80 chars), lacking LLM-optimized guidance on WHEN to use each tool vs alternatives. (3) No output schemas documented, LLMs cannot predict response structure for chaining. (4) Error handling is absent from tool definitions. (5) Parameters lack constraints (enums, ranges, patterns) despite many accepting constrained values (e.g., limit should be 1-100, not unbounded). Pagination is present but not consistently documented.
Add a comment to a page
Add labels to a page
Append content to the end of a page
Create a new page in Confluence
Delete a page permanently
Get a specific page by ID (for very large pages, prefer confluence_get_page_body_chunk)
Get attachments on a page
Duplicate tools: confluence_get_space and confluence_get_space_by_key have identical descriptions and schemas. LLMs cannot distinguish when to use each. Violates single-responsibility principle.
No output schemas documented for any tool. LLMs cannot predict response structure, field names, or types. Breaks tool chaining, agents cannot know what IDs to extract for downstream calls.
Descriptions lack LLM-optimized guidance. Generic descriptions (avg 65-75 chars) do not explain WHEN to use each tool vs alternatives. E.g., confluence_get_page vs confluence_get_page_body_chunk, when should LLM choose each? Not documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Get a chunk of page body by offset range or line range (for very large pages)
Get a page by its title within a space
Get child pages of a page
Get comments on a page
Get labels attached to a page
Get the parent page of a page
List pages, optionally filtered by space
Get details of a specific space by key
Get details of a specific space by key
List all spaces in Confluence
Patch page body using exact find/replace edits server-side (recommended for very large pages)
Remove labels from a page
Replace a contiguous middle range server-side using offsets or line numbers (offsets are preferred for storage XHTML)
Search for pages using CQL (Confluence Query Language)
Test connection to Confluence API
Update an existing page with a full new body (for very large pages, prefer patch/range/append tools)
Upload a file as an attachment to a page
Parameters lack constraints. 'limit' and 'start' parameters accept unbounded numbers with no min/max. 'spaceKey' and 'title' have no regex patterns or length limits. LLMs can pass invalid values; no validation guidance in descriptions.
No error handling guidance in tool definitions. Destructive tools (delete_page, update_page) lack confirmation or dry-run patterns. No recovery hints for common failures (page not found, permission denied, version conflict).