Claude FAF
claude-faf-mcp FAF MCP server for Claude-compatible clients, with 33 tools for creating, validating, scoring, and syncing .faf Project DNA files.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only
What it can do
- Get Soul: Fetch a context soul by name. Returns structured AI context.
- List Souls: List all available context souls.
- Write Soul: Append an entry to a soul or replace it entirely. Entries can be typed as note, fact, todo, or question.
What data it sees
Do you need an account
No: the server works without sign-in
claude-faf-mcp
FAF MCP server for Claude-compatible clients, with 33 tools for creating, validating, scoring, and syncing .faf Project DNA files.
Install: npm install -g claude-faf-mcp
It helps reduce AI context drift by making project context operations structured and repeatable across sessions and IDE agents.
GitHub: https://github.com/Wolfe-Jam/claude-faf-mcp
npm: https://www.npmjs.com/package/claude-faf-mcp
Smithery (auto-CLI): https://smithery.ai/servers/wolfe-jam/claude-faf-mcp

Server tool list (23)
Raw names from tools/list. Only developers need these.
| get_soul | Fetch a context soul by name. Returns structured AI context. |
| list_souls | List all available context souls. |
| write_soul | Append an entry to a soul or replace it entirely. Entries can be typed as note, fact, todo, or question. |
| delta_check | Determine if a topic needs FULL, DELTA, or X-DELTA soul. |
| list_tags | List all unique tags used in a soul, with counts. |
| search_by_tag | Find all entries in a soul with a specific tag. |
| search_context | Full-text search across souls. Returns matching lines only (token-efficient). |
| create_soul | Create a new soul with initial content. Admin-only operation. |
| update_soul | Replace entire content of an existing soul. Admin-only operation. |
| delete_soul | Permanently delete a soul from storage. Admin-only operation. |
| tag_intel | Discover tag patterns, co-occurrence, candidates, and merge suggestions across all namepoints. Optionally suggest tags for a specific handle. |
| generate_faf_from_github | Generate a .faf file from any public GitHub repository WITHOUT cloning. Extracts 6 Ws from README, analyzes stack from languages and package.json, and generates Championship-grade AI context. Returns .faf content, quality score, and metadata. |
| faf_score | Score .faf YAML content via the Mk4 Zig-WASM engine. Returns 0-100 (capped). Same engine as xai-faf-rust + xai-faf-zig (parity-tested). Sub-ms at the edge. |
| faf_validate | Validate .faf YAML content via the Mk4 Zig-WASM engine. Returns true if mission-ready (>= 100). |
| faf_get_tier | Resolve the FAF tier for a given numeric score. Returns the tier symbol (Trophy/Gold/Silver/Bronze/etc.) per the canonical tier-table. |
| faf_estimate_tokens | Estimate token count for arbitrary content via the Zig WASM engine. Sub-millisecond, zero allocations. Useful for context-budget planning. |
| faf_analyze | One-call composite — returns score, tier-ready, valid, and engine identifier. Two WASM calls, sub-millisecond total. |
| refresh_faf | Re-ground on .faf content — re-score via the Mk4 Zig-WASM Enterprise scorer (33-slot, honors the authored app-type shape), report drift vs an optional baseline score, and return a stamped re-ground. The explicit re-grounding primitive for long sessions: drift → refresh → re-grounded. Built for Grok, by request. |
| faf_orchestrate_recommendation | Takes raw content strings (`.faf`, `.fafm`, and optionally `package.json`/`CHANGELOG.md`/`README.md`) and runs deterministic drift + contradiction signals across the FAF substrate. Returns a structured `Recommendation` (recommend, severity, reason, summary) with `hints` containing the current `effective_policy` and `partial[]` for any stateful signals unavailable on the current surface. Light-lane execution (hosted) is WASM-pure with no filesystem access. Heavy-lane execution (local via bunx/rust-faf-mcp) has full FS + persisted state. Advisory only — never auto-fires. |
| faf_gate | Phase III (FRC) — pre-promotion quality gate. Scores .faf content (edge Mk4) + estimates tokens and returns a deterministic promote/hold verdict BEFORE it goes to a Grok Collection. Promote IFF score >= min_score AND tokens <= max_tokens (defaults 85/8000). Edge parity with the local gate; the hold-hint can't list empty slots at the edge. |
| faf_section | Phase III (FRC) — returns an EXACT, WHOLE .faf section by dotted path (e.g. "stack", "human_context"), structure preserved — the deterministic complement to blind chunking. Omit "section" to list every path. |
| faf_memory | Phase III (FRC) — query the durable .fafm model by type/tag/priority/text. Omit filters for a structured summary. .fafm is NOT scored: this SELECTS facts (provenance preserved), never grades them. |
| faf_collections_search | Phase III (FRC §7b) — semantic search over a Grok Collection at the edge, KV-cached (1h TTL). Returns matched chunks (content, score, file). Requires the XAI_API_KEY secret; composes with faf_section (structural) for hybrid retrieval. Handled env-aware in the MCP handler (needs the key + KV). |