Gemini Faf Mcp
io.github.Wolfe-Jam由 GitHub 帳號 Wolfe-Jam 發布v2.5.0更新於 Oct 24, 2026
Persistent project context for Google Gemini. Python/FastMCP. IANA-registered .faf format.
概覽
讓 Gemini 讀取並維護 .faf 專案脈絡檔案,使每次工作階段一開始就掌握你的技術堆疊、目標與慣例。
- 可以做什麼
- 建立與偵測:產生初始 .faf 檔案,從清單檔、compose 服務、Makefile 與 CI 設定自動辨識技術堆疊,並找出專案中的 .faf 檔案。
- 驗證與評分:執行完整或快速檢查,回傳完整度分數、等級與欄位統計。
- 讀取與轉換:將 .faf 解析為結構化資料、轉回 YAML,並取得為 Gemini 最佳化的脈絡。
- 匯出與互通:依 .faf 產生 GEMINI.md 與 AGENTS.md,且不覆蓋你手寫的內容。
- 遷移與參考:以 dry_run 預覽後把 .faf 升級到目前格式,並查詢格式資訊或範例檔案。
- 適用情境
- 適合每次開新的 Gemini 工作階段都得重講專案背景的情況,用一個結構化檔案承載技術堆疊、目標與慣例。也適合希望由單一來源產生 GEMINI.md 或 AGENTS.md、而非手動維護的團隊。
- 執行需求
- 以 PyPI 套件形式透過 stdio 在本機執行,可用 uvx 啟動或 pip3 安裝,因此需要 Python 與 uv。未宣告任何帳號、API 金鑰、環境變數或標頭。README 另提到託管端點與 Cloud Run REST API,但清單只宣告本機 stdio 程序。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Gemini Faf Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
gemini-faf-mcp v3.1 — The New Era Edition
Persistent Project Context for Google Gemini. Define once. Sync everywhere.
⭐ Star it on GitHub: bookmarks it for you, helps other devs find it too.
FAF defines. AGENTS.md instructs. AI codes.
☆ Bookmark the gemini-faf-mcp page for later.
Stop re-explaining your project to every new Gemini session. Every Gemini conversation starts cold — you re-state your stack, your goals, your conventions every single time. .faf is one structured file that captures all of it. This package is the MCP server that lets Gemini read it.
[PyPI] [FAF Trophy 100%] [Tests] [IANA: vnd.faf+yaml] [IANA: vnd.fafm+yaml] [DOI: Context paper] [DOI: Memory paper] [DOI: Agents paper] [Business card · Get yours →]
Before and after
.faf is read once at session start. Every tool call lands on a Gemini that already knows your project.
What's New in v3.1.1
gemini-faf-mcp --version and --help answer and exit. Before, both started the server.
--version(-V) prints the version;--help(-h) prints usage and a client config. Anything else starts the server as before, so your client config doesn't change.
v3.1.0 — The New Era Edition
Glass-box tools: every Gemini tool now says what it does — reads, writes or rewrites — so your client knows when to ask first. In Gemini CLI and Google Antigravity.
- Every tool is labelled. All 13 tools carry MCP tool annotations, matched to what each one does: 8 read only, 4 write without losing anything (
faf_initnever overwrites,faf_autofills empty slots only,faf_geminiandfaf_agentskeep your own text), andfaf_migraterewrites the file. None reaches the network. Clients that read the labels can let reads run and ask before writes. - Its own card. A refreshed FAF passport (
agent.fafa, written with faf-cli 8.2'scard init) and MCP Server Card, both 3.1.0 with all 13 tools and FAF's context. - Works in Google Antigravity, local (
uvx) or hosted (serverUrl). See Google Antigravity below. - A new look: the gemini-faf-mcp page, redesigned to feel at home for Google developers.
- The hosted function scores always-33, the same engine as everything else.
Earlier: v3.0.0 — The Always33 Edition — one engine, one number: the same score as faf-cli 8, claude-faf-mcp 7, faf-mcp 4 and grok-faf-mcp 2.
v2.8.2 — The Full-Facts Edition
Privacy patch — FAFClient's start-up ping is now opt-in (FAF_TELEMETRY=1).
FAFClient (the Python SDK client — the MCP server never used it) sent a start-up ping, package name and version, by default, and the opt-out wasn't documented. It now sends only when you set FAF_TELEMETRY=1; FAF_TELEMETRY_OFF still turns it off. See faf.one/privacy.
v2.8.1 was a dependency patch —
faf-python-sdkfloor>=1.4.0, where the interop functions are now namedauthor_agents_md/author_gemini_md. Authored AGENTS.md / GEMINI.md output is byte-identical.
v2.8.0 — faf_auto now grounds its detection in the repo's own files, and every faf_model reference template scores 100% Trophy.
faf_auto used to read only the root manifest (pyproject.toml, package.json, …). It now also reads the files that carry the real stack: docker-compose service images map onto database / cache / search / storage (a running Postgres service is the database — it beats a dependency guess), Makefile / justfile targets map onto the commands block (test / build / check-all, root file or a nested backend/Makefile), and .github/workflows/ sets cicd. A polyglot repo that reported library / JavaScript now reports its real Postgres + Redis + FastAPI stack. In parity with faf-cli 7.10.
Separately: the 15 faf_model reference templates were scoring 48–57% — they filled 4 stack slots and used null. All rewritten to the full 21-slot schema; every one is 100% Trophy now, and a test keeps it that way. 13 tools · 265 tests.
v2.7.1 / v2.7.0 — The Interop Edition —
faf_agents/faf_geminirewritten asfaf-python-sdkauthoring-tool wrappers (were 4-field stubs); newfaf_migratebrings a.fafup to the current format. v2.6.0 — The Agent Card Edition added a realagent.fafapassport, an MCP Server Card (SEP-2127), and an AI Catalog entry. v2.5.0 — The Dart Edition detects Dart/Flutter frompubspec.yaml. v2.4.2 — The Confinement Edition confined every callerpathargument. v2.4.0 — The Chameleon Edition auto-selects its transport: stdio locally, Streamable HTTP on Cloud Run.
One-Minute Setup
1. Install
2. Add to Gemini CLI
3. Author your project context
In your Gemini CLI:
That writes a starter project.faf and scores it. Then ask Gemini to fill it in from your repo (it calls faf_auto), and run /faf:score to see what's left. From then on, every Gemini session in this project reads it automatically.
Tip: Trophy ✪ = 100%: AI is optimized to code.
/faf:scoreshows exactly which slots are still empty.
The "One-File" Advantage
A .faf file is structured YAML that captures your project DNA. Every AI agent reads it once and knows exactly what you're building.
Result: Gemini reads this once and knows your project. No 20-minute onboarding. No wrong assumptions. Every session starts aligned.
FAF defines. MD instructs. AI codes.
What about my GEMINI.md?
You don't replace it. .faf authors it. Run faf_gemini and you get a fresh GEMINI.md in Gemini CLI's own hierarchical, @file-importable convention — setup, verify, key files, stack, confirm-first actions — authored from a single source of truth instead of hand-maintained. Your hand-written content outside the faf-managed block is preserved.
.faf is the source. GEMINI.md is one of its outputs. Same logic for AGENTS.md (OpenAI Codex), .cursorrules, CLAUDE.md, and others — write once, render everywhere.
Auto-Detect Your Stack
faf_auto scans your project's manifest files and its docker-compose services, Makefile targets, and CI config, then authors a .faf with accurate slot values. No manual entry needed.
database and cache came from docker-compose.yml, commands from the Makefile, cicd from .github/workflows/ — none of which the manifest scan sees. Fill in the six W's and you are at Trophy.
What it scans:
Priority rule: pyproject.toml / Cargo.toml / go.mod take priority over package.json. File-facts (a real compose service, a Makefile target) win over dependency guesses. Only sets values that are actually detected — no hardcoded defaults.
Google Antigravity
Antigravity reads one MCP config file, ~/.gemini/config/mcp_config.json, and takes both modes.
Local (stdio):
Hosted:
Antigravity expects serverUrl, not url or httpUrl.
All 13 Tools
Every tool carries MCP tool annotations: read only (faf_read, faf_validate, faf_score, faf_discover, faf_stringify, faf_context, faf_about, faf_model), writes without losing anything (faf_init, faf_auto, faf_gemini, faf_agents), rewrites the file (faf_migrate).
Create & Detect
Validate & Score
Read & Transform
Export & Interop
Migrate
Reference
Score and Tier System
Your .faf file is scored on completeness — how many slots are filled with real values.
Aim for Bronze (85%+). That's where AI stops guessing and starts knowing.
Using with Gemini CLI
Architecture
The MCP server delegates to faf-python-sdk for parsing, validation, Mk4 scoring, and AGENTS.md / GEMINI.md authoring. Stack detection in faf_auto — including the Full-Facts grounding — is Python-native, no external CLI dependencies.
Testing
281 tests passing across the FastMCP server, CLI flags, Cloud Function, Mk4 WJTTC championship, Full-Facts grounding, path-confinement, write-guard, model-parity, Dart detection, and client-telemetry suites. Championship-grade test coverage — WJTTC certified.
FAF Ecosystem
One format, every AI platform.
Python SDK
Use FAF directly in Python without MCP:
FAFClient sends no telemetry unless you set FAF_TELEMETRY=1, which adds one start-up ping (package name and version). FAF_TELEMETRY_OFF always turns it off. Remote mode sends your requests to the Cloud Run endpoint. Privacy: faf.one/privacy.
Cloud Run REST API
Live endpoint for badges, multi-agent context brokering, and voice-to-FAF mutations.
Supports agent-optimized responses (Gemini, Claude, Grok, Jules, Codex/Copilot/Cursor) via X-FAF-Agent header. Voice mutations via Gemini Live through PUT endpoint. Auto-deploys via Cloud Build on push to main.
If gemini-faf-mcp has been useful, consider starring the repo — it helps others find it.
Links
Citation
If you use gemini-faf-mcp or the .faf / .fafm / .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). Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory. Zenodo. https://doi.org/10.5281/zenodo.20348942
Wolfe, J. (2026). Why Agents Need a Passport: .fafa — Portable Identity for the Agentic Era. Zenodo. https://doi.org/10.5281/zenodo.21951641
BibTeX
License
MIT
Built by @wolfe_jam | wolfejam.dev
Get the CLI
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
來源:README.md,提交 3261dba
工具
0版本歷史
1- v2.5.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分