Persistent Project Context for xAI Grok

Persistent project context for xAI Grok. IANA-registered .faf format.

我该使用它吗

质量与安全性

A
描述质量
93%
模式完整度
95%
命名质量
86%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(2)

  • LOWTool 'faf_get_tier' description lacks action verb在 faf_get_tier 中
  • LOWTool 'refresh_faf' description lacks action verb在 refresh_faf 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,513token 数(工具定义)
~648 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.96%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "grok-faf-mcp": {
      "command": "npx",
      "args": [
        "grok-faf-mcp"
      ]
    }
  }
}

可运行的软件包

npmgrok-faf-mcp1.8.1stdio

远程端点

https://grok-faf-mcp.vercel.app/ssesse
https://mcpaas.live/grok/mcp/v1streamable-http

它能做什么

工具清单

工具(19)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢get_soul(soul)

Fetch a context soul by name. Returns structured AI context.

输入模式

{
  "type": "object",
  "properties": {
    "soul": {
      "type": "string",
      "description": "Soul identifier (e.g., \"spacex\", \"wolfe\", \"grok\")"
    }
  },
  "required": [
    "soul"
  ]
}
🟢list_souls

List all available context souls.

输入模式

{
  "type": "object",
  "properties": {}
}
🟢delta_check(topic)

Determine if a topic needs FULL, DELTA, or X-DELTA soul.

输入模式

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "description": "Topic to check"
    }
  },
  "required": [
    "topic"
  ]
}
🟢list_tags(soul)

List all unique tags used in a soul, with counts.

输入模式

{
  "type": "object",
  "properties": {
    "soul": {
      "type": "string",
      "description": "Soul identifier"
    }
  },
  "required": [
    "soul"
  ]
}
🟢search_by_tag(soul, tag)

Find all entries in a soul with a specific tag.

输入模式

{
  "type": "object",
  "properties": {
    "soul": {
      "type": "string",
      "description": "Soul identifier"
    },
    "tag": {
      "type": "string",
      "description": "Tag to search for"
    }
  },
  "required": [
    "soul",
    "tag"
  ]
}
🟢search_context(query, soul)

Full-text search across souls. Returns matching lines only (token-efficient).

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Text to search for"
    },
    "soul": {
      "type": "string",
      "description": "Specific soul (optional, searches all if omitted)"
    }
  },
  "required": [
    "query"
  ]
}
🟢tag_intel(handle)

Discover tag patterns, co-occurrence, candidates, and merge suggestions across all namepoints. Optionally suggest tags for a specific handle.

输入模式

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "description": "Optional: suggest tags for this specific namepoint"
    }
  }
}
🟢generate_faf_from_github(repo)

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.

输入模式

{
  "type": "object",
  "properties": {
    "repo": {
      "type": "string",
      "description": "GitHub repository URL or owner/repo format (e.g., \"facebook/react\" or \"https://github.com/facebook/react\")"
    }
  },
  "required": [
    "repo"
  ]
}
🟢faf_score(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.

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Raw .faf YAML content. Souls with a [faf] section have it extracted automatically."
    }
  },
  "required": [
    "content"
  ]
}
🟢faf_validate(content)

Validate .faf YAML content: true if mission-ready (always-33 score of 100).

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Raw .faf YAML content to validate."
    }
  },
  "required": [
    "content"
  ]
}
🟢faf_get_tier(score)

Resolve the FAF tier for a given numeric score. Returns the tier symbol (Trophy/Gold/Silver/Bronze/etc.) per the canonical tier-table.

输入模式

{
  "type": "object",
  "properties": {
    "score": {
      "type": "number",
      "description": "Numeric score 0-100."
    }
  },
  "required": [
    "score"
  ]
}
🟢faf_estimate_tokens(content)

Estimate token count for arbitrary content via the Zig WASM engine. Sub-millisecond, zero allocations. Useful for context-budget planning.

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Content to estimate tokens for."
    }
  },
  "required": [
    "content"
  ]
}
🟢faf_analyze(content)

One-call composite — returns score, tier-ready, valid, and engine identifier. Two WASM calls, sub-millisecond total.

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Raw .faf YAML content to analyze."
    }
  },
  "required": [
    "content"
  ]
}
🟢refresh_faf(content, baseline, verbatim)

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.

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Raw .faf YAML content to re-ground on."
    },
    "baseline": {
      "type": "number",
      "description": "Optional last-known score (0-100). When provided, the drift delta (current - baseline) is reported."
    },
    "verbatim": {
      "type": "boolean",
      "description": "When true, return the full .faf content verbatim with the stamp. Default false (stamped delta + summary)."
    }
  },
  "required": [
    "content"
  ]
}
🟢faf_orchestrate_recommendation(faf, fafm, packageJson, changelog, readme)

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.

输入模式

{
  "type": "object",
  "properties": {
    "faf": {
      "type": "string",
      "description": "Raw .faf YAML content (project DNA). Required for any meaningful analysis."
    },
    "fafm": {
      "type": "string",
      "description": "Raw .fafm YAML content (memory layer). Enables drift detection."
    },
    "packageJson": {
      "type": "string",
      "description": "Raw package.json content. Enables version cross-stamp checks (.faf vs pkg)."
    },
    "changelog": {
      "type": "string",
      "description": "Raw CHANGELOG.md content. Enables changelog cross-stamp checks."
    },
    "readme": {
      "type": "string",
      "description": "Raw README.md content. Enables README arch-tree cross-stamp checks."
    }
  }
}
🟢faf_gate(content, min_score, max_tokens)

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.

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Raw .faf YAML content to gate."
    },
    "min_score": {
      "type": "number",
      "description": "Minimum score to promote (default 85)."
    },
    "max_tokens": {
      "type": "number",
      "description": "Maximum tokens to promote (default 8000)."
    }
  },
  "required": [
    "content"
  ]
}
🟢faf_section(content, section)

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.

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Raw .faf YAML content."
    },
    "section": {
      "type": "string",
      "description": "Dotted path to retrieve (e.g. \"stack.backend\"). Omit to list all paths."
    }
  },
  "required": [
    "content"
  ]
}
🟢faf_memory(content, type, tag, priority, query)

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.

输入模式

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Raw .fafm YAML content."
    },
    "type": {
      "type": "string",
      "description": "Filter by fact type (e.g. \"feedback\")."
    },
    "tag": {
      "type": "string",
      "description": "Filter by a tag."
    },
    "priority": {
      "type": "string",
      "description": "Filter by priority (e.g. \"critical\")."
    },
    "query": {
      "type": "string",
      "description": "Case-insensitive substring match on fact text."
    }
  },
  "required": [
    "content"
  ]
}
🟢faf_collections_search(query, collection_id, limit)

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).

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The search query."
    },
    "collection_id": {
      "type": "string",
      "description": "The Grok Collection id to search."
    },
    "limit": {
      "type": "number",
      "description": "Max chunks to return (default 5)."
    }
  },
  "required": [
    "query",
    "collection_id"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本19 个工具
观测失败未记录版本—
已验证未记录版本19 个工具
观测失败未记录版本—
已验证未记录版本19 个工具