Confluence MCP Server - provides tools for managing Confluence pages, spaces, comments, and content
This Confluence MCP server exhibits moderate definition quality with significant gaps in schema completeness, parameter descriptions, and error guidance. While tool names follow verb-noun conventions and descriptions are present, they lack the precision and actionability required for production LLM agents. The `managePages` and `manageComments` tools are overloaded with optional parameters that create ambiguity around required vs. conditional fields. Schema completeness is evident in the source code (Zod validators), but descriptions are generic and lack dependency hints. No error handling guidance, no output schemas documented, and no tool annotations (readOnlyHint/destructiveHint).
通过空间Key和页面标题精确获取页面信息
获取指定空间的详细信息
管理Confluence页面评论,支持普通评论和行内评论的增删改查操作
管理Confluence页面,包括创建、更新、删除和查询页面信息
Overloaded tool names and responsibilities. `managePages` and `manageComments` combine multiple actions (create, update, delete, get, getContent / create, update, delete, reply) into single tools using an 'action' enum parameter. This violates the single-responsibility principle and forces LLMs to branch on action type rather than select a dedicated tool.
Missing or inadequate error handling guidance. Error responses return only the exception message (e.g., '获取空间信息失败: {err.message}') without actionable recovery steps. LLMs cannot infer what to do next: Should they retry? Call a different tool? Ask the user?
No documented output schemas. While tools return JSON (inferred from code), there is no schema specification stating what fields, types, and structure the response contains. LLMs cannot plan chained tool calls or extract values reliably.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 54 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Descriptions lack actionable context. Descriptions state WHAT the tool does (e.g., '获取指定空间的详细信息' = 'Get space details') but do not explain WHEN to use it, what output it produces, or prerequisites. Generic descriptions force LLMs to guess.
Complex conditional parameter requirements not clearly documented. In `managePages`, required parameters depend on the 'action' value (e.g., 'spaceKey' required for 'create', 'pageId' required for 'update/delete/get'). This dependency is stated in inline descriptions but not prominent enough for LLM parsing. LLMs may omit required params for a given action.
No tool annotations for side effects. Tools like `managePages` (create/update/delete) and `manageComments` (create/update/delete/reply) modify state but do not declare destructiveHint or idempotentHint. LLMs cannot infer whether a tool is safe to retry or has irreversible consequences.
Parameter descriptions contain example values and prose; missing formal constraints. E.g., 'representation' enum values are described as 'storage=HTML存储格式(推荐), wiki=Wiki标记语法...' in prose. Enum constraints should be declarative, not prose examples, to prevent LLMs from treating them as suggestions rather than exhaustive options.
Descriptions in Chinese (non-English). While not a violation, all tool and parameter descriptions are in Chinese. International teams and LLM models may have weaker reasoning in non-English. Descriptions should be in English for clarity in agent traces and logs.