Server has 7 tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_, get_, sync_, push_). Descriptions are present but generic (avg 80 chars, below 194-char baseline). Parameters lack type specificity, many accept strings without format constraints or enums. Output schemas are not documented. Error handling returns isError flag but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable: read tools (search, get_*) are separate from write tools (sync, push). However, sync_confluence_docs and push_md_to_confluence combine multiple concerns (space/query/pageIds selection, recursive traversal, file I/O) that could be split.
Get a Confluence page by its ID with full content
Get a Confluence page by title within a space
Get child pages of a parent page
Get all pages in a Confluence space
Push markdown files to Confluence. Creates new pages or updates existing ones based on frontmatter or title/space.
Search Confluence for pages matching a query using CQL (Confluence Query Language)
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields (e.g., page IDs for chaining). Baselines show 100% of A+ tools document return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions. sync_confluence_docs and push_md_to_confluence are WRITE operations but lack destructiveHint.
Error handling returns bare isError flag with error.message. No recovery guidance, categorization (retryable vs fatal), or actionable next steps. Pattern requires: 'User not found. Try search_users() with a partial name.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Sync Confluence pages to local markdown files. Can sync a space, search results, or specific pages.
Descriptions are generic and under 100 chars (avg 80 vs 194-char baseline). Missing WHEN to use, prerequisites, and dependencies. E.g., 'sync_confluence_docs' lacks guidance on when to use spaceKey vs query vs pageIds.
sync_confluence_docs and push_md_to_confluence combine multiple concerns (space/query/pageIds selection, recursive traversal, file I/O). Should split into separate tools for single responsibility and better composability.