Skip to main content
Glama

rust-faf-mcp

Hör auf, jeder KI-Sitzung dein Projekt neu zu erklären. Eine .faf-Datei erfasst deine Projekt-DNA. Jede KI liest sie einmal und weiß, was du baust.

Crates.io Tests IANA License

Rust-nativer MCP (Model Context Protocol) Server für FAF — strukturierter KI-Projektkontext in YAML (application/vnd.faf+yaml). Einzelne Binärdatei, stdio-Transport, 4,3 MB gestrippt. Basiert auf rmcp und faf-rust-sdk.

Schnellstart

cargo install rust-faf-mcp

Dann weise einen beliebigen MCP-Client darauf hin:

# Claude Code
claude mcp add faf rust-faf-mcp
// WARP / Cursor / Zed / Claude Desktop — any stdio MCP client
{
  "mcpServers": {
    "faf": {
      "command": "rust-faf-mcp"
    }
  }
}

Keine Flags, keine Konfigurationsdateien, kein Netzwerk-Listener. Reines stdio JSON-RPC.

Oder via Homebrew (macOS, vorkompiliert):

brew install Wolfe-Jam/faf/rust-faf-mcp

Related MCP server: gemini-faf-mcp

Ein Befehl, für immer erledigt

faf_auto erkennt dein Projekt, erstellt eine .faf, verbessert sie auf den Maximalwert und synchronisiert CLAUDE.md — in einem Durchgang:

faf_auto complete
━━━━━━━━━━━━━━━━━
Score: 0% → 85% (+85) 🥈 Silver
Steps:
  1. Created project.faf
  2. Second enhancement pass
  3. Created CLAUDE.md

Path: /home/user/my-project

Was es erzeugt:

# 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 2021
  key_files:
    - Cargo.toml
    - src/main.rs
    - README.md
  commands:
    build: cargo build
    test: cargo test
stack:
  backend: Rust
  build_tool: cargo

Jeder KI-Agent liest dies einmal und weiß genau, was du baust. Kein 20-minütiges Onboarding. Keine falschen Annahmen.

Tools

Erstellen & Erkennen

Tool

Was es tut

faf_auto

Von Null zum KI-Kontext mit einem Befehl — init, enhance, sync, score, fertig

faf_init

Erstellt oder verbessert project.faf aus Cargo.toml, package.json, pyproject.toml oder go.mod

faf_git

Generiert project.faf aus jeder GitHub-Repo-URL — kein Klonen erforderlich

faf_discover

Durchsucht den Verzeichnisbaum nach der nächsten project.faf

Bewerten & Validieren

Tool

Was es tut

faf_score

Bewertet die KI-Bereitschaft 0-100% mit Aufschlüsselung auf Feldebene

faf_sync

Synchronisiert project.fafCLAUDE.md (behält bestehende Inhalte bei)

Optimieren

Tool

Was es tut

faf_read

Parsen und Anzeigen der project.faf-Inhalte

faf_compress

Komprimiert .faf für token-begrenzte Kontexte (minimal / standard / full)

faf_tokens

Schätzt die Token-Anzahl auf jeder Komprimierungsstufe

faf_init ist iterativ — führe es erneut aus und es füllt aus, was fehlt. Die Punktzahl steigt jedes Mal.

Architektur

src/
├── main.rs      # ~20 lines — tokio entry, rmcp stdio transport
├── server.rs    # FafServer: #[tool_router], ServerHandler, resources
└── tools.rs     # Business logic — all 9 tools, pure functions returning Value
  • Runtime: tokio Single-Threaded (current_thread)

  • HTTP: reqwest async (wird nur von faf_git für die GitHub API verwendet)

  • SDK: faf-rust-sdk 1.3 für Parsen, Validierung, Komprimierung, Erkennung

  • Server: rmcp 1.1 mit #[tool_router] Makro — verarbeitet JSON-RPC, Schema-Generierung, Transport

Tools geben serde_json::Value zurück. Der Server adaptiert sie zu Result<String, String> für rmcp's IntoCallToolResult.

Testen

112 Tests in 6 Dateien:

cargo test    # runs all 112

Datei

Tests

Abdeckung

mcp_protocol.rs

9

Init-Handshake, tools/list, Ressourcen, Schema-Validierung, ID-Erhaltung

tools_functional.rs

25

Alle 9 Tools — Happy Path, Fehlerpfade, Spracherkennung

tier1_security.rs

12

Pfad-Traversal, Null-Bytes, Shell-Injection, übergroße Eingaben, fehlerhaftes JSON

tier2_engine.rs

35

Korruptes YAML, Sync-Ersetzung, Pipelines, Dual-Manifeste, Legacy-Dateinamen, direkte Pfade

tier3_edge_cases.rs

10

Unicode, CJK, Score-Grenzen, unbekannte Felder, GitHub-URL-Parsing

tier4_aero.rs

21

Manifest-Struktur, Versions-Sync, server.json, Manifest-Server-Kreuzvalidierung

Tests starten die kompilierte Binärdatei als Subprozess und kommunizieren via stdin/stdout JSON-RPC — echte Integrationstests gegen den echten Server.

FAF-Ökosystem

Ein Format, jede KI-Plattform.

Paket

Plattform

Registry

rust-faf-mcp

Rust

crates.io

claude-faf-mcp

Anthropic

npm + MCP #2759

gemini-faf-mcp

Google

PyPI

grok-faf-mcp

xAI

npm

faf-cli

Universal

npm

Aus Quellcode bauen

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

Edition: 2021 | LTO: aktiviert | Strip: Symbole

Wenn rust-faf-mcp nützlich war, erwäge das Repo mit einem Stern zu markieren — es hilft anderen, es zu finden.

Lizenz

MIT


Erstellt von @wolfe_jam | wolfejam.dev

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Persistent project context for Google Gemini. 12 MCP tools for .faf Project DNA — auto-detect your stack, validate, score, and sync across CLAUDE.md, GEMINI.md, and AGENTS.md. Python/FastMCP. IANA-registered format (application/vnd.faf+yaml). 183 tests. One file, every AI platform.
    12
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Persistent project context MCP server that syncs a single .faf file to all AI tool formats (Cursor, Windsurf, Cline, etc.), enabling eternal bi-sync and optimized context for AI assistants.
    15
    238
    6
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wolfe-Jam/rust-faf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server