TL;DR: gemini-faf-mcp v3 and grok-faf-mcp v2 score with the always-33 engine, so Gemini and Grok give your file the same number as faf-cli. Upgrading? Run faf auto once. It marks the 12 enterprise slots slotignored, and your score is back.

In Plain English

Old state. Gemini and Grok each scored on the older 21-slot model. The always-33 tools counted 33. The same file could read differently depending on which model you asked.

Fix. Both now score with the always-33 engine. Slots that are not applicable to a project are marked slotignored, and do not score.

New state. Same score in Gemini and Grok, and the same as faf-cli, Claude and your IDE.

Gemini CLI:

gemini extensions install https://github.com/Wolfe-Jam/gemini-faf-mcp

Grok: add to ~/.grok/config.toml, then restart (or /mcps r):

[mcp_servers.grok-faf-mcp] url = "https://mcpaas.live/grok/mcp/v1"

gemini-faf-mcp also runs with uvx gemini-faf-mcp (PyPI). grok-faf-mcp also runs locally with npx grok-faf-mcp or brew install wolfe-jam/faf/grok-faf-mcp.

What happened since the last posts

One blog, one arc. The last write-ups were gemini-faf-mcp v2.7 The Interop Edition and grok-faf-mcp v1.10 The No-Fluff Edition. Short tour to today:

  • gemini-faf-mcp v2.8: The Full-Facts Edition. faf_auto grounds its detection in the repo's own files, and every faf_model template scores 100%. Then a dependency patch and a privacy patch: the start-up ping is now opt-in. Not a blog.
  • gemini-faf-mcp v3.0.0 and grok-faf-mcp v2.0.0: The Always33 Edition. This is the log entry for the stretch.

This is Part IV of the Always33 series. Part I was faf-cli v8, where the engine was authored. Part II was claude-faf-mcp v7, Part III faf-mcp v4. The overview is The Always33 Suite.

gemini-faf-mcp v3

The Always33 engine, in Python. gemini-faf-mcp now needs faf-python-sdk 2.0.0, whose scorer returns exactly what faf-kernel returns. Every tool that reports a score (faf_score, faf_validate, faf_context, faf_gemini, faf_agents, faf_auto) scores the always-33 way.

  • Fresh files start complete. When faf_auto creates a project.faf, it writes all 12 enterprise slots, slotignored unless detection fills them. A FastAPI project scores 77, the same as under v2.
  • The 15 faf_model templates carry the 12 enterprise slots. The monorepo template fills four of them. Every template still scores 100%.
  • Existing files: without the 12 markers, a file with 21 slots filled reads 64%. faf auto (faf-cli) writes the markers and the score returns.

grok-faf-mcp v2

The Always33 engine, on npm and at the edge. grok-faf-mcp composes faf-cli ^8.0.0. faf_score, refresh_faf, faf_trust and the context resources all score with faf-cli v8's kernel. The hosted endpoint, mcpaas.live/grok/mcp/v1, scores with the same kernel, so the hosted and local numbers match. Checked live: faf-python-sdk 56, mcp-context-card 56, faf-cli ✪ 100.

  • Scoring never uses a faf from your PATH. Everything composes faf-cli in-process, so the answer is the same on every machine.
  • faf_init writes a real project.faf with faf-cli, including the 12 enterprise markers, and reports its real score.
  • ZEPH is opt-in. The Zig fast path gives the older 21-slot number, so it no longer replaces the always-33 score by default. USE_ZEPH=1 turns it on.
  • faf_score counts slots the way faf-cli does: populated of active (for example 11/15), not of 33.
  • One kernel copy. The only kernel in an install is faf-cli's.

Upgrading: run faf auto once

Both are major releases for the same reason. A .faf without the 12 enterprise markers now counts them as empty: 21 filled is 64%. Run faf auto (faf-cli) and the score returns. A new file from faf_auto in Gemini or faf_init in Grok already carries the markers. Anything that gates on faf_score should re-check its threshold.

Try it

Gemini CLI, after installing the extension:

/faf:setup /faf:score

Grok, with the hosted endpoint added: ask it to run faf_score on your project.faf.

More depth: The Always33 Suite · gemini CHANGELOG · grok CHANGELOG.

Technical details

  • gemini-faf-mcp: 3.0.0 (September 28, 2026) · PyPI + Gemini CLI extension · 13 tools · 266 tests · scoring via faf-python-sdk 2.0.0
  • grok-faf-mcp: 2.0.0 (September 27, 2026) · npm + Homebrew + hosted mcpaas.live/grok/mcp/v1 · 12 tools local, 19 hosted · scoring via faf-cli v8
  • Edition: The Always33 Edition
  • Scoring: the always-33 engine; 21 slots filled, the 12 enterprise slots slotignored