SuperAPI AI Directory

faf-mcp

Persistent project context in the IANA-registered .faf format, with AI-readiness scoring.

Open website

About this tool

Purpose

faf-mcp is the IDE-facing MCP server in the FAF ecosystem, with the goal of providing persistent, unified project context for AI coding tools such as Cursor, Windsurf, Cline, VS Code, and other non-Claude platforms. The problem it solves is: every AI tool needs its own context file (.cursorrules, AGENTS.md, GEMINI.md, CLAUDE.md, etc.), with the same content but different formats, maintained in a scattered way and prone to becoming stale. faf-mcp's approach is to maintain a single project.faf in the repository, from which it uniformly generates and syncs to each format.

Main capabilities

  • Context sync: with project.faf as the single source of truth, write out the context files required by each AI tool in milliseconds.
  • Batch write-out: faf_claude { all: true } can write out four formats at once.
  • Reverse import: faf_agents, faf_cursor, and faf_gemini can import existing files, and with merge: true, merge them into project.faf.
  • Preserve existing content: content outside the faf-managed block is preserved byte-for-byte.
  • AI readiness scoring: all tools use the always-33 kernel scoring from faf-cli 8.0.0; among the 33 Mk4 slots, unused (slotignored) enterprise slots (infra, app, ops) are removed from the denominator.
  • Toolset tiering: by default, 15 core tools are shown; setting FAF_TOOLS=all enables all 29; whether shown or not, all tools can be invoked by name.
  • Resource URIs: faf://context and faf://status; in this version, claude-faf:// can still be read as an alias.

How to use

  • Run locally over stdio. Add one of the following to the MCP configuration: npx faf-mcp or bunx faf-mcp
  • Prompt mode: use "Use FAF" at the beginning of each prompt to invoke the MCP tools.
  • 15 default core tools: faf_init, faf_auto, faf_go, faf_git, faf_sync, faf_score, faf_doctor, faf_agents, faf_cursor, faf_gemini, faf_claude, etc. (the official list gives 15 in total; these are not guessed one by one here).
  • After FAF_TOOLS=all, an additional 14 are opened up: faf_status, faf_what, faf_guide, faf_debug, faf_clear, faf_list, faf_read (read files within allowed roots: cwd, the system temp directory, or FAF_ALLOWED_ROOTS), faf_write (write files within the same roots), faf_readme, faf_human_add, faf_quick, faf_formats, faf_dna, faf_conductor.

4.0.0 release highlights (Always33)

faf-mcp 4 and faf-cli 8 share the always-33 kernel scoring, and give the same score as claude-faf-mcp 7 and faf-kernel. When upgrading from 3.x, a .faf missing 12 markers will be scored against 33 slots; running faf_auto can write the markers and restore scoring.

3.0 series capabilities

  • faf_git uses a unified scorer, reports the faf-cli score of the files it generates, and asks before overwriting an existing project.faf.
  • faf_sync previews each change; a dry run lists the fields that will be updated and prompts apply: true.
  • When importing without a write, it says so explicitly; with merge: true but no project.faf, it fails explicitly.
  • It does not call an external shell: the source does not import child_process, and tool output contains no CLI commands or terminal color codes.
  • Files are generated by the renderer, repository enrichment, and block injector from faf-cli 7.12, byte-identical to what faf export and faf sync write out.

Applicable scenarios

  • Teams use multiple AI coding tools (Cursor, Windsurf, Cline, VS Code, Gemini, etc.) and need unified context.
  • Keep project context consistent across branches, sessions, and members, avoiding AI having to guess anew each time.
  • Want to quantify context completeness (score grades range from 55% "guess" to 100% "optimization"), and complete accordingly.

Limitations and Prerequisites

  • Requires Node.js 22 or newer (18 and 20 are end-of-life; the CI matrix covers 22 and 24).
  • Runs locally via stdio.
  • faf_read and faf_write can only operate within allowed root directories (cwd, the system temporary directory, or FAF_ALLOWED_ROOTS).
  • The remaining specific platform support scope, fees, and pricing information are not yet provided.