Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.Wolfe-Jam/claude-faf-mcp

NPM · CLAUDE-FAF-MCP · 3 COMPONENTS · SCANNED SEP 20

Persistent project context for Claude. IANA-registered .faf format.

−1 this week 81 Trust /100

Deprecated

This server is marked deprecated in the MCP registry.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security89
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known low-severity CVE affects esbuild 0.27.7, a direct dependency. A fixed version is available. View diagnostics → Fail
  • Runs a script at install time (postinstall) that we could not recognise. It may be perfectly ordinary, but we do not read the published tarball, so we cannot say what it does. View diagnostics → Partial
  • 37 of 145 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 6 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability82
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 2730 tokens (~71/item across 38 items; 35 tools + 3 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (34% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 35 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 36 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.Wolfe-Jam/claude-faf-mcp server?

io.github.Wolfe-Jam/claude-faf-mcp runs locally as an npm package, launched with npx -y claude-faf-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · claude-faf-mcp

# add to Claude Code
claude mcp add wolfe-jam-claude-faf-mcp -- npx -y claude-faf-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "wolfe-jam-claude-faf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "claude-faf-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "wolfe-jam-claude-faf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "claude-faf-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add wolfe-jam-claude-faf-mcp -- npx -y claude-faf-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "wolfe-jam-claude-faf-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "claude-faf-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add wolfe-jam-claude-faf-mcp --command npx --arg -y --arg claude-faf-mcp
# ~/.hermes/config.yaml
mcp_servers:
  wolfe-jam-claude-faf-mcp:
    command: "npx"
    args: ["-y", "claude-faf-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "wolfe-jam-claude-faf-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "claude-faf-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add wolfe-jam-claude-faf-mcp -t stdio -c npx -a -y claude-faf-mcp
// mcp.json
{
  "mcpServers": {
    "wolfe-jam-claude-faf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "claude-faf-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 −3
    • Stability: pass → 0.77 functional
  • 16 Sept 26 0
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 9 Sept 26 0
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/claude-faf-mcp@5.9.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
postinstall unreviewed node scripts/postinstall.js

Background: Why install scripts are a supply-chain risk →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-g7r4-m6w7-qqqr low CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 145 packages
Packages resolved 145
Stale 37
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 35 exposed · ~2,691 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
faf ~54

Type "faf" to start. Scores your project, drives it to 100%, syncs everything. The one command that does it all.

NameTypeReqDescription
pathstringProject path (optional — uses current directory if not provided)

No output schema declared.

No examples provided.

faf_about ~20

Learn what .faf format is - project DNA for AI

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

faf_agents ~107

Import/Export/Sync between AGENTS.md (OpenAI/Codex) and project.faf - AI interop!

NameTypeReqDescription
actionstringyesAction: import (AGENTS.md -> .faf), export (.faf -> AGENTS.md), sync (bidirectional)
forcebooleanForce overwrite existing files
mergebooleanMerge imported data with existing .faf instead of replacing
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_auto ~55

Run the full FAF pipeline in one step: init + sync + formats + bi-sync + score.

NameTypeReqDescription
forcebooleanForce overwrite existing files
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_bi_sync ~186

Bi-directional sync between project.faf and CLAUDE.md. v4.5.0: Also sync to AGENTS.md, .cursorrules, GEMINI.md!

NameTypeReqDescription
agentsbooleanAlso sync to AGENTS.md (OpenAI/Codex format)
allbooleanSync to ALL formats: CLAUDE.md + AGENTS.md + .cursorrules + GEMINI.md
autobooleanEnable automatic synchronization
cursorbooleanAlso sync to .cursorrules (Cursor IDE format)
forcebooleanForce overwrite conflicting changes
geminibooleanAlso sync to GEMINI.md (Google Gemini format)
pathstringProject path. Sets session context for subsequent calls.
watchbooleanStart real-time file watching for changes

No output schema declared.

No examples provided.

faf_check ~70

Quality inspection for human_context fields + field protection - Shows empty/generic/good/excellent ratings

NameTypeReqDescription
pathstringProject path. Sets session context for subsequent calls.
protectbooleanLock good/excellent fields from being overwritten
unlockbooleanRemove all field protections
NameTypeReqDescription
emptyCountnumberFields that are empty
fieldsobjectPer-field quality + protection (report mode)
goodCountnumberFields rated good or excellent
modestringyesreport | protect | unlock
protectedarrayField names currently protected
protectedNowarrayFields newly protected by this call (protect mode)
qualityPercentnumberShare of fields rated good/excellent (report mode)

No examples provided.

faf_clear ~67

Clear caches, temporary files, and reset FAF state for a fresh start

NameTypeReqDescription
allbooleanClear everything (default)
backupsbooleanClear backup files only
cachebooleanClear trust cache only
todosbooleanClear todo lists only

No output schema declared.

No examples provided.

faf_conductor ~97

Import/Export between conductor/ directory (Google Conductor) and project.faf - AI interop!

NameTypeReqDescription
actionstringyesAction: import (conductor/ -> .faf), export (.faf -> conductor/)
forcebooleanForce overwrite existing files
mergebooleanMerge imported data with existing .faf instead of replacing
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_context ~42

Set or view active project context - Path is remembered for subsequent faf_ calls

NameTypeReqDescription
pathstringSet active project path. If omitted, shows current context.
NameTypeReqDescription
activestringyesAbsolute path of the active project
changedbooleanyesTrue if this call set a new context, false if it only reported
filenamestring|nullThe .faf filename, if found
hasFafbooleanyesWhether a project.faf (or .faf) was found there

No examples provided.

faf_cursor ~109

Import/Export/Sync between .cursorrules (Cursor IDE) and project.faf - AI interop!

NameTypeReqDescription
actionstringyesAction: import (.cursorrules -> .faf), export (.faf -> .cursorrules), sync (bidirectional)
forcebooleanForce overwrite existing files
mergebooleanMerge imported data with existing .faf instead of replacing
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_debug ~25

Debug Claude FAF MCP environment - show working directory, permissions, and FAF CLI status

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

faf_dna ~38

Show the project FAF DNA — score history and progression over time.

NameTypeReqDescription
pathstringProject path. Sets session context for subsequent calls.
NameTypeReqDescription
authenticatedbooleanWhether the birth certificate is authenticated
birthScorenumberScore at birth
certificatestring|nullBirth certificate ID
currentScorenumberCurrent score
daysActivenumberDays since birth
hasDnabooleanyesWhether a .faf-dna history exists (or was just created)
hasFafbooleanyesWhether a project.faf was found
justBornbooleanTrue if this call created the birth certificate
milestonesarrayRecorded milestones
totalGrowthnumbercurrentScore - birthScore

No examples provided.

faf_doctor ~39

Health check for your .faf setup - Diagnose and fix common issues

NameTypeReqDescription
pathstringProject path. Sets session context for subsequent calls.
NameTypeReqDescription
checksnumberyesNumber of checks run
diagnosticsarrayyesPer-check results
errorsnumberCount of error-level findings
healthstringyesOverall verdict: ok | warning | error
warningsnumberCount of warning-level findings

No examples provided.

faf_enhance ~125

Enhance project.faf (project DNA for AI) with AI optimization — persistent context, zero drift

NameTypeReqDescription
consensusbooleanBuild consensus from multiple AI models
dryRunbooleanPreview enhancement without applying changes
focusstringEnhancement focus: claude-optimal|human-context|ai-instructions|completeness
modelstringTarget AI model: claude|chatgpt|gemini|universal (default: claude)
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_etch ~145

Etch a memory — remember this across sessions (a decision, gotcha, or win). Writes to the project soul (.fafm).

NameTypeReqDescription
idstringStable id — re-etching the same id updates in place (dedup)
pathstringProject path. Sets session context for subsequent calls.
prioritystringRecall ranks by priority then recency
tagsarrayTags (e.g. decision, gotcha, win) for filtering + recall coupling
textstringyesThe memory to remember — capture the why (decision/gotcha/win)
typestringMemory category
NameTypeReqDescription
etchedobjectyes
namepointstring
soulstringyesPath to soul.fafm
totalnumberTotal memories in the soul

No examples provided.

faf_formats ~52

Discover all formats in the project (154+ validated types) and fill stack slots.

NameTypeReqDescription
jsonbooleanReturn results as JSON
pathstringProject path. Sets session context for subsequent calls.
NameTypeReqDescription
countnumberyesNumber of known formats discovered
directorystringyesDirectory that was scanned
elapsedMsnumberDiscovery time in milliseconds
formatsarrayyesDiscovered formats
intelligenceScorenumberTotal intelligence score across discovered formats
slotFillRecommendationsobjectRecommended .faf slot fills derived from discovered formats
stackSignaturestringDerived stack signature

No examples provided.

faf_friday ~43

Detect the FAF Chrome extension and run fuzzy-matching helpers.

NameTypeReqDescription
teststringTest fuzzy matching with typos like "raect" or "chr ext"

No output schema declared.

No examples provided.

faf_gemini ~108

Import/Export/Sync between GEMINI.md (Google Gemini CLI) and project.faf - AI interop!

NameTypeReqDescription
actionstringyesAction: import (GEMINI.md -> .faf), export (.faf -> GEMINI.md), sync (bidirectional)
forcebooleanForce overwrite existing files
mergebooleanMerge imported data with existing .faf instead of replacing
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_git ~74

Generate project.faf from any GitHub repo URL - 1-click context extraction!

NameTypeReqDescription
pathstringOutput directory for generated project.faf. If omitted, returns content without writing.
urlstringyesGitHub repository URL (e.g., https://github.com/owner/repo or owner/repo)

No output schema declared.

No examples provided.

faf_go ~87

Guided interview to Gold Code (100%): returns questions for missing fields, then applies your answers.

NameTypeReqDescription
answersobjectAnswers to apply. Keys are field paths (e.g., "project.goal", "human_context.why"), values are the answers. If provided, applies answers and returns new score.
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_guide ~27

FAF MCP usage guide for Claude Desktop - Projects convention, path resolution, and UX patterns

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

faf_human_add ~78

Add a human_context field (who/what/why/where/when/how) - Non-interactive for MCP

NameTypeReqDescription
fieldstringyesThe 6 W field to set
pathstringProject path. Sets session context for subsequent calls.
valuestringyesThe value to set for the field

No output schema declared.

No examples provided.

faf_init ~116

Create project.faf (project DNA for AI) - Makes your project instantly AI-readable . Just enter path or project name. Examples: ~/Projects/my-app, my-app, /full/path/to/project

NameTypeReqDescription
forcebooleanOverwrite existing project.faf if it exists
pathstringProject path or name. Smart resolution: "my-app" finds ~/Projects/my-app OR ~/Code/my-app. Full paths like ~/Projects/app or /Users/me/code/app work too. Omit to use current directory.

No output schema declared.

No examples provided.

faf_list ~140

List directories and discover projects with project.faf files - Essential for FAF discovery workflow

NameTypeReqDescription
depthnumberDirectory depth to scan: 1 (immediate children) or 2 (one level deeper). Default: 1
filterstringFilter: "faf" (only dirs with project.faf), "dirs" (all directories), "all" (dirs and files). Default: "dirs"
pathstringyesDirectory path to list (e.g., ~/Projects, /Users/username/Projects)
showHiddenbooleanShow hidden files/directories (starting with .). Default: false
NameTypeReqDescription
directorystringyesAbsolute path that was scanned
entriesarrayyesThe listed entries
fafProjectsnumberHow many entries contain a project.faf
filterstringFilter applied: faf | dirs | all
totalnumberyesNumber of entries returned

No examples provided.

faf_quick ~88

Lightning-fast .faf creation - One-liner format: "name, description, language, framework, hosting"

NameTypeReqDescription
forcebooleanForce overwrite existing .faf file
inputstringyesQuick input: "project-name, description, language, framework, hosting" (minimum: name, description)
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_read ~45

Read a file within the project root (cwd / FAF_ALLOWED_ROOTS). Paths that escape the project are refused.

NameTypeReqDescription
pathstringyesAbsolute or relative file path to read

No output schema declared.

No examples provided.

faf_readme ~92

Extract 6 Ws (Who/What/Why/Where/When/How) from README.md into human_context - Smart pattern matching

NameTypeReqDescription
applybooleanApply extracted content to project.faf (default: preview only)
forcebooleanOverwrite existing human_context values (default: only fill empty slots)
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_recall ~105

Recall memories from the project soul (.fafm), ranked by priority then recency.

NameTypeReqDescription
limitnumberMax memories to return
minPrioritystringPriority floor (default ephemeral)
pathstringProject path. Sets session context for subsequent calls.
querystringCase-insensitive substring match on memory text (optional)
tagsarrayFilter by tag intersection
typestringFilter by memory type
NameTypeReqDescription
memoriesarrayyes
soulstring
soulTotalnumberTotal memories in the soul
totalnumberyesNumber returned

No examples provided.

faf_score ~59

Calculate your project's AI-readability from project.faf (project DNA for AI) - F1-inspired metrics!

NameTypeReqDescription
detailsbooleanInclude detailed breakdown and improvement suggestions
pathstringProject path. Sets session context for subsequent calls.
NameTypeReqDescription
activenumberSlots active for this app_type
emptynumberActive slots still empty
hasFafbooleanyesWhether a readable, valid project.faf was scored
ignorednumberSlots marked slotignored (inactive for this app_type)
inheritedbooleanTrue if the score is attested from a source repo (app_type: about)
nextTierobject|nullNext tier above the current score, or null at top tier
parityobjectDeterminism parity receipt — an engine-agnostic hash any conformant scorer reproduces for this exact file. Third-party verifiable: sha256(projection) === parityHash.
pathstringPath that was scored
populatednumberActive slots that are filled
scorenumberyesAI-readiness score, 0-100
tierstringyesTier name for this score (e.g. Bronze, Trophy)
totalnumberTotal slots

No examples provided.

faf_setup ~132

Install the native SessionStart hook — every Claude Code session in this project starts with fresh .faf context. Shows the exact settings JSON first (preview); writes only with confirm: true. Non-destructive: existing settings and hooks are preserved. remove: true uninstalls exactly the faf hook.

NameTypeReqDescription
confirmbooleanActually write the hook into .claude/settings.json. Without it, faf_setup only previews.
pathstringProject path. Defaults to the current project context.
removebooleanRemove the faf SessionStart hook (and only it) from .claude/settings.json.
NameTypeReqDescription
actionstringyesWhat faf_setup did
hookCommandstringThe command the SessionStart hook runs
messagestringyesHuman-readable summary
settingsobjectThe full settings object as written (or as it would be written in preview)
settingsPathstringyesThe settings file involved

No examples provided.

faf_status ~45

Check if your project has project.faf (project DNA for AI) - Shows AI-readability status

NameTypeReqDescription
pathstringProject path. Sets session context for subsequent calls.
NameTypeReqDescription
directorystringyesDirectory that was checked
filenamestring|nullThe .faf filename, if found
hasFafbooleanyesWhether a project.faf (or .faf) was found
pathstring|nullAbsolute path to the .faf file, if found

No examples provided.

faf_sync ~45

Sync project.faf (project DNA for AI) with CLAUDE.md - Bi-directional context

NameTypeReqDescription
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_tri_sync ~70

Tri-directionally sync project.faf ↔ CLAUDE.md ↔ MEMORY.md so context persists across sessions.

NameTypeReqDescription
actionstringexport = sync .faf to MEMORY.md, status = show MEMORY.md state
pathstringProject path. Sets session context for subsequent calls.

No output schema declared.

No examples provided.

faf_trust ~48

Attest project.faf integrity — validity, score, and a deterministic parity hash any conformant engine reproduces.

NameTypeReqDescription
pathstringProject path. Sets session context for subsequent calls.
NameTypeReqDescription
hasFafbooleanyesWhether a project.faf was found
parityobjectDeterminism parity receipt (same shape as faf_score.parity).
pathstringPath that was attested
reasonstringWhy validation failed, when valid is false
receiptobjectThe ✪ trust receipt — render-identical, self-verifying score+parity artifact.
scorenumberAI-readiness score, 0-100
sourceSha256stringSHA-256 of the raw .faf bytes
tierstringTier name for this score
validbooleanyesWhether the project.faf is readable and valid

No examples provided.

faf_write ~58

Write a file within the project root (cwd / FAF_ALLOWED_ROOTS). Paths that escape the project are refused.

NameTypeReqDescription
contentstringyesContent to write to the file
pathstringyesAbsolute or relative file path to write

No output schema declared.

No examples provided.

Common questions

What is the io.github.Wolfe-Jam/claude-faf-mcp server?

io.github.Wolfe-Jam/claude-faf-mcp is listed in the public MCP registry as io.github.Wolfe-Jam/claude-faf-mcp. Persistent project context for Claude. IANA-registered .faf format. This page covers its npm package (claude-faf-mcp).

Is the io.github.Wolfe-Jam/claude-faf-mcp server safe to use?

io.github.Wolfe-Jam/claude-faf-mcp scores 81 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.Wolfe-Jam/claude-faf-mcp server expose?

io.github.Wolfe-Jam/claude-faf-mcp exposes 35 tools: faf, faf_about, faf_status, faf_score, faf_init, and 30 more. Their descriptions and schemas cost roughly 2,691 tokens of context every time the server is loaded.

Is the io.github.Wolfe-Jam/claude-faf-mcp server still maintained?

io.github.Wolfe-Jam/claude-faf-mcp is marked deprecated in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.Wolfe-Jam/claude-faf-mcp server under?

io.github.Wolfe-Jam/claude-faf-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.