TL;DR: claude-faf-mcp v7 scores with faf-cli v8's always-33 kernel, so
Claude gets the same number as faf-cli and faf-kernel. Upgrading from v6? Run faf_auto once. It marks the 12 enterprise slots slotignored, and
your score is back.
In Plain English
Old state. claude-faf-mcp used faf-cli v7's scoring, which counted 21 slots. The always-33 tools counted 33. Claude and the rest of FAF could show different numbers for the same file.
Fix. v7 composes faf-cli v8. Every tool's score now comes from the
always-33 kernel. Slots that are not applicable to a project are marked slotignored, and do not score.
New state. Unified scoring. Claude gives your file the same score as faf-cli, and as every other FAF tool.
Claude Code:
claude mcp add faf -- npx -y claude-faf-mcpClaude Desktop: one click with the claude-faf-mcp-7.0.1.mcpb extension, which runs the server bundled inside it. Or add npx -y claude-faf-mcp to claude_desktop_config.json.
claude.ai: add https://mcpaas.live/claude/mcp/v1 as a custom
connector (Settings → Connectors, no sign-in). It's the hosted edge version: 19 read-only
tools and the same Always33 score. It can't reach files on your machine, so paste a .faf or point it at a GitHub repo.
What happened since The Projector Floor
One blog, one arc. The last claude-faf-mcp write-up was v5.22 The Projector Floor. Short tour to today:
- v5.22.1: a patch on The Projector Floor. Not a blog.
- v6.0.0: The Earned Badge Edition. Every badge earned, none claimed: it composes faf-cli, touches only what it wrote, and every tool tells the truth. Not a blog.
- v7.0.0: The Always33 Edition. This is the log entry for the stretch.
This is Part II of the Always33 series. Part I was faf-cli v8, where the engine was authored. The overview is The Always33 Suite.
What v7 is
The Always33 engine, in Claude. claude-faf-mcp composes faf-cli ^8.0.0. The old range, ^7.13.1, could never reach 8.x. Every
tool's score is now faf-cli v8's, from the always-33 kernel. Checked live: faf_score gave faf-python-sdk 56, mcp-context-card 56 and faf-cli ✪ 100, the
same as faf-cli v8 and the reference always-33 scorer.
Your 21 slots, and the 12 enterprise slots in view. faf-cli fills the 21
base slots and marks the 12 enterprise slots slotignored unless your app type
uses them. Those slots drop out of the count.
Upgrading: run faf_auto once
This is why v7 is a major release. A .faf without the 12 enterprise markers
now counts them as empty: 21 filled is 64%. Run faf_auto. It writes the
markers and the score returns. On a v7-era file we tested:
faf_auto 56% → ✪ 100%Anything that gates on faf_score should re-check its threshold. The npx config
and the SessionStart hook are not pinned, so they move to v7 on their next start. To stay
on v6, write claude-faf-mcp@6 in your config. The .mcpb runs the
version it was built from.
Also in v7
tbdandtodo, in any case, count as empty, the same as faf-cli v8.- The test fixtures that score 100% are written the faf-cli way: 21 slots plus the 12 enterprise markers.
Try it
Claude Code:
claude mcp add faf -- npx -y claude-faf-mcpThen, in Claude: ask it to run faf_auto, then faf_score. Or pick the faf prompt from your host's prompt list.
More depth: faf-cli v8 · The Always33 Suite · CHANGELOG · repo.
Technical details
- Version: 7.0.0 (September 26, 2026)
- Edition: The Always33 Edition
- Scoring: faf-cli v8's always-33 kernel (Rust → WASM); 21 slots filled,
the 12 enterprise slots
slotignored - Tools: Core 14 (30 with
FAF_TOOLS=all) - Tests: 513
- Runs in: Claude Code · Claude Desktop (
.mcpbor config) · claude.ai (hosted connector, 19 read-only tools) - Needs: Node 22 or later
Feedback welcome
Questions, nits, suggestions: guide the next version. Tell us what you want to see.
