.FAF Context について
.FAF Context は、IDE 間でプロジェクトコンテキストを管理するローカル stdio MCP サーバーです。`project.faf` を元に AGENTS.md、.cursorrules、GEMINI.md、CLAUDE.md などを生成・同期し、コンテキストのスコアリングや診断も行います。
主な機能
- 01`project.faf` から IDE 用コンテキストファイルを生成
- 02各プラットフォームのコンテキストをインポート・同期
- 03プロジェクトの AI 対応度を採点
- 04不足するコンテキスト項目やファイルを診断
- 05GitHub URL からプロジェクトファイルを作成
活用シーン
- 01IDE 間でコンテキストファイルを統一
- 02プロジェクトコンテキストの充足度を確認
- 03既存の AGENTS.md や .cursorrules を取り込む
- 04公開 GitHub リポジトリからコンテキストを初期化
MCP 対応
ローカル stdio MCP サーバーとして、プロジェクトコンテキストの作成、採点、診断、インポート、同期を行うツールを公開します。`project.faf` から IDE ごとのファイルを生成し、管理対象ブロック外の内容を保持します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
15掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
.FAF Context
Cursor、IDE、VS Code 向けの永続的なプロジェクトコンテキスト。一度定義すれば、どこでも同期できます。 npm: faf-mcp
ホーム: wolfe-jam.github.io/faf-mcp
.FAF Context は、FAFのIDE側を担うMCP サーバーです。リポジトリに project.faf を1つ置くだけで、すべてのAIツールのコンテキストファイル(AGENTS.md、.cursorrules、GEMINI.md、CLAUDE.md)がそこから生成され、スコアも付与されるため、どこに注力すべきかを正確に把握できます。ターミナルと同じ faf-cli を使い、stdio 経由でローカル実行されます。このツールが属するFAFエコシステムは、npm と PyPI で合計10万回を超えるダウンロードを達成しています(リアルタイム集計)。
⭐ ブックマークしてくれるほか、ほかの開発者にも見つけてもらいやすくなります。
4.1.0 の新機能 — Instructions エディション
faf-mcp が、ツール同士の連携方法をモデルに伝えるようになりました。initialize 時のサーバーインストラクション(642文字)に加え、スキルリポジトリを認識する faf-cli 8.5.0 を搭載しています。
- サーバーインストラクション。 エディターのAIが接続すると、サーバーはツール同士の連携方法を伝えます。一度に扱うプロジェクトは1つであること、まず
faf_doctorまたはfaf_scoreを実行すること、ユーザーに人間による回答を求めること、そして CLAUDE.md、AGENTS.md、.cursorrules、GEMINI.md の生成元は project.faf であることを案内します。 - faf-cli 8.5.0 を内蔵。
faf_initとfaf_autoはスキルリポジトリを検出します。SKILL.mdフォルダーがあればskills(10スロット)として、Claude Code プラグインマニフェストがあればskills-plugin(14スロット)として判定します。 - hono のアドバイザリを解消(serveStatic の二重デコード)。
4.0.1
faf-mcp --version と --help が結果を表示して終了するようになりました。以前はどちらもサーバーを起動していました。
--version(-v)はバージョンを表示し、--help(-h)は使い方とクライアント設定を表示します。それ以外の入力では従来どおりサーバーが起動するため、クライアント設定を変更する必要はありません。
4.0.0 — Always33 エディション
エンジンもスコアもひとつです。faf-mcp 4 は faf-cli 8 の always-33 カーネルでスコアを算出します。faf-cli、claude-faf-mcp 7、faf-kernel と同じスコアです。
- always-33 エンジン。 すべてのツールが faf-cli 8.0.0 でスコアを算出します。33 個の Mk4 スロットすべてを、ひとつの Rust カーネルで処理します。実際に確認したスコア:faf-python-sdk 56、mcp-context-card 56、faf-cli ✪ 100。
- お使いの 21 個のスロットと、確認できる 12 個のエンタープライズスロット。 エンタープライズスロット(infra、app、ops)は、アプリの種類で使用しない場合、
slotignoredとしてマークされます。faf_scoreは 33 個すべてを対象にスコアを算出し、slotignoredのスロットは分母から除外されます。 - 3.x からのアップグレード: 12 個のマーカーがない
.fafは、33 個を対象にスコアが算出されるようになりました。faf_autoを実行してください。マーカーが書き込まれ、スコアが戻ります。
3.0.2 — Compose エディション
ツールの説明と動作を一致させました。faf_git は faf-cli でスコアを算出し、上書き前に確認します。faf_sync は変更内容をひとつずつプレビューし、インポート時には何も書き込まれなかったことを通知します。
faf_gitのスコア算出ツールはひとつです。 作成したファイルの faf-cli によるスコアを報告し、faf-cli がスコアを算出するスロットを書き込み、既存のproject.fafを置き換える前に確認します。faf_syncは変更内容をひとつずつプレビューします。 ドライランでは、更新するフィールドをすべて一覧表示し、apply: trueを指定します。- インポート時には何も書き込まれなかったことを通知し、
project.fafがない状態でmerge: trueを指定すると、明確なエラーになります。 - 説明、注釈、エラーはコードと一致します。 ツールの出力に CLI コマンドやターミナルのカラーコードは含まれません。
3.0.1 では faf_bi_sync を faf_claude に改名し、faf_init が faf init と同じ内容を書き込むようにしました。全履歴は CHANGELOG にあります。
Compose エディション(3.0)
移植ではなく、組み合わせて使います。faf-mcp 3.0 は faf-cli 7.12 をプロセス内で実行します。スコア算出ツール、レンダラー、インジェクターはそれぞれひとつで、このパッケージが示す数字、ファイル、説明はすべて正確です。ローカル stdio、29 個のツール、Node 22 以上に対応しています。
- faf-cli 7.12 を組み合わせて使用します。 AGENTS.md、GEMINI.md、.cursorrules、CLAUDE.md は、faf-cli 独自のレンダラー、リポジトリのエンリッチメント、ブロックインジェクターによって書き込まれます。
faf exportとfaf syncが書き込むものと同じ内容です。faf_autoは faf-cli 独自の更新チェーンを実行します。手動で移植したレンダラー、v3 より前の CLAUDE.md テンプレート、ローカルインジェクターは削除されました。 - スコア関数はひとつです。
faf_auto、faf_go、faf_dna、faf_doctor、faf_claudeはすべて、ディスク上の内容に対する faf-cli のスコア算出結果を報告します。ローカルのヒューリスティック、固定された初期スコア、「0%」はありません。 - シェルコマンドは実行しません。
fafのwhich検出機能、exec フォールバック、「最初に faf-cli をインストールしてください」というバナーは削除されました。src/内のどのファイルもchild_processをインポートしません。PATH 上に無関係なfafがあっても問題になりません。 - すべてのツールのコントラクトはハンドラーと一致します。 説明にはツールの動作を記載し、スキーマには読み取られるフラグだけを宣言し、失敗時には理由を示します。
- Mk3 エンジンを削除しました。 到達不能な 44 個のモジュール、約 15,900 行を削除し、tarball のサイズは半分になりました。
prebuildがdist/を消去するため、削除したものが再び同梱されることはありません。 - リソース URI は
faf://contextとfaf://statusです。このリリースではclaude-faf://もエイリアスとして引き続き読み取り可能です。 - Node 22 以上が必要です。 18 と 20 はサポート終了です。CI マトリックスでは 22 と 24 を実行し、ガードによって最低バージョンを維持します。
一度定義して、どこでも同期
.cursorrules を管理している一方で、チームメイトは AGENTS.md を使っています。チームの誰かが Gemini に切り替えたばかりです。AI ツールごとに独自のコンテキストファイルが必要ですが、どれも同じことを異なる形式で記述しています。
faf-mcp は、Cursor、Windsurf、Cline、VS Code、そして Claude 以外のあらゆるプラットフォームに対応する専用 MCP サーバーです。 リポジトリに .faf ファイルをひとつ置けば、チームが必要とするすべての形式に同期できます。
Cursor と IDE エージェント向けのコンテキスト: faf-cli(v7.12)が、このサーバーで同期するファイルを作成します。bunx faf export --agents を使えば、インストール不要で Git ネイティブに利用できます。Cursor と IDE エージェント向け FAF-CLI 👀 をご覧ください。
project.faf
│
┌────────┬───────┴───────┬────────────┐
▼ ▼ ▼ ▼
CLAUDE.md AGENTS.md .cursorrules GEMINI.md
(Claude) (Codex) (Cursor) (Gemini)
クイックスタート
それ以外の環境:
bunx faf-mcp
MCP 設定に追加します:
{"mcpServers": {"faf": {"command": "bunx", "args": ["faf-mcp"]}}}
| プラットフォーム | 設定ファイル |
|---|---|
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline | Cline の MCP 設定 |
| VS Code | MCP 拡張機能の設定 |
| Claude Desktop | claude-faf-mcp を使用 |
実行する
faf-mcp は stdio 経由でローカル実行されます。IDE から次のいずれかのコマンドを指定してください。
| 方法 | コマンド |
|---|---|
| npm | npx faf-mcp |
| Bun | bunx faf-mcp |
相互運用ツール
| ツール | プラットフォーム | 操作 |
|---|---|---|
faf_agents | OpenAI Codex | AGENTS.md のインポート/エクスポート/同期 |
faf_cursor | Cursor IDE | .cursorrules のインポート/エクスポート/同期 |
faf_gemini | Google Gemini | GEMINI.md のインポート/エクスポート/同期 |
faf_conductor | Conductor | ディレクトリ構造のインポート/エクスポート |
faf_git | GitHub | 任意のリポジトリ URL から .faf を作成 |
# MCP tool calls — ask your IDE's AI
# Write all four formats from project.faf
faf_claude { all: true }
# Author .faf from any GitHub repo
faf_git { url: "https://github.com/facebook/react" }
コアティア: デフォルトでは必須の 15 個のツールを表示します。FAF_TOOLS=all を設定すると、完全版の 29 個が利用できます(どちらの場合も、すべてのツールを名前で呼び出せます) · 26 個のテストスイート · 7 個の同梱パーサー
永続的な同期
project.faf がソースです。faf-mcp はすべてのツールのコンテキストファイルをミリ秒単位で生成します。
project.faf ──── 8ms ───→ CLAUDE.md / AGENTS.md / .cursorrules / GEMINI.md
Single source of truth
faf_claude { all: true }は 4 つの形式すべてを一度に書き込みますfaf_agents、faf_cursor、faf_geminiでは既存ファイルもインポートできます。merge: trueを指定すると、その内容がproject.fafにマージされます- faf が管理するブロックの外側の内容は、バイト単位で保持されます
- チーム、ブランチ、セッションをまたいで機能します
AI アシスタントは忘れます。情報がずれていきます。新しいセッションのたびに、AI はまた推測を始めます。ソースを一つにすれば、コンテキストが古くなることはありません。
ティアシステム:推測状態から最適化状態へ
| ティア | スコア | 状態 |
|---|---|---|
| ✪ TROPHY | 100% | AI が推測する必要はありません |
| ★ GOLD | 99%+ | Trophy まであと 1 スロット |
| ◆ SILVER | 95%+ | あと少しです — 続けましょう |
| ◇ BRONZE | 85%+ | 途中です — 続けましょう |
| ● GREEN | 70%+ | 途中です — 続けましょう |
| ● YELLOW | 55%+ | AI がコイントスで決めています |
| ○ RED | <55% | AI は何もわからない状態で作業しています |
| ♡ WHITE | 0% | コンテキストがまったくありません |
55% では、AI は半分の確率で推測しています。 100% では、AI は最適化されています。
use>faf | プロンプトパターン
MCP ツールを呼び出すには、すべてのプロンプトを「Use FAF」で始めてください:
Use FAF to initialize my project
Use FAF to score my AI-readiness
Use FAF to sync my context
Use FAF to enhance my project
すべてのプラットフォームで機能し、ウェブ検索を止めてツールの使用を強制します。
29 個の MCP ツール
デフォルトで表示される 15 個のコアツール:
| ツール | 目的 |
|---|---|
faf_init | 新しい project.faf を作成します(既存のファイルを強化するには faf_auto を使用します) |
faf_auto | 1 回の呼び出しでセットアップします:初期化またはマージ、スタック検出、CLAUDE.md、スコア |
faf_go | 不足している人間側のコンテキストと目標のフィールドを補完し、100% を目指すガイド付きインタビュー |
faf_score | AI 対応度スコア(0~100%)とティアを表示します。details:true を指定すると、スロットごとの内訳も表示します |
faf_doctor | スコアが低い原因を診断します。不足ファイル、スロット数、設定の問題と、それぞれの修正方法を表示します |
faf_check | 各 human_context フィールドを空/一般的/良好と評価します |
faf_trust | faf-cli のバリデーターで必須フィールドと about.* ブロックを検証します |
faf_sync | project.faf と package.json を照合します(ドライラン。apply:true を指定すると書き込みます) |
faf_context | アクティブなプロジェクトパスを設定または表示します |
faf_about | IANA に登録された .faf 形式について、わかりやすく説明します |
| 相互運用ツール | |
faf_claude | project.faf から CLAUDE.md を書き込みます(all:true を指定すると、AGENTS.md、.cursorrules、GEMINI.md も書き込みます) |
faf_agents | AGENTS.md を project.faf にインポートするか、project.faf から書き込みます |
faf_cursor | .cursorrules を project.faf にインポートするか、project.faf から書き込みます |
faf_gemini | GEMINI.md を project.faf にインポートするか、project.faf から書き込みます |
faf_git | 公開 GitHub リポジトリの URL から project.faf を作成します |
FAF_TOOLS=all でさらに 14 個: faf_status · faf_what · faf_guide · faf_debug · faf_clear · faf_list · faf_read(許可されたルート内(cwd、OS の一時ディレクトリ、または FAF_ALLOWED_ROOTS)のファイルを読み取ります) · faf_write(同じルート内のファイルに書き込みます) · faf_readme · faf_human_add · faf_quick · faf_formats · faf_dna · faf_conductor
faf-cli を基盤としています。 すべてのツールは、同梱の faf-cli をプロセス内で組み合わせて使用します。CLI と同じスコアラー、同じレンダラー、同じブロックインジェクターを利用します。PATH 上の faf をシェル経由で実行することはありません。
エコシステム
- claude-faf-mcp — Claude Desktop
- faf-cli — ターミナル CLI
- faf-wasm — WASM SDK(スコアリングは 5 ミリ秒未満)
- faf-wasm-gen — Rust→WASM
project.faf作成エンジン、ブラウザー/エッジ向け(faf-wasm の作成機能に特化した兄弟プロジェクト) - faf-trinity — IANA の 3 種類の FAF 形式(コンテキスト/メモリ/エージェント)をまとめて公開するリファレンス MCP サーバー
- faf.one — 公式ウェブサイト
- docs/SKILLS-OVER-MCP.md — J1 エージェントスキル
faf-ide(stdio · skills/list · ダイジェスト)
faf-mcp が役に立った場合は、リポジトリにスターを付けることをご検討ください。他の人にも見つけてもらいやすくなります。
引用
研究や本番環境で faf-mcp または .faf/.fafa 形式を使用する場合は、形式に関する論文を引用してください。
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
BibTeX
@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}
}
ライセンス
MIT License — 無料のオープンソース
ドリフトゼロ。永続的な同期。AI に最適化。 ✪
「これが存在しなかったなら、AI が自分で作っていただろうと思えるほど、とても理にかなっています」— Claude
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。