trackmcp
Back to directory
Wolfe-Jam

claude-faf-mcp

View on GitHub

๐Ÿงกโšก๏ธ .FAF format's Official Anthropic MCP | First and only Persistent Project Context for Claude Desktop - 33+ tools, Podium scoring, 100% TypeScript strict โ€ข MIT license, free Open Source

7 stars TypeScriptAI & Machine Learning Updated Nov 3, 2025
aiai-contextai-readinessai-readyclaudeclaude-aiclaude-desktopcontext-extractiondeveloper-toolsfaffaf-dnafaf-foreverfaf-onegithub-copilotmcpmcp-servermodel-context-protocolproject-dnatypescriptvscode

Documentation

claude-faf-mcp โ€” The Projector Floor

npm version
Smithery
FAF Trophy 100%
IANA: vnd.faf+yaml
IANA: vnd.fafm+yaml
DOI: Context paper
DOI: Memory paper

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.

Anthropic MCP
CI
NPM Downloads
License: MIT
Chat to FAFA live

FAF defines. MD instructs. AI codes.

โญ Bookmarks it for you, helps other devs find it too.

v0.2-conformant reader of the FAF Context Ingestion Contract.

> ๐Ÿ˜ tri-sync | `.faf` โ†” `CLAUDE.md` โ†” `MEMORY.md` in one command.

> โšก New: `/faf` prompt โ€” type `/faf` in Claude Desktop. It checks your project, scores it, drives it to 100%, and syncs. Relentlessly. One command.

> v5.22.0 โ€” The Projector Floor. A2A mapper uses faf cards โ€” https://faf.one/context, same fafContextBlock() as MCP. Not raw provenance. Pin `faf-cli ^7.8.0`. Core 12 tools. Language rail still arrives by composition.

> v5.21.0 โ€” The Compose Edition. Language Editions arrive by composition โ€” pin faf-cli ^7.7.0 so Core `faf_auto` inherits the CLI rail (Dart ยท Go ยท C# ยท JVM ยท Ruby ยท Swift); Core 12 tools; `faf_enhance` removed. Turbo-Cat stays in faf-cli; CFM does not fork detectors. Permanent E2E: `tests/wjttc-edition-compose.test.ts`. Sibling MCP precedent: `docs/compose-faf-cli.md`.

> v5.20.0 โ€” The GitHub Registry Edition. claude-faf-mcp joins GitHub's MCP Registry โ€” discoverable in VS Code โ€” as Claude FAF, its display title now emitted from `project.faf`, single-sourced and idempotent. The registry derives a display name from the server-card `title`; CFM now provides it through the emitter (`name` + `_meta` + `title`, all composed from `project.faf`, never hand-authored โ€” the BRAKE B1 test enforces emitted == live).

> v5.15.0 โ€” The Instructions Edition. CFM writes the file Copilot reads โ€” done right. `.github/copilot-instructions.md` is now genuine, distinct Copilot *instructions*: a prose overview, a `## Build & run` command 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_sync` gains a `copilot` flag (`all` includes 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_sync` now emits every format (`agents`/`cursor`/`gemini`/`copilot`/`all`) from the default surface; the redundant `faf_bi_sync` is 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 `+N` is 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_bench` proves 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_go` now bootstraps a cold repo (init โ†’ auto โ†’ 6Ws), and you can still just type `faf` to 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.

Context for Claude: faf-cli keeps this MCP's CLAUDE.md / AGENTS.md in sync from one scored source โ€” `bunx faf sync`. See FAF-CLI for Claude Code ๐Ÿ‘€.

> ๐Ÿ† Compose floor faf-cli ^7.8.0. `faf cards` + language Editions arrive by composition. Turbo-Cat stays in faf-cli; CFM does not fork detectors. Precedent: `docs/compose-faf-cli.md`.

> ๐Ÿ† 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.

> ๐Ÿ† v5.9.0 โ€” The Sourced Edition. Every answer comes from one source. `faf_go` and 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 `/faf` prompt 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 (`structuredContent` everywhere); every score carries a deterministic parity hash any engine reproduces, sealed in a self-verifying `โœช` receipt. Installed explicitly via `faf_setup` โ€” preview first, your settings preserved. Built on the Canonical foundation: path-confined file access, edge-direct remote, 35 tools.

12 Core MCP tools (34 with `FAF_TOOLS=all`). IANA-registered formats (`application/vnd.faf+yaml` ยท `application/vnd.fafm+yaml`). 592 tests per suite.


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?
UberPeople who need a rideTap a button, car arrivesTaxis were broken
AirbnbTravelers who can't afford hotelsStay in someone's spare roomMillions of empty rooms exist
SlackTeams drowning in emailOrganized group messagingDecisions buried in threads
VenmoFriends splitting billsSend money instantlySomeone always forgets to pay back

Same pattern. Every product that works starts here. `.faf` captures it:

yaml
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:

yaml
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**


Quick Start

faf-cli โ€” universal (any AI)

bash
npx faf-cli auto

Same `.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.22.1.mcpb`**

Double-click. Zero-Config โ€” no terminal, no JSON config. 12 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`

json
{
  "mcpServers": {
    "faf": { "command": "bunx", "args": ["claude-faf-mcp"] }
  }
}

Install โ€” manual npm

bash
npm install -g claude-faf-mcp

Smithery: wolfe-jam/claude-faf-mcp โ€” hosted at `https://mcpaas.live/claude/mcp/v1`

Restart 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

code
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:

code
faf: context โœช 100% โ€” fresh ยท +7 intent the code can't carry

That 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:

code
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 line
  • One source of truth. `.faf` โ†” `CLAUDE.md` stay in sync (bi-sync'd). Add `MEMORY.md` for 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

TierScoreWhat it means
๐Ÿ† TROPHY100%Gold Code โ€” AI is optimized
โ˜… GOLD99%+Near-perfect context
โ—† SILVER95%+Excellent
โ—‡ BRONZE85%+Production ready
โ— GREEN70%+Solid foundation
โ— YELLOW55%+AI flipping coins
โ—‹ REDWolfe, 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

> Wolfe, J. (2026). *Why Agents Need a Passport: .fafa โ€” Portable Identity for the Agentic Era*. Zenodo. https://doi.org/10.5281/zenodo.21951641

BibTeX

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}
}

@article{wolfe2026fafa,
  title     = {Why Agents Need a Passport: .fafa โ€” Portable Identity for the Agentic Era},
  author    = {Wolfe, James},
  year      = {2026},
  month     = {aug},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.21951641},
  url       = {https://doi.org/10.5281/zenodo.21951641}
}

License

MIT โ€” Free and open source


FAF Family

**faf-cli**`npx faf-cli init` โ€” create .faf for any project
**claude-faf-mcp**MCP server for Claude Desktop
**gemini-faf-mcp**MCP server for Gemini CLI
**grok-faf-mcp**MCP server for Grok
**faf-mcp**MCP server for Cursor, Windsurf, Cline, VS Code
**rust-faf-mcp**MCP server in Rust
**faf-skills**17 Claude Code skills
**faf.one**Blog, downloads, docs
**IANA: vnd.faf+yaml**Context format (2025-10-30)
**IANA: vnd.fafm+yaml**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.

bash
npx faf-cli auto

**Anthropic 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.

Frequently asked questions

What is claude-faf-mcp?

claude-faf-mcp is ๐Ÿงกโšก๏ธ .FAF format's Official Anthropic MCP | First and only Persistent Project Context for Claude Desktop - 33+ tools, Podium scoring, 100% TypeScript strict โ€ข MIT license, free Open Source

How do I install claude-faf-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is claude-faf-mcp open source?

Yes โ€” it is hosted on GitHub at https://github.com/Wolfe-Jam/claude-faf-mcp and has 7 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP