Claude FAF
Persistent project context for Claude.
Connector by faf.one · Domain verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Claude Desktop, Cursor, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install connector/faf-one-claude-faf-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-memory, prompt-engineering
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
Runs code on install
Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.
- Tools
- 15 read · 15 write · 0 delete
- Secrets
- None asked for
- Install scripts
- Runs code on install
- Runs as
- Node.js package
Tools by what they do 30
Read from the source code; the running server may list different tools.
Read 15 · Look things up without changing anything.
faf_aboutfaf_benchfaf_checkfaf_contextfaf_debugfaf_dnafaf_doctorfaf_formatsfaf_listfaf_readfaf_readmefaf_recall
Show 3 more tools
faf_scorefaf_statusfaf_trust
Write 15 · Create, change, send or run things.
faffaf_agentsfaf_autofaf_conductorfaf_cursorfaf_etchfaf_geminifaf_gitfaf_gofaf_human_addfaf_initfaf_quick
Show 3 more tools
faf_setupfaf_syncfaf_tri_sync
Network hosts it talks to 8
claude.faf.one· found in codefaf.one· found in codegithub.com· found in install command, codeglama.ai· found in codeiana.org· found in codemcpaas.live· found in coderaw.githubusercontent.com· found in codewolfejam.dev· found in code
Files it touches
/dev/tty/home/claude/mnt/user-data/tmp/uploads- Your home directory (~)
- Any path the agent passes to its tools
Tools (30)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
fafStart here: names the project and the .faf faf-cli finds for it (the folder, then one level up), with faf-cli's score, and returns the steps that take it to 100% — faf_auto, faf_score, faf_go, faf_trust, faf_sync. Reads only; it runs none of the steps itself.
faf_aboutExplain what the .faf format is — project context for AI, IANA-registered as application/vnd.faf+yaml — and how this server uses it. Returns a short plain-text overview with this server's version. Reads nothing and writes nothing. Use it when someone asks what FAF is.
faf_agentsWrite project.faf into AGENTS.md (OpenAI Codex and other agents) as a faf-managed block: faf-cli's render, enriched from the repo, written by faf-cli (the bytes faf-cli's own export writes). A file already there keeps every line outside the block; the block is updated in place on later runs.
faf_autoCreate <folder>/project.faf, or fill the empty slots of the one there, with faf-cli's detection over the repo's own files (package.json, Cargo.toml, pyproject.toml, go.mod…) — no hardcoded defaults. A value already there is kept. A typed None or placeholder word is an empty slot: in a tech slot the app-type uses, only a repo fact replaces it (with no fact it stays as typed); in a tech slot the app-type leaves out, faf_auto writes slotignored; in a 6W it stays as typed (faf_go asks). Every value it changes is listed. Then writes CLAUDE.md's faf-managed block. Returns what was filled and faf-cli…
faf_benchProve the .faf earns its place — measure how much the context is worth, on THIS repo, falsifiably. Questions derive from the project.faf's own populated slots (the .faf is the answer key), so grading is mechanical — no judge, no rubric. action=questions returns the answer-key-safe question set; action=grade takes your answers WITHOUT the .faf (cold) and WITH it (faf), grades both, and returns the cold→with-faf lift with a receipt hash. The delta is the product; the cold number belongs to the absence of context, never to FAF. Reads only.
faf_checkCheck the project's .faf with faf-cli: validateFaf (required fields such as faf_version and project.name, and the about-block rules) and the scorer's state for every slot — populated, empty or slotignored — with the 6Ws listed one by one. Returns valid, the errors and the slot states. Reads only; writes nothing.
faf_conductorWrite project.faf into Google Conductor's conductor/ folder — product.md, tech-stack.md, workflow.md and product-guidelines.md — as one faf-managed block per file, from faf-cli's keys (empty, placeholder and slotignored values left out). A file already there keeps every line outside the block.
faf_contextShow the active project — the folder every faf_* call without a path uses — and the .faf there; pass path to make another folder the active project (your home folder and the filesystem root are refused). detail: true also returns the .faf's text. Writes no file. Call it once at the start of a session.
faf_cursorWrite project.faf into .cursorrules (Cursor IDE) as a faf-managed block: faf-cli's render, written by faf-cli. A file already there keeps every line outside the block; the block is updated in place on later runs.
faf_debugShow this server's environment: the active project folder and whether it can be written, the bundled faf-cli version every tool runs on, and the .faf faf-cli finds there. Reads only; it never runs a faf found on PATH.
faf_dnaShow the project's .faf-dna lineage, read with faf-cli: the birth score faf_init recorded, every score since (faf_auto and faf_go add them) and the journey line. Reads only; writes nothing.
faf_doctorDiagnose the project's .faf: faf-cli's validateFaf errors, faf-cli's score with every empty slot and the tool that fills it (faf_auto from the repo, faf_go for the 6Ws), whether CLAUDE.md is there, and the formats faf-cli finds in the folder. Returns a checklist of findings, each with its fix. Reads only. Use it when faf_score is below 100%.
faf_etchRemember a decision, gotcha, or win across sessions by writing it to the project soul (soul.fafm) with faf-cli's Soul. Returns the stored memory and the soul's size. Re-etching an id updates that memory in place. Use it to persist something an AI should recall later; faf_recall reads them back.
faf_formatsShow the file formats faf-cli finds in the project folder (never above it) and what faf_auto would write into project.faf from them — a dry run. Reads only; writes nothing.
faf_geminiWrite project.faf into GEMINI.md (Google Gemini CLI) as a faf-managed block: faf-cli's render, enriched from the repo, written by faf-cli. A file already there keeps every line outside the block; the block is updated in place on later runs.
Show 15 more tools
faf_gitAuthor a project.faf for a repository by URL. Uses the network: faf clones the repo with git (a shallow `git clone`, into a temp folder it removes afterwards), runs faf-cli's detection on it and reports faf-cli's score. With path, writes <path>/project.faf only when that folder has none (faf_auto writes each fact from repo into an existing one); without path, writes nothing and returns the .faf.
faf_goThe human half of project.faf. Without answers it returns the Table-of-8 — project name, goal and the 6Ws (who, what, why, where, when, how) — each filled, seeded from the goal, or empty, with faf-cli's score and, for each slot still empty, whether it is a fact from repo (faf_auto writes it: its dry run, the one faf_formats shows) or needs an answer here. With answers (slot path → text, e.g. {"stack.hosting": "<the answer>"}) it writes them into <folder>/project.faf in place and returns the new score; a value already in a slot you answer is replaced. With no project.faf yet it runs faf_init an…
faf_human_addSet one human_context slot (who, what, why, where, when or how) in <folder>/project.faf to the text you give, in place: a value already in that slot is replaced; every other line, comment and value is kept. Returns the file written. faf_go asks for all of them at once.
faf_initCreate a new project.faf for a folder: faf-cli detects its name, language and stack, and the reply gives the file path, faf-cli's starting score and the birth .faf-dna. An existing project.faf is left as it is — use faf_auto to fill its empty slots from your manifests, or faf_go for the human 6Ws. force: true replaces an existing project.faf with a fresh one, after copying the old file to a backup beside it.
faf_listList a folder inside the active project (or a folder listed in FAF_ALLOWED_ROOTS) and flag the subfolders that hold a project.faf. Links are listed, never followed. Reads only.
faf_quickCreate a new project.faf from one line: "name, goal, language, framework, hosting" (name and goal required). faf-cli detects the rest from the folder; each word you give goes in the slot it names, and a framework faf cannot place is reported, not guessed. Returns the file and faf-cli's score. Only creates: when a project.faf (or .faf) is already there it writes nothing — use faf_auto to fill it.
faf_readRead a file inside the active project (the one faf_context shows) or a folder listed in FAF_ALLOWED_ROOTS, and return its text. A relative path resolves against the active project. Anything else — your home folder, the filesystem root, a temp folder, ../ out of the project — is refused.
faf_readmeRead the 6 Ws (Who/What/Why/Where/When/How) from README.md and package.json with faf-cli's sourced extractor. Previews by default; apply: true fills only the empty human_context slots in project.faf — a value you wrote is never replaced — and lists the slots it filled.
faf_recallRecall memories from the project soul (soul.fafm), ranked by priority then recency, filtered by query/tags/type. Returns the matching entries. Reads only. Use it to surface past decisions; faf_etch adds new ones.
faf_scoreScore the project's .faf with faf-cli's scorer — the one score every faf tool reports: 0–100%, the tier, populated/active slots, and a faf-parity/v1 hash of the result. details: true lists every slot as populated, empty or slotignored. Reads only. Use faf_doctor for what to fix.
faf_setupInstall the native SessionStart hook in the project settings (<project>/.claude/settings.json) — every Claude Code session in this project starts with fresh .faf context. Shows the exact settings first (preview); writes only with confirm: true, install or remove. faf changes only its own hook entry; every other key and hook stays as written. remove: true takes out only the hook whose command is exactly the faf hook command. Never writes the user settings: the home folder is refused.
faf_statusSay whether the project has a .faf (faf-cli's finder: the folder, then one level up) and show its first 20 lines. Reads only. For the score use faf_score; for what to fix, faf_doctor.
faf_syncWrite project.faf into CLAUDE.md as a faf-managed block (faf-cli's render and injector), and on request into AGENTS.md (agents), .cursorrules (cursor), GEMINI.md (gemini) and .github/copilot-instructions.md (copilot) — or all of them (all) — with faf-cli's writers. Each file keeps every line outside faf's block. Returns the files written and any requested file that could not be written, with the reason (then isError). Use it after editing project.faf.
faf_tri_syncWrite project.faf as a faf-managed block into the MEMORY.md Claude Code loads for this project (~/.claude/projects/<project-id>/memory/MEMORY.md, or under CLAUDE_CONFIG_DIR). Only the block changes; every note of Claude's is kept, and the reply says so only after reading the file back. action: status reads only. faf_sync writes CLAUDE.md.
faf_trustAttest the project's .faf: faf-cli's validateFaf, faf-cli's score, and a faf-parity/v1 hash (claude-faf-mcp's own spec) of that score that anyone can check with sha256(projection) === parityHash. Returns a trust receipt whose subject is the project. An invalid .faf, or a score that is unknown, gets no receipt (isError). Reads only.
Signals
- Stars
- 23
- Forks
- 8
- Open issues
- 0
- Contributors
- 4
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 1, 2026 (28 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
one.faf/claude-faf-mcp- Version
- 7.0.1
- Auth
- No auth
- Packages
- npm claude-faf-mcpmcpb https://github.com/Wolfe-Jam/claude-faf-mcp/releases/download/v7.0.1/claude-faf-mcp-7.0.1.mcpb
- License
- MIT
- Repository
- github.com/Wolfe-Jam/claude-faf-mcp
- Website
- faf.one
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from faf.one
- 0.665score

Grok FAF
faf.one
Persistent project context for xAI Grok.
ConnectorAFreshness: ALocal★ 19Claude Code +5 - 0.649score

.FAF Context
faf.oneOfficial
.FAF Context — persistent project context for Cursor, VS Code and every MCP-compatible IDE.
ConnectorAFreshness: ALocal★ 7Claude Code +5 - 0.644score

Gemini FAF
faf.one
Persistent project context for Google Gemini.
ConnectorAFreshness: ALocal★ 2↓ 215/wkClaude Code +5 - 0.606score

Rust FAF
faf.one
Persistent project context — Rust-native MCP server.
ConnectorAFreshness: ALocal★ 4↓ 16/wkClaude Code +5 - 0.484score
Wjttc
faf.one
F1-grade MCP certification.
ConnectorCFreshness: CLocalClaude Code +5
Cite this page
Claude FAF MCP server. Agent Mart. https://agentmart.dev/connectors/faf-one-claude-faf-mcp (last updated 2026-10-24)