In-depth architectural comparison of the Claude Faf MCP and Markmap MCP Server MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Claude Faf MCP
Knowledge & Memory · Local stdio
Quality: 65/100 (Great) | Auth: No auth required
Markmap MCP Server
Knowledge & Memory · Local stdio
Quality: 68/100 (Great) | Auth: No auth required
Verdict Summary: Choose Claude Faf MCP if you need specialized Knowledge & Memory tools running via a local process. Choose Markmap MCP Server if your workspace requires Knowledge & Memory integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Claude Faf MCP when:
You need dedicated capabilities in the Knowledge & Memory domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
First & only persistent project context MCP. Provides .faf (Foundational AI-context Format) Project DNA with 33+ tools, Podium scoring (0-100%), and format-driven architecture. Official Anthropic Registry. 10k+ npm downloads.
An MCP server built on markmap that converts Markdown to interactive mind maps. Supports multi-format exports (PNG/JPG/SVG), live browser preview, one-click Markdown copy, and dynamic visualization features.
Category & Scope
Tools & Capabilities Breakdown
Claude Faf MCP Tools (30)
faf_init
Create project.faf for a folder (faf-cli detects the stack)
faf_auto
Fill project.faf from the repo's own files, then CLAUDE.md
faf_go
The goal and the 6Ws, by question and answer
faf_score
AI-readiness score (0-100%), from faf-cli
faf_bench
Benchmark AI grounding — cold vs with the .faf, graded mechanically, with a receipt
faf_doctor
Diagnose project.faf: each finding with the tool that fixes it
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Claude Faf MCP is categorized under Knowledge & Memory and uses a local stdio subprocess. In contrast, Markmap MCP Server belongs to Knowledge & Memory using local stdio subprocess. Select Claude Faf MCP when you need capabilities focused on knowledge & memory and Markmap MCP Server when you require tools for knowledge & memory.
Validate project.faf and return a trust receipt for its score
faf_sync
Write CLAUDE.md from project.faf — `agents`/`cursor`/`gemini`/`copilot`/`all` also write AGENTS.md / .cursorrules / GEMINI.md / copilot-instructions.md
faf_tri_sync
Write faf's block into the MEMORY.md Claude Code loads for this project 🐘
faf_setup
Install the SessionStart hook in the project settings (preview first)
faf_context
Show or set the active project; `detail` returns the .faf text
faf_etch
Remember a decision across sessions (the project soul, soul.fafm)
+18 more tools listed on main page
Markmap MCP Server Tools (4)
markdown_to_mindmap
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=never: The server never opens the browser.
- Offline=false (server config).
Response:
- JSON {"htmlFilePath":"<path>","filePath":"<path>"} — htmlFilePath is always the HTML source; filePath is the primary artifact (HTML or image).
- Return mode=path: Paths JSON only — no inline content.
- Errors: isError:true with {"error","message"}.
list_mindmaps
List markmap* files (html/png/jpg/jpeg/svg) in the output directory, newest first. Read-only — no side effects. Missing/empty dirs return {"files":[]}.
Returns: {"outputDir","files":[{"name","filePath","size","mtimeMs","mtime"}]} (mtime is ISO 8601).
Use before get_mindmap to discover paths, or before cleanup_mindmaps to preview targets. Not for generating new mind maps (use markdown_to_mindmap).
get_mindmap
Retrieve a generated mind map file by absolute path. Read-only — no side effects. Only paths inside the configured output directory are allowed (path traversal denied).
Returns JSON {"filePath","mimeType","size"}. For text/html or image/svg+xml under 200KB, also appends a text content block. PNG/JPG return metadata only (no image block) — re-export via markdown_to_mindmap with format=png|jpg if the agent needs pixels.
On error: isError:true with {"error":"Failed to retrieve mind map","message"}.
Use list_mindmaps first to obtain a valid filePath. Prefer this over regenerating when the file already exists.
cleanup_mindmaps
Permanently delete markmap* files from the output directory. DESTRUCTIVE and irreversible when dryRun is false.
dryRun defaults to false — omitting it WILL delete. Always call once with dryRun=true to preview, then again with dryRun=false to commit. Prefer list_mindmaps beforehand.
Returns {"deleted":["<path>",...],"kept":<n>}; dryRun responses also include dryRun:true and do not delete.
Use instead of manual file deletion when pruning old generated mind maps.