Skip to main content
Glama

rust-faf-mcp

Deja de explicarle tu proyecto a cada sesión de IA. Un archivo .faf captura el ADN de tu proyecto. Cada IA lo lee una vez y sabe qué estás construyendo.

Crates.io Tests IANA License

Servidor MCP (Model Context Protocol) nativo en Rust para FAF — contexto de proyecto de IA estructurado en YAML (application/vnd.faf+yaml). Binario único, transporte stdio, 4.3 MB sin símbolos. Construido sobre rmcp y faf-rust-sdk.

Inicio rápido

cargo install rust-faf-mcp

Luego, apunta cualquier cliente MCP hacia él:

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

Sin flags, sin archivos de configuración, sin listener de red. JSON-RPC puro vía stdio.

O mediante Homebrew (macOS, precompilado):

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

Un comando, listo para siempre

faf_auto detecta tu proyecto, crea un .faf, lo mejora hasta la puntuación máxima y sincroniza CLAUDE.md — todo de una vez:

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

Lo que produce:

# 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

Cada agente de IA lee esto una vez y sabe exactamente qué estás construyendo. Sin 20 minutos de onboarding. Sin suposiciones erróneas.

Herramientas

Crear y detectar

Herramienta

Qué hace

faf_auto

De cero a contexto de IA en un comando — iniciar, mejorar, sincronizar, puntuar, listo

faf_init

Crea o mejora project.faf desde Cargo.toml, package.json, pyproject.toml o go.mod

faf_git

Genera project.faf desde cualquier URL de repositorio de GitHub — no requiere clonar

faf_discover

Recorre el árbol de directorios hacia arriba para encontrar el project.faf más cercano

Puntuar y validar

Herramienta

Qué hace

faf_score

Puntúa la preparación para IA de 0-100% con desglose a nivel de campo

faf_sync

Sincroniza project.fafCLAUDE.md (preserva el contenido existente)

Optimizar

Herramienta

Qué hace

faf_read

Analiza y muestra el contenido de project.faf

faf_compress

Comprime .faf para contextos con límite de tokens (minimal / standard / full)

faf_tokens

Estima el conteo de tokens en cada nivel de compresión

faf_init es iterativo — ejecútalo de nuevo y rellenará lo que falte. La puntuación sube cada vez.

Arquitectura

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 monohilo (current_thread)

  • HTTP: reqwest asíncrono (solo usado por faf_git para la API de GitHub)

  • SDK: faf-rust-sdk 1.3 para análisis, validación, compresión y descubrimiento

  • Servidor: rmcp 1.1 con macro #[tool_router] — maneja JSON-RPC, generación de esquemas y transporte

Las herramientas devuelven serde_json::Value. El servidor los adapta a Result<String, String> para IntoCallToolResult de rmcp.

Pruebas

112 pruebas en 6 archivos:

cargo test    # runs all 112

Archivo

Pruebas

Cobertura

mcp_protocol.rs

9

Handshake inicial, lista de herramientas, recursos, validación de esquema, preservación de ID

tools_functional.rs

25

Las 9 herramientas — camino feliz, caminos de error, detección de lenguaje

tier1_security.rs

12

Path traversal, bytes nulos, inyección de shell, entrada sobredimensionada, JSON malformado

tier2_engine.rs

35

YAML corrupto, reemplazo de sincronización, pipelines, manifiestos duales, nombres de archivo heredados, rutas directas

tier3_edge_cases.rs

10

Unicode, CJK, límites de puntuación, campos desconocidos, análisis de URL de GitHub

tier4_aero.rs

21

Estructura de manifiesto, sincronización de versión, server.json, validación cruzada manifiesto-servidor

Las pruebas ejecutan el binario compilado como un subproceso y se comunican mediante JSON-RPC por stdin/stdout — pruebas de integración reales contra el servidor real.

Ecosistema FAF

Un formato, todas las plataformas de IA.

Paquete

Plataforma

Registro

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

Construir desde el código fuente

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)

Edición: 2021 | LTO: habilitado | Strip: símbolos

Si rust-faf-mcp te ha sido útil, considera marcar el repositorio con una estrella — ayuda a otros a encontrarlo.

Enlaces

Licencia

MIT


Creado por @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