TL;DR: claude-faf-mcp now composes faf-cli's language-detection rail instead of reimplementing it. Pin faf-cli ^7.7.0 and Core faf_auto inherits every language Edition already shipped on the CLI — Dart, Go, C#, JVM, Ruby, Swift — by construction, no forked detectors.
What's New
Composition, not reimplementation
Six language Editions shipped on faf-cli over the past few weeks — each one teaching the CLI to tell a real app from a bare library, a backend from a package manifest. claude-faf-mcp doesn't reimplement any of that detection logic. It composes it: bump the pinned faf-cli floor, and faf_auto / faf_formats inherit the whole rail.
Compose faf-cli ^7.7.0 (was ^7.2.0) What that one version bump carries in:
- 7.2.1 — Dart/Flutter knowledge v2
- 7.3 — Go
- 7.4 — C#
- 7.5 / 7.5.1 — JVM
- 7.6 — Ruby
- 7.7 — Swift
Every kill line the CLI already learned applies here too — go.mod alone doesn't mean backend, Package.swift alone doesn't mean app. claude-faf-mcp doesn't get its own opinion about that; it inherits the CLI's. One rail, one place it can go wrong, one place it gets fixed.
faf_enhance retired
AI-rewriting an already-filled project.faf was a silent DNA clobber — a tool that could overwrite what a human had confirmed, without telling you. It's gone. Stack detection and human-confirmed fields stay exactly where they belong: faf_auto for the facts, faf_go for the parts only you can answer. Core tier is now 12 tools.
Try It
npm install -g claude-faf-mcp@5.21.0 Already on claude-faf-mcp? Bumping to 5.21.0 is enough — the language rail arrives with the pin, nothing else to configure.
The Numbers
- v5.21.0 — Released August 11, 2026
- 12 Core tools — 34 total via
FAF_TOOLS=all - 592 tests — 0 fail
- ~20,000 — npm downloads for claude-faf-mcp to date
