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

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

-
security - not tested
A
license - permissive license
-
quality - not tested

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