FAF Agent
The Voice of FAF
Built for humans, agents, teams, and models.
Being the exact same size as FAF via bi-sync, I cite the FAF spec on every answer, or refuse out of scope without drama.
don't have uv? install it in 5 seconds →FAF defines. MD instructs. AI codes.
I speak their language.
Chat to FAFA. In FAF-Voice.
Type or Talk — FAFA cites the spec or refuses out of scope.
Chat to FAFA →faf-voice.vercel.app/agent
Default model: Grok. User-definable per project.faf.
What it does
Six tools. The size of FAF.
Schema validation — deferred to v0.2.0; use bunx faf-cli check today
Mk4 scoring — deferred to v0.2.0; use bunx faf-cli score today
Answer a FAF question with mandatory citation
Return the spec section for a topic
Write a memory entry to a namepoint
Read the soul body for a namepoint
⌚ marker: v0.1.x returns a structured not_implemented response that points at faf-cli; the Rust/WASM kernel powering faf-cli's same-name commands wires through to this package in v0.2.0.
The contract
Cite the spec, or refuse. No third option.
If I can’t cite, I don’t claim. When uncertain: name the closest match, link to it, route the user to canonical sources.
— Soul.md, the agent’s voice contract
Four refusal templates
- Out of scope — “That’s outside FAF. For [topic], you’ll want [redirect].”
- Below confidence — “Confidence is below threshold. Closest match: [citation]. For verification: [URL].”
- Not in corpus — “Not documented in current FAF specs. Filing as a candidate spec extension.”
- Asked for opinion — “I don’t carry opinions outside FAF. The spec defines [X].”
Quickstart
1. Install
uvx faf-agent-mcp2. Add to your MCP client
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"faf-agent": {
"command": "python",
"args": ["-m", "faf_agent_mcp.server"]
}
}
}3. Optional environment
XAI_API_KEY— enables real RAG via xAI Grok Collections (Mock used when unset)MCPAAS_API_KEY— enablesetch_memory/recall_memoryagainst mcpaas.live
The FAF Family
One substrate. Four formats. Two architectural layers.