MCP server for converting Markdown to interactive mind maps with Agent-friendly HTML/PNG/JPG/SVG export
Server has 4 tools with clear naming and generally good descriptions. Tool names follow verb_noun convention (markdown_to_mindmap, list_mindmaps, get_mindmap, cleanup_mindmaps). Descriptions are substantial and include context about use cases and behavior. However, schema quality is mixed: markdown_to_mindmap has a detailed but complex parameter spec with some ambiguities (e.g., 'at least one required' between markdown and inputPath is stated in description, not enforced in schema); list_mindmaps and cleanup_mindmaps have minimal parameter documentation; get_mindmap lacks output schema documentation. Error handling is mentioned generically but lacks specific recovery guidance. The descriptions lean heavily on templated hints (responseHint, modeHint, openHint) which suggest incomplete documentation in the actual code view provided.
Deletes markmap files older than maxAgeMs (and optionally all of them). Set dryRun to true to preview without deleting.
Retrieves a single mind map file from the output directory. Only allows reading files within the output directory for security.
Lists markmap HTML/image files in the output directory, newest first.
Convert structured Markdown (headings # and nested lists -) into an interactive mind map HTML file, with optional server-side PNG/JPG/SVG export. Use when the user wants a visual mind map/outline of structured content (architecture, plans, notes, hierarchies), or asks to visualize / mindmap / diagram. Do not use for flat unstructured text (restructure first), or to list/read existing outputs (use list_mindmaps / get_mindmap). Behavior: - WRITES files under the configured output dir. HTML is always written; image formats write an extra file. Reusing filename overwrites. - html is fast (<1s). png/svg/jpg launch headless Chromium via Playwright (5–15s; requires: npm install playwright && npx playwright install chromium). - Local only — no external APIs or third-party keys. Open mode={open}: {openHint} - Offline={offline} (server config). Response: - {responseHint} - Return mode={returnMode}: {modeHint} - Errors: isError:true with {"error","message"}.
markdown_to_mindmap has mutually exclusive parameters (markdown vs inputPath) stated only in description, not enforced in schema. Schema should clarify that exactly one is required via oneOf or explicit validation text.
get_mindmap lacks output schema documentation. No description of what fields/content are returned, forcing LLMs to guess the structure.
markdown_to_mindmap description contains template placeholders (responseHint, modeHint, openHint, {modeHint}) instead of concrete values, suggesting incomplete implementation or code generation. This makes the description context-dependent and unhelpful for static LLM analysis.
list_mindmaps description is minimal ('Lists markmap HTML/image files in the output directory, newest first.') and does not explain what structure is returned, when to use it vs get_mindmap, or what fields consumers can expect.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 44 | - | v1 |
cleanup_mindmaps offers destructive operations (delete files) but has no confirmation or dry-run guidance in the description despite dryRun parameter existing. Error cases (e.g., permission denied) are not documented.
markdown_to_mindmap parameter 'open' has conditional visibility ('only exposed when server open mode is agent') but this constraint is not machine-parseable in the schema and relies on LLM understanding of prose. Should use proper schema constraints or document clearly in tool description.