📇 🏠 - Persistent project context in the .faf (Foundational AI-context Format), with project DNA and Podium…
claude-faf-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Home:** faf.one/mcp
**Site:** 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.**
⭐ Bookmarks it for you, helps other devs find it too.
**v0.2-conformant reader** of the FAF Context Ingestion Contract.
> 🐘 **tri-sync** | .faf → MEMORY.md (faf_tri_sync), alongside .faf → CLAUDE.md (faf_sync).
> ⚡ **The faf prompt** — pick it from your host's prompt list (Claude Code shows it as /mcp__ __faf). It scores your project, fills what the repo can, asks you only what only you can answer, verifies, and syncs.
> **7.0.0 is a major release — scores can move.** claude-faf-mcp now scores with faf-cli 8's always-33 engine. A .faf without the 12 enterprise slotignored markers counts them as empty (21 filled = 64%): run faf_auto and it writes the markers. The npx config and the SessionStart hook are not pinned to a version, so an install that runs npx -y claude-faf-mcp moves to 7.x on its next start. Every change is in the CHANGELOG.
**Context for Claude:** faf-cli writes this repo's CLAUDE.md from its scored project.faf — faf_sync here, faf sync in faf-cli. See FAF-CLI for Claude Code 👀.
**Composes faf-cli** (the version is pinned in package.json). Detection, scoring, the renders and every writer are faf-cli's own functions, loaded as a dependency; claude-faf-mcp does not fork them and never runs a faf found on your PATH.
Core 14 MCP tools (30 with FAF_TOOLS=all). IANA-registered formats (application/vnd.faf+yaml · application/vnd.fafm+yaml).
---
What's New in v7.0.1 — The Always33 Edition
**faf-cli 8.0.1 inside: pnpm installs work, and fast-uri is out of two moderate advisories.**
- **pnpm installs work.** faf-cli 8.0.1 gets its scoring kernel from npm, so pnpm (and Glama's build) install claude-faf-mcp cleanly. The Claude Desktop .mcpb carries it too.
- **fast-uri 4.2.1**, out of two moderate advisories; npm audit is clean.
The Always33 Edition (7.0)
**One engine, one number: claude-faf-mcp 7 scores with faf-cli 8's always-33 kernel — the same score faf-cli and faf-kernel give.**
- **The always-33 engine.** Every tool scores with faf-cli 8.0.0 — all 33 Mk4 slots, one Rust kernel. Checked live: faf-python-sdk 56, mcp-context-card 56, faf-cli ✪ 100, the same numbers faf-cli and the reference scorer give.
- **Your 21 slots, and the 12 enterprise slots in view.** The enterprise slots (infra, app, ops) are marked slotignored unless your app-type uses them. faf_score scores against all 33; slotignored slots drop out of the denominator.
- **Upgrading:** a .faf without the 12 markers now scores against 33. **Run faf_auto** — it writes them and your score returns (56% → ✪ 100% on a real v7-era file).
---
v6.0.0 — The Earned Badge Edition
**Every badge earned, none claimed: claude-faf-mcp 6.0 composes faf-cli, touches only what it wrote, and every tool tells the truth — one score, facts from repo, nothing from your PATH.**
- **Composes faf-cli 7.13.** Detection, scoring, the renders and every writer are faf-cli's own functions. claude-faf-mcp never runs a faf it finds on your PATH.
- **Touches only what it wrote.**
- Every write is atomic and goes through faf-cli's safe path, and a file that links out of the project is refused.
- project.faf edits keep your comments and exact values.
- Your soul.fafm and Claude's own MEMORY.md notes stay as you left them.
- **One score.** Every tool shows faf-cli's score, and ✪ appears only at 100%.
- **Facts from repo.** Every empty slot says what fills it:
- a **fact from repo**, which faf_auto writes;
- **no fact in repo**, which you answer with faf_go;
- or **yours**, for the 6Ws.
- **Tools that tell the truth.**