get_soul
Get Context Soul
Fetch a context soul by name. Returns structured AI context.
soulrequiredio.github.Wolfe-JamPublished by GitHub account Wolfe-Jamv1.8.1Updated Oct 24, 2026
Persistent project context for xAI Grok. IANA-registered .faf format.
The publisher's own server: Surface
Gives an assistant persistent project context from .faf files: scores, validates, searches and re-grounds project DNA across sessions.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.Wolfe-Jam%2Fgrok-faf-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"persistent-project-context-for-xai-grok": {
"type": "http",
"url": "https://mcpaas.live/grok/mcp/v1"
}
}
}Persistent Project Context for xAI Grok.
URL-based • Zero config • Just works
[IANA: vnd.faf+yaml] [DOI: Context paper] [DOI: Agents paper]
Home: faf.one/grok Live demo: grok.faf.one
⭐ Star it on GitHub: bookmarks it for you, helps other devs find it too.
[Stars] [Downloads] [Business card · Get yours →]
FAF defines. AGENTS.md instructs. AI codes.
Cleanup: removes leftover two-way sync wording. Two-way sync was dropped by design long ago: project.faf pushes structured data out, and prose doesn't come back. The last strings that still said two-way now match. faf_bi_sync still works as the old name for faf_sync.
One rule for project questions: read project.faf first. New line 2 of the server instructions: "For questions about the project (stack, goal, commands), read project.faf first and answer from it." The same rule in faf-mcp moved Grok Build from 0 of 3 to 2 of 3 runs reading project.faf first, on a repo where project.faf and package.json disagree (3-run pilot). 715 characters.
grok-faf-mcp now tells Grok how its tools fit together, context and memory: server instructions in initialize (615 characters), plus faf-cli 8.5.0, which knows a skills repo when it sees one.
rag_query needs an xAI Collection.faf_init detects a skills repo: SKILL.md folders make it skills (10 slots), and a Claude Code plugin manifest makes it skills-plugin (14).Earlier: v2.1.0 — The New Era Edition — glass-box tools: every tool says if it reads, writes or rewrites; its own FAF passport at grok.faf.one; a new look.
Earlier: v2.0.0 — The Always33 Edition — one engine, one number: every score is faf-cli 8's always-33 kernel, on npm and on mcpaas.live. ZEPH is opt-in until the Zig engine is always-33.
☆ Bookmark grok.faf.one for later.
First v0.2-conformant reader of the FAF Context Ingestion Contract — the open standard co-authored in public with @grok.
Add to ~/.grok/config.toml:
Restart Grok TUI (or /mcps r) to refresh. The hosted endpoint scores always-33 — the same number as the npm package. Tools: faf_score, faf_validate, faf_get_tier, faf_estimate_tokens, faf_analyze (plus soul/memory ops).
Smithery: wolfe-jam/grok-faf-mcp — gateway at https://grok-faf-mcp--wolfe-jam.run.tools
Homebrew (local stdio):
Hosted on Cloudflare Workers — sub-ms cold start, no subprocess, edge-served. Scores and validates with the faf-kernel WASM (always-33, the same engine as the npm package) since mcpaas-cf 1.8.1; a Zig WASM engine handles token estimates and tier. Externally validated by Grok S1 + S2 on 2026-05-27.
Verify the live contract:
Returns endpoint, protocol versions, engine details, tool list, and the architecture line: .faf=vROM | AI-in-session=RAM.
Sample corpus: xai-faf-proof/pilot — 10 records ready to score.
Every README should answer these questions. Here's ours:
For AI: Read the detailed sections below for full context. For humans: Use this pattern in YOUR README. Answer these 6 questions clearly.
Built for Grok and shaped by direct Grok feedback.
Open for native Grok Build integration, .fafm memory layer, refresh_faf primitives, or any other context features the team needs.
Live and dogfooded at https://grok.faf.one and https://mcpaas.live/grok/mcp/v1.
Context for Grok agents: faf-cli authors what Grok agents read from real project detection — bunx faf export --agents. faf-cli's src/interop/grok.ts wires this MCP into .grok/config.toml (that file lives in the faf-cli repo, not here). See FAF-CLI for Grok & xAI agents.
Every Grok session starts from zero. You re-explain your stack, your goals, your architecture. Every time.
.faf fixes that. One file, your project DNA, persistent across every session.
faf_auto detects your project, creates a .faf, and scores it — in one shot:
What it produces:
Every AI agent reads this once and knows exactly what you're building.
MCP on a URL. Point your Grok integration at the URL. That's it.
At 55%, Grok guesses half the time. At 100%, Grok knows your project.
Point your MCP client at the production URL — edge-served on Cloudflare Workers, no subprocess, sub-ms cold start. WASM-pure tools only on this path (scoring, validation, refresh_faf).
Use the local stdio path when you need filesystem access (faf_init, faf_sync, file-mutating tools):
Or via MCP config:
Create & Detect
Drift & Orchestration (1.5 — the prestige release)
Sync & Persist
Read & Write
RAG & Grok-Exclusive
Plus 34 advanced tools available with FAF_SHOW_ADVANCED=true.
Benchmarked 10x per tool, warmed up, on local stdio execution. Hosted edge adds sub-ms cold start on top.
Orchestrator (faf_orchestrate_recommendation) characteristics: composition call — reads up to 6 files (.faf, .fafm, package.json, CHANGELOG.md, README.md, plus all 3 receipt logs), runs 2 analyzers (detectFafmDrift + checkId), evaluates the decision table, writes 1 receipt. Expected latency: tens of ms on warm cache; higher under cold-disk or very large .fafm corpora. Designed for occasional agent-initiated calls, not per-turn polling. detectFafmDrift is O(n²) in fact count (cross-fact n-gram recurrence) — comfortable up to ~hundreds of facts.
Production deployment: Cloudflare Workers via mcpaas-cf (serving mcpaas.live/grok/mcp/v1). The api/index.ts + vercel.json paths above stay alive as a catch-site for legacy/bookmarked links — they are no longer the production path.
Scoring pipeline: faf-cli's scoreFafYaml → the always-33 kernel (faf-scoring-kernel, Rust → WASM) scores the file as written: 33 slots, slotignored slots drop out of the denominator. No per-type rewriting, no fallback scorer — the same number faf-cli, claude-faf-mcp and faf-mcp give.
WJTTC parity (heavy local ↔ light hosted) + full suites (green on CI):
v2.2.0 — The Instructions Edition — server instructions in initialize (615 characters) and faf-cli 8.5.0, which detects skills repos. Scoring is unchanged from v2.0.0.
v2.1.0 — The New Era Edition — glass-box tools (every tool labelled read, write or rewrite), its own FAF passport at grok.faf.one, a new look. Scoring is unchanged from v2.0.0.
v2.0.0 — The Always33 Edition — one engine, one number: faf-cli 8's always-33 kernel on npm and on mcpaas.live. ZEPH is opt-in until the Zig engine is always-33. FafCompiler upgraded to the Always33 fafb model — parity across frontier models, Enterprise/Teams ready.
Everything below still applies; operating it honestly means surfacing what's NOT in here alongside what is.
Earlier: v1.10.0 — The No-Fluff Edition — no fluff in a project.faf.
faf_enhanceis gone. RAG default isgrok-4.6. Fill stays onfaf_auto/faf_go.
Earlier: v1.9.0 — The ZEPH Default Edition — the proven-fast Zig→WASM scoring path behind
refresh_fafis now default-ON (same score, cheaper to compute; parity proven byte-identical — CI gate + 91/91 live). Kill switchUSE_ZEPH=0forces the canonical scorer. FRC tools stay opt-in behindUSE_FRC.
Earlier: v1.8.0 — The Closed-Loop Edition — observability writes, token math is honest, FRC contract locked. The drift→refresh→re-ground loop can finally be measured. Earlier: v1.7.0 — The Grounded Memory Edition — ZEPH + the FRC layer over Grok Collections (
faf_gate/faf_section/faf_memory), opt-in viaUSE_FRC/USE_ZEPH; 12-tool core unchanged. Earlier: v1.6.0 — The ZEPH Edition — the ZEPH fast path for re-grounding (refresh_faf/refresh_blendvia Zig→WASMcascade.wasm, ~12µs,USE_ZEPH=1;faf-clistays canonical, parity locked in CI).
What is fully supported:
https://mcpaas.live/grok/mcp/v1 and client-specific routes) — scoring · validation · refresh_faf · a content-in faf_orchestrate_recommendation · the FRC trio · souls and search. The live list is at …/grok/mcp/v1/info.refresh_faf and refresh_fafm as explicit, callable re-grounding primitives.refresh_blend as the baked-in two-intensity refresh (Cmd+R / Cmd+Shift+R analog).faf_orchestrate_recommendation — the heavy orchestrator that composes drift signals, recurrence, receipts, and take-a-hint into an advisory recommendation.faf_get_orchestration_policy — pure introspection of the effective policy without running the orchestrator (no drift detection, no receipt write — the quietest tool in the substrate).effective_policy) returned on every orchestration call AND surfaced standalone via faf_get_orchestration_policy.Current limitations:
faf_get_orchestration_policy, refresh_fafm, refresh_blend, faf_init and faf_sync need filesystem access and run only on the local stdio path (bunx grok-faf-mcp / npx grok-faf-mcp). The hosted faf_orchestrate_recommendation takes file contents instead of reading your repo, and has no receipts or recurrence history (it reports those under partial[])..faf:orchestration:tier reads 'conservative' (default — quietest, no noisy first-impression) · 'balanced' · 'aggressive'. active_tier always surfaced in hints.effective_policy for observability, and standalone via faf_get_orchestration_policy. The policy WRITER (faf_set_orchestration_policy) and scheduling (faf_schedule_heavy_re_ground) are not included in v1.5 — edit .faf:orchestration:tier: directly to override.acknowledged: false by default, never auto-flipped. Take-a-hint's ladder-reset semantics fire only on explicit ack — conservative by intent. Future task: explicit ack tool OR derived-from-subsequent-refresh-receipt timing.The honest split is intentional: hosted = fast, auditable, WASM-pure; local = full capability including filesystem. We will expand the hosted surface only where it can be done safely and without compromising the model.
Subordinate-not-daemon throughout. The orchestrator NEVER auto-fires the recommended tool. Agents surface the recommendation; the user (or higher agent) decides whether to act. Even severity: 'block' is advisory.
See the public verifier and curl https://mcpaas.live/grok/mcp/v1/info for the current contract.
One format, every AI platform.
Same project.faf. Same scoring. Same result. Different execution layer.
grok-faf-voice (VML).fafm 🐘🎙️ — the voice variant of the .faf 🐘 family.
grok-faf-voice is the reference implementation of the Voice Memory Layer (VML) — what your voice agent remembers across sessions, devices, and model switches. Companion to grok-faf-mcp:
grok-faf-mcp (this) — .faf Foundational Context Layer for Grok via MCP-on-a-URL.grok-faf-voice — .fafm Voice Memory Layer (VML) for Grok Voice via LiveKit + xAI realtime.Same family. Different surface. Voice swappable; memory permanent.
PyPI · GitHub · Onboarding
This MCP server was built for Grok and continues to be shaped by direct feedback from Grok itself.
Open for deeper collaboration on:
I ship fast, test rigorously, and dogfood everything live on https://grok.faf.one and https://mcpaas.live/grok/mcp/v1.
Happy to:
Real software only. Just say the word.
PR conventions, code style, CI doctrine, MCP-tool contribution path, npm publish discipline, architecture decisions: CONTRIBUTING.md.
xAI / Grok devs welcome — TL;DR setup at the top.
Open for deeper native integration, .fafm memory layer, or Grok Build CLI collaboration.
Happy to ship PRs, dogfood, or jump on a call. Just say the word.
If you use grok-faf-mcp or the .faf / .fafa formats in research or production, please cite the format papers:
Wolfe, J. (2025). Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding. Zenodo. https://doi.org/10.5281/zenodo.18251362
Wolfe, J. (2026). Why Agents Need a Passport: .fafa — Portable Identity for the Agentic Era. Zenodo. https://doi.org/10.5281/zenodo.21951641
MIT — Free and open source
Built for Grok. Built for Speed. Built Right.
FAST⚡️AF • First to Ship • Zero Friction
Zero drift. Eternal sync. AI optimized. 🏆
faf-cli — The original AI-Context CLI. A must-have for every builder.
Anthropic MCP #2759 · IANA Registered: application/vnd.faf+yaml · faf.one · npm · Talk to my Agent →
Source: README.md at commit d423ff4
Get Context Soul
Fetch a context soul by name. Returns structured AI context.
soulrequiredList Available Souls
List all available context souls.
Takes no parameters.
Delta Doctrine Check
Determine if a topic needs FULL, DELTA, or X-DELTA soul.
topicrequiredList Tags
List all unique tags used in a soul, with counts.
soulrequiredSearch by Tag
Find all entries in a soul with a specific tag.
tagrequiredsoulrequiredSearch Context
Full-text search across souls. Returns matching lines only (token-efficient).
soulqueryrequiredTag Intel
Discover tag patterns, co-occurrence, candidates, and merge suggestions across all namepoints. Optionally suggest tags for a specific handle.
handleGenerate FAF from GitHub
Generate a .faf file from any public GitHub repository WITHOUT cloning. Extracts 6 Ws from README, analyzes stack from languages and package.json, and generates Championship-grade AI context. Returns .faf content, quality score, and metadata.
reporequiredScore .faf content
Score .faf YAML content with the always-33 faf-kernel (WASM). Returns 0-100 (capped). The same score faf-cli and every FAF MCP give. Runs at the edge.
contentrequiredValidate .faf content
Validate .faf YAML content: true if mission-ready (always-33 score of 100).
contentrequiredGet tier for a score
Resolve the FAF tier for a given numeric score. Returns the tier symbol (Trophy/Gold/Silver/Bronze/etc.) per the canonical tier-table.
scorerequiredEstimate tokens
Estimate token count for arbitrary content via the Zig WASM engine. Sub-millisecond, zero allocations. Useful for context-budget planning.
contentrequiredFull analysis (score + tier + validate)
One-call composite — returns score, tier-ready, valid, and engine identifier. Two WASM calls, sub-millisecond total.
contentrequiredRe-ground on .faf content (drift → refresh → re-grounded)
Re-ground on .faf content — re-score with the always-33 faf-kernel (33 slots; slotignored slots drop out), report drift vs an optional baseline score, and return a stamped re-ground. The explicit re-grounding primitive for long sessions: drift → refresh → re-grounded. Built for Grok, by request.
contentrequiredbaselineverbatimOrchestrate Context Recommendation (FAF)
Takes raw content strings (`.faf`, `.fafm`, and optionally `package.json`/`CHANGELOG.md`/`README.md`) and runs deterministic drift + contradiction signals across the FAF substrate. Returns a structured `Recommendation` (recommend, severity, reason, summary) with `hints` containing the current `effective_policy` and `partial[]` for any stateful signals unavailable on the current surface. Light-lane execution (hosted) is WASM-pure with no filesystem access. Heavy-lane execution (local via bunx/rust-faf-mcp) has full FS + persisted state. Advisory only — never auto-fires.
faffafmreadmechangelogpackageJsonFRC quality gate (promote/hold)
Phase III (FRC) — pre-promotion quality gate. Scores .faf content (edge Mk4) + estimates tokens and returns a deterministic promote/hold verdict BEFORE it goes to a Grok Collection. Promote IFF score >= min_score AND tokens <= max_tokens (defaults 85/8000). Edge parity with the local gate; the hold-hint can't list empty slots at the edge.
contentrequiredmin_scoremax_tokensStructure-aware retrieval
Phase III (FRC) — returns an EXACT, WHOLE .faf section by dotted path (e.g. "stack", "human_context"), structure preserved — the deterministic complement to blind chunking. Omit "section" to list every path.
contentrequiredsectionPortable structured memory (.fafm)
Phase III (FRC) — query the durable .fafm model by type/tag/priority/text. Omit filters for a structured summary. .fafm is NOT scored: this SELECTS facts (provenance preserved), never grades them.
tagtypequerycontentrequiredprioritySearch a Grok Collection (edge, KV-cached)
Phase III (FRC §7b) — semantic search over a Grok Collection at the edge, KV-cached (1h TTL). Returns matched chunks (content, score, file). Requires the XAI_API_KEY secret; composes with faf_section (structural) for hybrid retrieval. Handled env-aware in the MCP handler (needs the key + KV).
limitqueryrequiredcollection_idrequiredPrint a business card for an agent
Print a business card for an agent from its own name, description, colour and picture. Returns the agent's .fafa (FAF Agent file) and a link that opens its card. Nothing is stored: the .fafa travels in the link. The card says "self-declared" because nothing is checked against a repo.
iconnamerequiredaccentdescription100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

me.grok.nova-otter-delta-cloudOfficial publisher
Remote MCP server that unwraps short links and returns a fetch-or-skip verdict before an assistant opens a pasted URL.
dev.fly.grok-backtest-apiOfficial publisher
Remote MCP server for pay-per-call crypto quant tools: survivorship-bias-free backtests, daily market signals, strategy optimization and token scam checks.

Published by GitHub account Surface-ops
Sends server-side conversion events to ad platforms (Meta live, Google and LinkedIn preview) and reports workspace event stats.

Published by GitHub account Surface-ops
API Meter counts API requests per customer, endpoint and plan, and lets an assistant sign up an API, get ingest snippets and read or export usage.
Published by GitHub account nirholas
Remote three.ws server that lets an assistant generate, rig, refine and inspect 3D models and avatars, and give them persistent agent personas.
[mcp_servers.grok-faf-mcp]url = "https://mcpaas.live/grok/mcp/v1"brew install wolfe-jam/faf/grok-faf-mcpcurl https://mcpaas.live/grok/mcp/v1/infoWithout .faf → "I'm building a REST API in Rust with Axum and PostgreSQL..."With .faf → Grok already knows. Every session. Forever.faf_auto━━━━━━━━━━━━━━━━━Score: 0% → 85% (+85) ◇ BRONZESteps: 1. Created project.faf 2. Detected stack from package.json 3. Synced CLAUDE.md
Path: /home/user/my-project# project.faf — your project, machine-readablefaf_version: "3.3"project: name: my-api goal: REST API for user management main_language: TypeScriptstack: backend: Express database: PostgreSQL testing: Jest runtime: Node.jshuman_context: who: Backend developers what: User CRUD with auth why: Replace legacy PHP serviceURL: https://mcpaas.live/grok/mcp/v1Format: IANA-registered .faf (application/vnd.faf+yaml)Tools: 12 core by default (bunx) — re-grounding (refresh_faf/fafm/blend), LAZY-RAG, orchestration substrate, FAF essentials · extended utilities via FAF_TOOLS=all · 19 hosted (WASM-pure, served by mcpaas-cf) on the URLEngine: faf-cli 8 — faf-scoring-kernel 3.0.0 (Rust → WASM, always-33)Speed: 0.5ms average (was 19ms — 3,800% faster with Mk4)Tests: WJTTC parity (heavy local ↔ light hosted) + full suites. Runner: sh scripts/run-tests.sh (bun + flake retry)Status: FAST⚡️AF{ "mcpServers": { "grok-faf": { "url": "https://mcpaas.live/grok/mcp/v1" } }}brew install wolfe-jam/faf/grok-faf-mcp # macOS tap# orbunx grok-faf-mcp{ "mcpServers": { "grok-faf": { "command": "bunx", "args": ["grok-faf-mcp"] } }}Execution: 0.5ms average (97% faster than v1.1)Fastest: 3,360ns (version — nanosecond territory)Slowest: 1.3ms (score — Mk4 WASM)Improvement: 19ms → 0.5ms (3,800% faster)Engine: faf-cli 8 (faf-scoring-kernel 3.0.0, always-33)Memory: Zero leaksTransport: stdio (local, bunx) · Streamable HTTP (hosted, Cloudflare Workers)grok-faf-mcp├── src/│ ├── server.ts → MCP server (GrokFafMcpServer)│ ├── handlers/│ │ ├── championship-tools.ts → 55+ tool definitions│ │ ├── tool-registry.ts → Visibility filtering (core/advanced)│ │ └── engine-adapter.ts → FAF engine bridge│ ├── faf-core/commands/score.ts → faf-cli scoreFafYaml (always-33)│ ├── types/ → Canonical type substrate (1.5)│ │ ├── drift-signals.ts → DriftSignal · Contradiction · RepeatOffender│ │ ├── refresh.ts → RefreshMode│ │ ├── escalation.ts → EscalationLevel│ │ ├── recommendation.ts → RecommendationAction│ │ └── receipts.ts → ReceiptMetadata│ ├── detection/fafm-drift.ts → detectFafmDrift() — repetition-rate gauge│ ├── integrity/check-id.ts → checkId() — cross-stamp contradiction check│ ├── orchestrator/│ │ ├── repeat-offender.ts → RepeatOffenderTracker│ │ ├── take-a-hint.ts → evaluateTakeAHint() — escalation ladder│ │ ├── refresh-blend.ts → runRefreshBlend()│ │ └── recommendation.ts → analyzeAndRecommend() + orchestrate()│ └── telemetry/│ ├── refresh-receipts.ts → RefreshReceiptsLog│ └── recommendation-receipts.ts → RecommendationReceiptsLog├── smithery.yaml → Smithery listing config├── api/index.ts → Vercel catch-site (legacy showcase surface; kept alive)└── vercel.json → Vercel routing for the catch-sitesh scripts/run-tests.sh.faf-drift-index.json ← RepeatOffenderTracker — per-slot recurrence counts.faf-refresh-receipts.json ← RefreshReceiptsLog — every refresh fire.faf-recommendation-receipts.json ← RecommendationReceiptsLog — every orchestrator call@article{wolfe2025faf, title = {Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding}, author = {Wolfe, James}, year = {2025}, month = {nov}, publisher = {Zenodo}, doi = {10.5281/zenodo.18251362}, url = {https://doi.org/10.5281/zenodo.18251362}}
@article{wolfe2026fafa, title = {Why Agents Need a Passport: .fafa — Portable Identity for the Agentic Era}, author = {Wolfe, James}, year = {2026}, month = {aug}, publisher = {Zenodo}, doi = {10.5281/zenodo.21951641}, url = {https://doi.org/10.5281/zenodo.21951641}}npx faf-cli auto