claude-faf-mcp
The claude-faf-mcp server provides persistent AI project context management, enabling Claude and other AI models to deeply understand your project across every session via a structured .faf (project DNA) file.
Initialize & Detect Context
faf_init,faf_quick,faf_auto— Create aproject.faffile; auto-detect your stack, languages, and frameworksfaf_go— Guided interview to drive your AI-readiness score to 100% (Gold Code)faf_readme— Extract the 6Ws (Who/What/Why/Where/When/How) from an existing README (+25–35% score boost)faf_git— Generateproject.faffrom any GitHub repo URL
Scoring & Validation
faf_score— Calculate a 0–100% AI-readiness score with tier labels and a deterministic parity hashfaf_check— Inspect human context field quality and prevent good fields from being overwrittenfaf_doctor— Diagnose and surface fixes for common.fafissuesfaf_trust— Verify.fafintegrity with a cryptographic parity hash
Sync & Persistence
faf_sync— Push context intoCLAUDE.mdfaf_bi_sync— Bi-directional sync between.faf↔CLAUDE.mdfaf_tri_sync— Three-way sync withMEMORY.mdso context persists across sessionsfaf_setup— Install a native Claude CodeSessionStarthook for automatic context loadingfaf_agents,faf_cursor,faf_gemini,faf_conductor— Sync with OpenAI Codex (AGENTS.md), Cursor IDE (.cursorrules), Google Gemini, and Conductor formats
Persistent Memory
faf_etch— Record decisions, gotchas, and wins into a project soul file (.fafm)faf_recall— Retrieve stored memories filtered by tags, type, priority, or text search
Discovery & Utilities
faf_formats— Scan your project for 154+ known file formats to auto-fill stack slotsfaf_list— Browse directories and find all projects with aproject.faffaf_read,faf_write— Safely read/write files confined to your project rootfaf_status,faf_context,faf_dna— View project state, active path, and score historyfaf_debug— Inspect working directory, permissions, and FAF CLI statusfaf_about,faf_guide— Learn about FAF and get usage tips
Utilizes a specialized IANA-registered YAML format (application/vnd.faf+yaml) to store and manage structured project context, enabling rapid scoring and synchronization of AI-readiness.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@claude-faf-mcpcreate a project.faf for my Express API with JWT auth"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
claude-faf-mcp — The Instructions Edition
Home: faf.one/mcp Live demo: claude.faf.one
Persistent Project Context with Memory, looped for you. One-click setup. 30 seconds. 🐘 Nelly Never Forgets.
FAF defines. MD instructs. AI codes.
🐘 tri-sync now free for all builders —
.faf↔CLAUDE.md↔MEMORY.mdin one command. Pro feature. Now free.
⚡ New:
/fafprompt — type/fafin Claude Desktop. It checks your project, scores it, drives it to 100%, and syncs. Relentlessly. One command.
v5.15.0 — The Instructions Edition. CFM writes the file Copilot reads — done right.
.github/copilot-instructions.mdis now genuine, distinct Copilot instructions: a prose overview, a## Build & runcommand section, and "every request" framing — not the AGENTS.md content reused. The file Copilot actually reads, done to GitHub's spec.
v5.14.1 — The Copilot Edition. FAF now writes the file GitHub Copilot reads — from inside Claude. The Core
faf_syncgains acopilotflag (allincludes it), syncing.github/copilot-instructions.md— Copilot's widest-surface instruction file, read by default across web chat, code review, VS Code, JetBrains, the CLI, and the coding agent — straight from your scored.faf.faf_syncnow emits every format (agents/cursor/gemini/copilot/all) from the default surface; the redundantfaf_bi_syncis retired. Non-destructive, idempotent.
🧡 v5.13.0 — The Heartbeat Edition. Persistent Project Context with Memory, looped for you. Every Claude Code session now opens with a one-line heartbeat that carries the intent the code can't:
faf: context ✪ 100% — fresh · +7 intent the code can't carry. The+Nis the goal and 6Ws only you can give or confirm — so Claude starts each session grounded in what your project means, not just what it contains.
🏆 v5.12.0 — The Proof Edition.
faf_benchproves FAF's grounding lift in-session — it asks Claude about your repo cold (no context) and with the.faf, grades mechanically (no judge), and emits a✪receipt showing the delta. Promoted to lead the Core tier (13 tools, 36 total).faf_gonow bootstraps a cold repo (init → auto → 6Ws), and you can still just typefafto start. Proof, not pitch.
🏆 v5.11.0 — The Distilled Edition. claude-faf-mcp, distilled — a curated Core of 12 self-documenting tools, with the interview, README extractor, and server-card all composed from faf-cli's single source (no forks), and faf_go's new Table-of-8 where your goal seeds the 6Ws. Fewer tools, nothing forked, nothing guessed.
🏆 v5.10.0 — The Dart Edition. claude-faf-mcp now reads Dart & Flutter — it knows a Flutter app from a pure-Dart CLI. Detection by composition: because CFM composes faf-cli's Turbo-Cat (The Sourced Edition), faf-cli 6.13.0's content-aware, pubspec-driven Dart classifier arrives by construction — no forked parser, no drift. 35 tools, npm audit clean.
🏆 v5.9.0 — The Sourced Edition. Every answer comes from one source.
faf_goand Turbo-Cat detection now compose faf-cli's single-source engines instead of carrying their own copies — fills come from real evidence or stay honestly empty, nothing guessed. The legacy guessing extractor is gone; the/fafprompt drives to a verified 100% (faf_trust+✪parity receipt) and keeps it fresh. FAF don't lie, by construction.
🏆 v5.8.0 — The Trust Edition. Claude Code-native context that just works. A native SessionStart hook opens every session with fresh context and a one-line
✪heartbeat (faf: context ✪ 100% — fresh); tool output is quiet (no emoji, parseable) and typed (structuredContenteverywhere); every score carries a deterministic parity hash any engine reproduces, sealed in a self-verifying✪receipt. Installed explicitly viafaf_setup— preview first, your settings preserved. Built on the Canonical foundation: path-confined file access, edge-direct remote, 35 tools.
13 Core MCP tools (35 with FAF_TOOLS=all). IANA-registered formats (application/vnd.faf+yaml · application/vnd.fafm+yaml). 1,716 test executions per push.
The 3Ws — 3 Answers. That's It.
Every great product started with 3 answers to the 3Ws — Who, What, Why:
WHO is it for? | WHAT does it do? | WHY build it? | |
Uber | People who need a ride | Tap a button, car arrives | Taxis were broken |
Airbnb | Travelers who can't afford hotels | Stay in someone's spare room | Millions of empty rooms exist |
Slack | Teams drowning in email | Organized group messaging | Decisions buried in threads |
Venmo | Friends splitting bills | Send money instantly | Someone always forgets to pay back |
Same pattern. Every product that works starts here. .faf captures it:
human_context:
who: "people who need a ride across town"
what: "tap a button, car arrives in minutes"
why: "taxis are slow, expensive, and hard to find"30 seconds. Claude builds your project.faf from this. Every session after, AI starts smart.
The 6Ws — For Optimized AI
3Ws gets you started. For fully optimized AI, complete the set — Where, When, How:
where: "mobile app, iOS and Android" # where does it live?
when: "launch in 3 months" # when is it shipping?
how: "GPS matching, real-time pricing" # how does it work?3Ws initiates the project with AI. 6Ws optimizes AI to 100%. Same YAML, same file. More examples → faf.one/ideas
Related MCP server: gemini-faf-mcp
Quick Start
faf-cli — universal (any AI)
npx faf-cli autoSame .faf, every surface — Claude, Gemini, Grok, Cursor. faf-cli on npm →
Claude Desktop — click, copy, paste, install
Click — one-click .mcpb
⬇ Download claude-faf-mcp-5.13.0.mcpb
Double-click. Zero-Config — no terminal, no JSON config. 13 Core tools live in 10 seconds.
Copy — paste-prompt to Claude
Install the FAF MCP server:
npm install -g claude-faf-mcp, then add this to my claude_desktop_config.json:{"mcpServers": {"faf": {"command": "bunx", "args": ["claude-faf-mcp"]}}}and restart Claude Desktop.
Paste — claude_desktop_config.json
{
"mcpServers": {
"faf": { "command": "bunx", "args": ["claude-faf-mcp"] }
}
}Install — manual npm
npm install -g claude-faf-mcpRestart Claude Desktop.
Then
Type /faf — Claude checks your project, scores it, drives it to 100%, and syncs. Done.
Or tell Claude your 3Ws: "I'm building [what] for [who] because [why]"
How It Works
You → 3 answers → project.faf → AI reads it → every session → forever
project.faf ←── 8ms ──→ CLAUDE.md (bi-sync, free)
project.faf ←── 8ms ──→ MEMORY.md (tri-sync, Pro 🐘)Claude does the rest. Zero-effort, right first time, fast, accurate, done. Language, framework, package manager, build tools — all auto-detected from your existing files. The human context is the part only you can give.
For Claude Code teams
.faf lives in the repo. Your context travels with the code — committed, versioned, done.
Every session starts grounded. Install the native SessionStart hook once (faf_setup — preview first, your settings preserved). After that, every Claude Code session opens with a one-line heartbeat instead of a blank slate:
faf: context ✪ 100% — fresh · +7 intent the code can't carryThat line is the relay: Claude already knows your stack and your score — and the +N is the intent the code can't carry: the goal and 6Ws only you can give or confirm. No re-explaining "what this project is" at the top of every session.
It scales to the team by construction:
commit project.faf → every teammate's Claude starts with the same context
git clone → a new dev's Claude is grounded before they write a lineOne source of truth.
.faf↔CLAUDE.mdstay in sync (bi-sync'd). AddMEMORY.mdfor cross-session memory (tri-sync 🐘).No drift. The score is deterministic — same
.faf, same number, on every machine and in CI. A teammate can't be accidentally less grounded than you.Local and private. Nothing leaves the machine — no accounts, no telemetry. The context is yours; it just rides in the repo.
Onboarding becomes git clone → grounded. The context a new teammate would normally pick up by asking around is already in the repo, machine-readable, from the first clone.
Scoring: From Blind to Optimized
Tier | Score | What it means |
🏆 TROPHY | 100% | Gold Code — AI is optimized |
★ GOLD | 99%+ | Near-perfect context |
◆ SILVER | 95%+ | Excellent |
◇ BRONZE | 85%+ | Production ready |
● GREEN | 70%+ | Solid foundation |
● YELLOW | 55%+ | AI flipping coins |
○ RED | <55% | AI working blind |
♡ WHITE | 0% | No context at all |
At 55%, AI guesses half the time. At 100%, AI knows your project. Same compiler as faf-cli — same score everywhere.
MCP Tools — 13 Core, 35 with FAF_TOOLS=all
By default claude-faf-mcp advertises a distilled Core of 13 — the lifecycle tools you reach for, each self-documenting. Set FAF_TOOLS=all to expose all 35 (Extended tools stay callable by name regardless). Core 13: faf_init · faf_auto · faf_go · faf_bench · faf_enhance · faf_score · faf_doctor · faf_sync · faf_context · faf_trust · faf_about · faf_etch · faf_recall.
All tools run standalone — zero CLI dependencies, 19ms average execution.
Create & Detect
Tool | Purpose |
| Initialize project DNA |
| Auto-detect stack and populate context |
| Lightning-fast creation (3ms) |
| Extract context from README (+25-35% boost) |
| Discover all formats in your project |
| Extract context from any GitHub repo URL |
| Add human context (the 6Ws) |
Validate & Score
Tool | Purpose |
| AI-readiness score (0-100%) with breakdown |
| Benchmark AI grounding — cold vs .faf, with a |
| Validate .faf structure |
| Diagnose and fix common issues |
| Guided interview to Gold Code |
Sync & Persist
Tool | Purpose |
| Sync .faf → CLAUDE.md — |
| Tri-sync .faf ↔ CLAUDE.md ↔ MEMORY.md — Pro feature, free for developers 🐘 |
| Intelligent enhancement |
Export & Interop
Tool | Purpose |
| Import/export AGENTS.md (OpenAI Codex) |
| Import/export .cursorrules (Cursor IDE) |
| Import/export GEMINI.md (Google Gemini) |
| Import/export Conductor directory |
Read & Write
Tool | Purpose |
| Read any file |
| Write any file |
| Project status overview |
| Environment inspection |
| What is .faf? |
🐘 Nelly Never Forgets
bi-sync keeps .faf ↔ CLAUDE.md aligned.
tri-sync adds MEMORY.md — your AI remembers your project across every session.
bi-sync = .faf ↔ CLAUDE.md ← always in sync
tri-sync = .faf ↔ CLAUDE.md ↔ MEMORY.md ← Nelly never forgets 🐘Pro feature, free for developers. Teams & Enterprise: faf.one/pro (plans)
The .FAF Position
Model Context Protocol
───── ─────── ────────
Claude → .faf → MCP
Gemini → .faf → MCP
Codex → .faf → MCP
Any LLM → .faf → MCPIANA-registered (application/vnd.faf+yaml). Works with any AI. Define once, use everywhere.
Ecosystem
Package | Platform | Registry |
claude-faf-mcp (this) | Claude | npm |
Universal CLI | npm + Homebrew | |
Google Gemini | PyPI | |
xAI Grok | npm | |
Rust | crates.io | |
Browser/Edge | npm | |
Browser | Chrome Web Store |
Same project.faf. Same scoring. Same result. Different execution layer.
Quality
572 tests · 28 suites · 3 platforms (bun on ubuntu/macos/windows)
Privacy
Everything runs locally. No data leaves your machine. No analytics, no telemetry, no tracking, no accounts. Privacy policy →
If claude-faf-mcp has been useful, consider starring the repo — it helps others find it.
Citation
If you use claude-faf-mcp or the .faf / .fafm formats in research or production, please cite the format papers:
Wolfe, J. (2025). Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding. Zenodo. https://doi.org/10.5281/zenodo.18251362
Wolfe, J. (2026). Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory. Zenodo. https://doi.org/10.5281/zenodo.20348942
BibTeX
@article{wolfe2025faf,
title = {Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding},
author = {Wolfe, James},
year = {2025},
month = {nov},
publisher = {Zenodo},
doi = {10.5281/zenodo.18251362},
url = {https://doi.org/10.5281/zenodo.18251362}
}
@article{wolfe2026fafm,
title = {Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory},
author = {Wolfe, James},
year = {2026},
month = {may},
publisher = {Zenodo},
doi = {10.5281/zenodo.20348942},
url = {https://doi.org/10.5281/zenodo.20348942}
}License
MIT — Free and open source
FAF Family
| |
MCP server for Claude Desktop | |
MCP server for Gemini CLI | |
MCP server for Grok | |
MCP server for Cursor, Windsurf, Cline, VS Code | |
MCP server in Rust | |
17 Claude Code skills | |
Blog, downloads, docs | |
Context format (2025-10-30) | |
Memory format (2026-05-13) |
format | driven 🏎️⚡️ wolfejam.dev
Get the CLI
faf-cli — The original AI-Context CLI. A must-have for every builder.
npx faf-cli autoAnthropic MCP #2759 · 2 IANA registrations: vnd.faf+yaml (Context) · vnd.fafm+yaml (Memory) · faf.one · npm
Zero-Config. Context that's just there — every session.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wolfe-Jam/claude-faf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server