mcpField
R
rust-faf-mcp

rust-faf-mcp

リモート
faf.oneメモリ・ナレッジ4今日更新
リポジトリ公式サイト

rust-faf-mcp について

rust-faf-mcpは、`.faf` YAMLファイルにプロジェクトの永続的なコンテキストを保存するRust開発者向けMCPサーバーです。初期化、スコア評価、同期、圧縮のツールを提供し、MCPクライアントで背景情報を利用・管理できます。

主な機能

  1. 01project.fafの作成と検出
  2. 02フィールド別のAI対応度評価
  3. 03内容をCLAUDE.mdに同期
  4. 04既存内容を保ってAGENTS.mdを作成
  5. 05.fafコンテキストの読み取りと圧縮
  6. 06GitHub URLからプロジェクト情報を取得

活用シーン

  1. 01新規プロジェクトの永続的なコンテキスト作成
  2. 02プロジェクト情報のCLAUDE.mdへの同期
  3. 03トークン制限に合わせたコンテキスト圧縮
  4. 04プロジェクトコンテキストの充実度確認

MCP 対応

MCPサーバーはstdio JSON-RPC経由で、FAFツール、リソース、構造化されたプロジェクトコンテキストをMCPクライアントに提供します。faf_git以外のツールはネットワークを使わず、書き込みも既存内容を保つ方式です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcpaas.live/rust/mcp/v1
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
cargorust-faf-mcp0.3.1

ツール

3
パラメーター型必須説明
contentstringはい.faf ファイルの生の内容(YAML)

詳細

rust-faf-mcp

Rust MCP クライアント向けの永続的なプロジェクトコンテキスト。ネイティブ。高速。cargo install

The Lineage Edition(v0.8.3) — one.faf/rust-faf-mcp · rmcp 3.0.1(MCP Tier 1 の基盤)· faf-rust-sdk 3.1.1(faf-wasm-sdk が使用するものと同じ、常に 33 のカーネル)· Rust 開発者向けの堅牢な cargo ネイティブ Rust MCP

v0.8.3 — --version と --help は、サーバーを起動せずに応答します。CHANGELOG を参照してください。

FAF が定義し、AGENTS.md が指示し、AI がコードを書きます。

AI セッションのたびにプロジェクトを説明し直すのはやめましょう。1 つの .faf ファイルに永続的なプロジェクトコンテキストを保持できます。すべての AI が一度読み込めば、何を作っているのかを把握できます。

Crates.io FAF Trophy 100% Tests IANA License Business card · Get yours →

FAF 向けの Rust ネイティブな MCP(Model Context Protocol)サーバーです。YAML(application/vnd.faf+yaml)で構造化された AI プロジェクトコンテキストを提供します。単一バイナリ、stdio トランスポート、strip 後 4.3 MB です。rmcp と faf-rust-sdk を基盤に構築されています。

クイックスタート

# Rust toolchain (install):
cargo install rust-faf-mcp --version 0.8.3

# No Rust (try — downloads GH Release binary for darwin/linux):
npx --yes [email protected]

MCP クライアントから pin を指定してください。PATH 上の素の rust-faf-mcp は、古い Homebrew バイナリかもしれません。

# Claude Code
claude mcp add faf -- npx --yes [email protected]
// Cursor, Claude Desktop, Windsurf — any client that reads mcpServers
{
  "mcpServers": {
    "faf": {
      "command": "npx",
      "args": ["--yes", "[email protected]"]
    }
  }
}

cargo install rust-faf-mcp --version 0.8.3 の実行後は、"command": "rust-faf-mcp" がインストール先になります。そのバイナリを確認するまでは、npx の pin を使用してください。

フラグも設定ファイルもネットワークリスナーも不要です。純粋な stdio JSON-RPC です。

または Homebrew 経由でインストールできます(macOS、ビルド済み)。すでにインストールしている場合はアップグレードしてください。古い keg が PATH 上に rust-faf-mcp として残っていることがあります。

brew update
brew install Wolfe-Jam/faf/rust-faf-mcp
# already installed:
brew upgrade Wolfe-Jam/faf/rust-faf-mcp

コマンド 1 つで、あとはずっとお任せ

faf_auto は、project.faf が存在しない場合に setup を実行します(ツリー検出によって機械的な事実を書き込みます)。その後、CLAUDE.md を同期します。既存ファイルを書き換えることはありません。Confirm setup(sweeps) は setup で入力された内容を一覧表示します。内容を確認してください。これは 2 回目の書き込みゲートではありません。人が入力する欄は、記入を指示するまで空のままです。

faf_auto complete
━━━━━━━━━━━━━━━━━
Score: 0% → 42% (+42) ● GREEN
Steps:
  1. Setup — created project.faf
  2. Created CLAUDE.md

Path: /home/user/my-project

Confirm setup (sweeps)
Walk these. Detection is already a fact. Not a second write-gate.
  project.name           my-api
  project.main_language  Rust
  stack.backend          Rust

生成される内容:

# project.faf — your project, machine-readable
faf_version: "3.3"
project:
  name: my-api
  goal: REST API for user management
  main_language: Rust
  version: "0.1.0"
  license: MIT
instant_context:
  what_building: REST API for user management
  tech_stack: Rust 2024
  key_files:
    - Cargo.toml
    - src/main.rs
    - README.md
  commands:
    build: cargo build
    test: cargo test
stack:
  backend: Rust
  build: cargo

すべての AI エージェントがこれを一度読み込めば、何を作っているのかを正確に把握できます。20 分かかるオンボーディングは不要です。誤った前提もなくなります。

ツール

作成と検出
ツール説明
faf_autoファイルがない場合は setup を実行し、CLAUDE.md を同期してスコアを算出 — Confirm setup(sweeps)。6Ws を作り出すことはありません
faf_initsetup:ツリーから初回書き込みを実行します。ファイルが存在する場合は拒否します。Confirm setup(sweeps)。6Ws は空のままです
faf_goTable-of-8 + Confirm setup(sweeps)。☑ の後に 6Ws のスコアを算出します。100 未満の場合は Human Context を追加してください。100 の後は 30 日ごとに確認します(最大 90 日)
faf_gitGitHub リポジトリの URL から project.faf を作成します。クローンは不要です。公開 GitHub API を使用し、テキストを返します。書き込みは行いません
faf_discoverディレクトリツリーを上方向にたどり、最も近い project.faf を探します
スコア算出と検証
ツール説明
faf_scoreフィールドごとの内訳とともに、AI 対応度を 0~100% でスコア化します
faf_syncproject.faf → CLAUDE.md を同期します(既存の内容を保持します)
faf_agentsproject.faf から AGENTS.md を作成します(破壊的な変更は行わず、手書きの内容を保持します)
最適化
ツール説明
faf_readproject.faf の内容を解析して表示します
faf_compressトークン数に制限のあるコンテキスト向けに .faf を圧縮します(minimal / standard / full)
faf_tokens各圧縮レベルでのトークン数を推定します
系譜
ツール説明
faf_dna.faf-dna に記録された FAF DNA の歩みです。誕生時の DNA から現在までを、履歴とともに確認できます。faf_init が誕生させ、faf_auto が成長を記録します。faf-cli と同じファイルです

各ツールは MCP アノテーションを宣言します。faf_read、faf_score、faf_compress、faf_discover、faf_tokens、faf_dna、faf_git は読み取り専用です。書き込みツールは非破壊的で、ネットワークにアクセスするのは faf_git だけです。

faf_init は既存のファイルを上書きしません。セットアップでは機械的な事実を記録し、セットアップの確認(スイープ)が実際の作業です。人間が記入する欄は、faf_go を実行するまで空欄のままです。

アーキテクチャ

src/
├── main.rs      # ~20 lines — tokio entry, rmcp stdio transport
├── server.rs    # FafServer: #[tool_router], ServerHandler, resources
└── tools.rs     # Business logic — tools as pure functions returning Value
  • ランタイム:tokio のシングルスレッド(current_thread)
  • HTTP:reqwest による非同期処理(GitHub API 用に faf_git だけが使用)
  • SDK:faf-rust-sdk 3.1(Cargo の固定バージョン。faf-rust にある faf-kernel/faf-fafb のファサード。常に 33 となる数値には score() を、構造チェックにのみ validate() を使用します)
  • サーバー:rmcp 3.0.1 と #[tool_router] / #[tool_handler] — JSON-RPC、パラメーター型からの JSON Schema、stdio トランスポート(Tier-1 評価済み SDK ビルド)

ツールは serde_json::Value を返します。サーバーはこれを rmcp の IntoCallToolResult 用に Result<String, String> へ変換します。

テスト

193 件のテスト(統合テスト 146 件+ユニットテスト 47 件):

cargo test    # runs all 193

# Full ship bar (same gates as GitHub CI — run before push)
bash scripts/ci.sh
# Optional: block push on red CI twin
bash scripts/install-hooks.sh
ファイルテスト数カバレッジ
mcp_protocol.rs10初期化ハンドシェイク、tools/list、ツールアノテーション、リソース、スキーマ検証、ID の保持
tools_functional.rs31ツール — 正常系、エラー系、言語検出、faf_go
tier1_security.rs12パストラバーサル、ヌルバイト、シェルインジェクション、過大な入力、不正な JSON
tier2_engine.rs36破損した YAML、同期置換、パイプライン、二重マニフェスト、レガシーなファイル名、直接パス
tier3_edge_cases.rs10Unicode、CJK、スコア境界、未知のフィールド、GitHub URL の解析
tier4_aero.rs22マニフェスト構造、バージョン同期、server.json、コンテキストブロック、マニフェストとサーバーの相互検証
wjttc_setup.rs16セットアップ/セットアップの確認(スイープ)— BRAKE · ENGINE · AERO · TYRE · PIT
wjttc_faf_dna.rs7.faf-dna の系譜 — faf_init による誕生、faf_auto による成長、faf_dna、faf-cli の各行
src のユニットテスト47セットアップスイープ、スキルのダイジェスト、agents::、inject::、インテント、アプリ種別、dna:: の系譜+faf-cli のフィクスチャ

テストではコンパイル済みのバイナリをサブプロセスとして起動し、stdin/stdout 経由で JSON-RPC 通信を行います。実際のサーバーに対する真の統合テストです。

FAF エコシステム

1 つの形式で、あらゆる AI プラットフォームに対応します。

パッケージプラットフォームレジストリ
rust-faf-mcpRustcrates.io
claude-faf-mcpAnthropicnpm + MCP #2759
gemini-faf-mcpGooglePyPI
grok-faf-mcpxAInpm
faf-cliユニバーサルnpm

ソースからビルドする

git clone https://github.com/Wolfe-Jam/rust-faf-mcp
cd rust-faf-mcp
cargo build --release
# Binary at target/release/rust-faf-mcp (about 5 MB)

エディション:2024 | LTO:有効 | Strip:シンボル

rust-faf-mcp が役に立った場合は、リポジトリにスターを付けていただけると、ほかの人にも見つけてもらいやすくなります。

リンク

引用

研究または本番環境で rust-faf-mcp や .faf/.fafa 形式を使用する場合は、形式に関する論文を引用してください。

Wolfe, J. (2025). 形式主導型 AI コンテキストアーキテクチャ:永続的なプロジェクト理解のための .faf 標準. Zenodo. https://doi.org/10.5281/zenodo.18251362

Wolfe, J. (2026). エージェントにパスポートが必要な理由:.fafa — エージェント時代に向けたポータブルなアイデンティティ. Zenodo. https://doi.org/10.5281/zenodo.21951641

ライセンス

MIT


@wolfe_jam が開発 | wolfejam.dev

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。