Claude FAF
NPM · CLAUDE-FAF-MCP · 2 COMPONENTS · SCANNED AUG 3
Persistent project context for Claude. IANA-registered .faf format.
Available components
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 →
Supply Chain Security82
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (143 of 147), so this covers what we could see, not the whole tree.Partial
- 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
- Only part of the dependency tree could be resolved (143 of 147), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- 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 33 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability84
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1802 tokens (~112/item across 16 items; 13 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
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 (54% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · claude-faf-mcp
claude mcp add one-faf-claude-faf-mcp -- npx -y claude-faf-mcp
codex mcp add one-faf-claude-faf-mcp -- npx -y claude-faf-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"one-faf-claude-faf-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"claude-faf-mcp"
],
"enabled": true
}
}
} openclaw mcp add one-faf-claude-faf-mcp --command npx --arg -y --arg claude-faf-mcp
mcp_servers:
one-faf-claude-faf-mcp:
command: "npx"
args: ["-y", "claude-faf-mcp"] {
"mcpServers": {
"one-faf-claude-faf-mcp": {
"command": "npx",
"args": [
"-y",
"claude-faf-mcp"
]
}
}
} 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.
- 2 Aug 26 +39
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → partial ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- The scripts that run when this package is installed changed: postinstall security
- MCP protocol: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Licence: MIT functional
- 31 Jul 26 +18
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −16
- Malware scan: pass → unverified ▼ security
- Dependency health: unverified → partial ▲ functional
- 28 Jul 26 −29
- Schema quality: 100 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 27 Jul 26 53
First indexed and scored.
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 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| postinstall | unreviewed | node scripts/postinstall.js |
Dependencies 143 packages
143 packages in the resolved dependency tree · 138 deprecated · 34 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
faf_about ~58
Explain what the FAF format is — project DNA for AI — with its IANA registration, version, and connected platforms. Returns format metadata and the available MCP bridges. Use this when someone asks what FAF is or how it connects to other AI tools.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
faf_auto ~113
Scan your manifests (package.json, Cargo.toml, pyproject.toml, go.mod…) and fill the project.faf stack slots from real dependencies — no hardcoded defaults. Returns what was detected and the updated score. Use this for the technical context; use faf_go for the human 6Ws it can't detect, and faf_enhance to have an AI refine the result.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | — | Force overwrite existing files |
| path | string | — | Project path. Sets session context for subsequent calls. |
No output schema declared.
No examples provided.
faf_bench ~301
Prove the .faf earns its place — measure how much the context is worth, on THIS repo, falsifiably. Questions derive from the project.faf's own populated slots (the .faf is the answer key), so grading is mechanical — no judge, no rubric. action=questions returns the answer-key-safe question set; action=grade takes your answers WITHOUT the .faf (cold) and WITH it (faf), grades both, and returns the cold→with-faf lift with a ✪ receipt. The delta is the product; the cold number belongs to the absence of context, never to FAF.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | questions = get the answer-key-safe question set to answer; grade = submit cold + with-faf answers to score the delta. Default: questions. |
| cold | object | — | action=grade: answers produced WITHOUT the .faf (general repo knowledge only). Map of question number → answer string. |
| coldTokens | number | — | action=grade (optional): tokens spent answering cold. |
| faf | object | — | action=grade: answers produced WITH the project.faf in context. Map of question number → answer string. |
| fafTokens | number | — | action=grade (optional): tokens spent answering with the .faf. |
| model | string | — | action=grade (optional): the model that produced the answers. |
| path | string | — | Project path (optional — current directory if omitted). |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | — | — |
| cold | object | — | action=grade — score WITHOUT context (absence baseline). |
| delta | number | — | with-faf minus cold — the product. |
| faf | object | — | action=grade — score WITH the .faf. |
| protocol | string | — | in-session — answers are self-reported by the agent under test. |
| qsetHash | string | — | Hash of the question set — rides the receipt; same .faf reproduces it. |
| questions | array | — | action=questions only — NEVER includes the answer key. |
| receipt | object | — | ✪ receipt — sha256 over the canonical projection; third-party verifiable. |
| total | number | — | Number of questions in the set. |
| version | string | — | — |
No examples provided.
faf_context ~65
Set or show the active project path that subsequent faf_ calls resolve against. Returns the current context path. Call this once at the start of a session so the other tools target the right project.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | — | Set active project path. If omitted, shows current context. |
| Name | Type | Req | Description |
|---|---|---|---|
| active | string | yes | Absolute path of the active project |
| changed | boolean | yes | True if this call set a new context, false if it only reported |
| filename | string|null | — | The .faf filename, if found |
| hasFaf | boolean | yes | Whether a project.faf (or .faf) was found there |
No examples provided.
faf_doctor ~66
Diagnose a project.faf: report empty or weak slots, common issues, and how to fix each. Returns a prioritized checklist. Use this when faf_score is below target and you need to know why.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | — | Project path. Sets session context for subsequent calls. |
| Name | Type | Req | Description |
|---|---|---|---|
| checks | number | yes | Number of checks run |
| diagnostics | array | yes | Per-check results |
| errors | number | — | Count of error-level findings |
| health | string | yes | Overall verdict: ok | warning | error |
| warnings | number | — | Count of warning-level findings |
No examples provided.
faf_enhance ~159
Refine a project.faf with an AI model (claude/gemini/grok, optionally by consensus). Returns the enhanced content, or a dry-run preview when dryRun is set. Use this to polish after faf_auto and faf_go have filled the slots.
| Name | Type | Req | Description |
|---|---|---|---|
| consensus | boolean | — | Build consensus from multiple AI models |
| dryRun | boolean | — | Preview enhancement without applying changes |
| focus | string | — | Enhancement focus: claude-optimal|human-context|ai-instructions|completeness |
| model | string | — | Target AI model: claude|chatgpt|gemini|universal (default: claude) |
| path | string | — | Project path. Sets session context for subsequent calls. |
No output schema declared.
No examples provided.
faf_etch ~166
Remember a decision, gotcha, or win across sessions by writing it to the project soul (.fafm). Returns the stored memory's id. Use this to persist something an AI should recall later; use faf_recall to read them back.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | — | Stable id — re-etching the same id updates in place (dedup) |
| path | string | — | Project path. Sets session context for subsequent calls. |
| priority | string | — | Recall ranks by priority then recency |
| tags | array | — | Tags (e.g. decision, gotcha, win) for filtering + recall coupling |
| text | string | yes | The memory to remember — capture the why (decision/gotcha/win) |
| type | string | — | Memory category |
| Name | Type | Req | Description |
|---|---|---|---|
| etched | object | yes | — |
| namepoint | string | — | — |
| soul | string | yes | Path to soul.fafm |
| total | number | — | Total memories in the soul |
No examples provided.
faf_go ~186
The friendly front door — "let's go, tell me about your idea." Asks the human the 6Ws (goal, why, who, what, where, when) that can't be auto-detected, then applies them to project.faf. If no project.faf exists yet, faf_go bootstraps it first (creates it, sources the stack) so you go from nothing to the 6Ws in one step. Returns the Table-of-8 to confirm/answer, or applies the answers you pass back. Use faf_auto for the technical stack on its own.
| Name | Type | Req | Description |
|---|---|---|---|
| answers | object | — | Answers 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. |
| path | string | — | Project path. Sets session context for subsequent calls. |
No output schema declared.
No examples provided.
faf_init ~126
Create a new project.faf with a name, goal, and language. Returns the file path and starting score. Won't overwrite an existing file — use faf_auto to fill the stack from your manifests, or faf_go for the human 6Ws.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | — | Overwrite existing project.faf if it exists |
| path | string | — | Project 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_recall ~133
Recall memories from the project soul (.fafm), ranked by priority then recency, filtered by query/tags/type. Returns the matching entries. Use this to surface past decisions; use faf_etch to add new ones.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max memories to return |
| minPriority | string | — | Priority floor (default ephemeral) |
| path | string | — | Project path. Sets session context for subsequent calls. |
| query | string | — | Case-insensitive substring match on memory text (optional) |
| tags | array | — | Filter by tag intersection |
| type | string | — | Filter by memory type |
| Name | Type | Req | Description |
|---|---|---|---|
| memories | array | yes | — |
| soul | string | — | — |
| soulTotal | number | — | Total memories in the soul |
| total | number | yes | Number returned |
No examples provided.
faf_score ~90
Score a project.faf and return its 0–100% AI-readability, tier, and per-slot breakdown, via the deterministic Mk4 engine. Use this for a quick status check; use faf_doctor when you need to diagnose and fix what's missing.
| Name | Type | Req | Description |
|---|---|---|---|
| details | boolean | — | Include detailed breakdown and improvement suggestions |
| path | string | — | Project path. Sets session context for subsequent calls. |
| Name | Type | Req | Description |
|---|---|---|---|
| active | number | — | Slots active for this app_type |
| empty | number | — | Active slots still empty |
| hasFaf | boolean | yes | Whether a readable, valid project.faf was scored |
| ignored | number | — | Slots marked slotignored (inactive for this app_type) |
| inherited | boolean | — | True if the score is attested from a source repo (app_type: about) |
| nextTier | object|null | — | Next tier above the current score, or null at top tier |
| parity | object | — | Determinism parity receipt — an engine-agnostic hash any conformant scorer reproduces for this exact file. Third-party verifiable: sha256(projection) === parityHash. |
| path | string | — | Path that was scored |
| populated | number | — | Active slots that are filled |
| score | number | yes | AI-readiness score, 0-100 |
| tier | string | yes | Tier name for this score (e.g. Bronze, Trophy) |
| total | number | — | Total slots |
No examples provided.
faf_sync ~230
Sync project.faf into CLAUDE.md as a faf-managed block, and optionally into AGENTS.md (agents), .cursorrules (cursor), GEMINI.md (gemini), and .github/copilot-instructions.md (copilot) — or all of them (all). Updates each block in place — it never overwrites your file. Use this after editing project.faf so every AI tool sees the latest context.
| Name | Type | Req | Description |
|---|---|---|---|
| agents | boolean | — | Also sync to AGENTS.md (OpenAI/Codex format) |
| all | boolean | — | Sync to ALL formats: CLAUDE.md + AGENTS.md + .cursorrules + GEMINI.md + .github/copilot-instructions.md |
| copilot | boolean | — | Also sync to .github/copilot-instructions.md (GitHub Copilot) |
| cursor | boolean | — | Also sync to .cursorrules (Cursor IDE format) |
| gemini | boolean | — | Also sync to GEMINI.md (Google Gemini format) |
| path | string | — | Project path. Sets session context for subsequent calls. |
No output schema declared.
No examples provided.
faf_trust ~70
Attest a project.faf's integrity: its validity, score, and a deterministic parity hash any conformant engine reproduces. Returns the ✪ receipt. Use this to prove a score is genuine and untampered.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | — | Project path. Sets session context for subsequent calls. |
| Name | Type | Req | Description |
|---|---|---|---|
| hasFaf | boolean | yes | Whether a project.faf was found |
| parity | object | — | Determinism parity receipt (same shape as faf_score.parity). |
| path | string | — | Path that was attested |
| reason | string | — | Why validation failed, when valid is false |
| receipt | object | — | The ✪ trust receipt — render-identical, self-verifying score+parity artifact. |
| score | number | — | AI-readiness score, 0-100 |
| sourceSha256 | string | — | SHA-256 of the raw .faf bytes |
| tier | string | — | Tier name for this score |
| valid | boolean | yes | Whether the project.faf is readable and valid |
No examples provided.