gemini-faf-mcp
Contexto de proyecto persistente para Google Gemini. Define una vez. Sincroniza en todas partes.
FAF define. MD instruye. IA programa.
Deja de explicar tu proyecto en cada nueva sesión de Gemini. Cada conversación con Gemini comienza desde cero: vuelves a exponer tu stack, tus objetivos y tus convenciones cada vez. .faf es un archivo estructurado que captura todo eso. Este paquete es el servidor MCP que permite a Gemini leerlo.
👁 PyPI
👁 Descargas
👁 Pruebas
👁 IANA
Antes y después
Without FAF With FAF (.faf at 85%+ Bronze)
───────────────────────── ─────────────────────────
You: "I'm using FastAPI with... You: "Add a /users/me endpoint"
PostgreSQL, pytest, and..." Gemini: [generates correct code,
Gemini: "Got it. What's the uses your auth pattern,
codebase like?" matches your test style]
You: "It's a REST API for..."
[5 minutes of re-explaining]
Gemini: [now ready to help].faf se lee una vez al inicio de la sesión. Cada llamada a la herramienta llega a un Gemini que ya conoce tu proyecto.
Novedades en v2.2.0
Motor de puntuación del campeonato Mk4 — las 12 herramientas ahora utilizan el mismo algoritmo de puntuación que el compilador de Rust y la CLI de TypeScript. faf_score y faf_validate devuelven detalles a nivel de ranura (populated, active, total). Las puntuaciones coinciden en todas las herramientas FAF en todos los lenguajes. 221 pruebas, 41 nuevas pruebas del campeonato WJTTC. Código muerto eliminado (sync_faf.py).
v2.2.1 es una versión de parche: la descripción del paquete se alineó con la redacción canónica "Contexto de proyecto persistente para Google Gemini" en PyPI, la Galería de extensiones de Gemini y el Registro MCP. Sin cambios en el código.
Configuración en un minuto
1. Instalar
pip install gemini-faf-mcp2. Añadir a la CLI de Gemini
gemini extensions install https://github.com/Wolfe-Jam/gemini-faf-mcp3. Generar el contexto de tu proyecto
En tu CLI de Gemini:
> /gemini-faf-mcp:setupDeberías ver: Created project.faf — Score: 85% (BRONZE). A partir de este momento, cada sesión de Gemini en este proyecto lo lee automáticamente.
Consejo: Una puntuación del 85% (BRONZE) es el mínimo para que Gemini deje de adivinar. Ejecuta
/gemini-faf-mcp:scorepara ver qué falta y cómo llegar al 100% (TROPHY).
Related MCP server: rust-faf-mcp RMCP
La ventaja del "archivo único"
Un archivo .faf es un YAML estructurado que captura el ADN de tu proyecto. Cada agente de IA lo lee una vez y sabe exactamente qué estás construyendo.
# project.faf — your project, machine-readable
faf_version: '2.5.0'
project:
name: my-api
goal: REST API for user management
main_language: Python
stack:
backend: FastAPI
database: PostgreSQL
testing: pytest
human_context:
who: Backend developers
what: User CRUD with auth
why: Replace legacy PHP serviceResultado: Gemini lo lee una vez y conoce tu proyecto. Sin 20 minutos de incorporación. Sin suposiciones erróneas. Cada sesión comienza alineada.
FAF define. MD instruye. IA programa.
¿Qué pasa con mi GEMINI.md?
No lo reemplazas. .faf lo genera. Ejecuta faf_gemini y obtendrás un GEMINI.md nuevo con los datos estructurados del proyecto integrados como YAML frontmatter: el mismo GEMINI.md que la CLI de Gemini ya lee, pero generado a partir de una única fuente de verdad en lugar de mantenerse manualmente.
> /gemini-faf-mcp:export
# Generates GEMINI.md from project.faf.faf es la fuente. GEMINI.md es uno de sus resultados. La misma lógica para AGENTS.md (OpenAI Codex), .cursorrules, CLAUDE.md y otros: escribe una vez, renderiza en todas partes.
Detección automática de tu stack
faf_auto escanea los archivos de manifiesto de tu proyecto y genera un .faf con valores de ranura precisos. No se necesita entrada manual.
> Auto-detect my project stack{
"detected": {
"main_language": "Python",
"package_manager": "pip",
"build_tool": "setuptools",
"framework": "FastMCP",
"api_type": "MCP",
"database": "BigQuery"
},
"score": 100,
"tier": "TROPHY"
}Lo que escanea:
Archivo | Detecta |
| Python + sistema de compilación + frameworks (FastAPI, Django, Flask, FastMCP) + bases de datos |
| JavaScript/TypeScript + frameworks (React, Vue, Next.js, Express) |
| Rust + cargo + frameworks (Axum, Actix) |
| Go + módulos go + frameworks (Gin, Echo) |
| Python (alternativa) |
| Ruby |
| PHP |
Regla de prioridad: pyproject.toml / Cargo.toml / go.mod tienen prioridad sobre package.json. Solo establece valores que realmente se detectan; no hay valores predeterminados codificados.
Las 12 herramientas
Crear y detectar
Herramienta | Qué hace |
| Crea un archivo |
| Detecta automáticamente el stack de los archivos de manifiesto y genera/actualiza |
| Encuentra archivos |
Validar y puntuar
Herramienta | Qué hace |
| Validación completa Mk4: puntuación, nivel, recuento de ranuras, errores, advertencias |
| Puntuación rápida Mk4: puntuación, nivel, recuento de ranuras pobladas/activas/totales |
Leer y transformar
Herramienta | Qué hace |
| Analiza un archivo |
| Convierte los datos FAF analizados de nuevo a YAML limpio |
| Obtiene contexto optimizado para Gemini (proyecto + stack + puntuación) |
Exportar e interoperabilidad
Herramienta | Qué hace |
| Exporta |
| Exporta |
Referencia
Herramienta | Qué hace |
| Información del formato FAF: registro IANA, versión, ecosistema |
| Obtiene un ejemplo |
Sistema de puntuación y niveles
Tu archivo .faf se puntúa según su integridad: cuántas ranuras están llenas con valores reales.
Puntuación | Nivel | Significado |
100% | TROPHY | La IA tiene contexto completo de tu proyecto |
99% | GOLD | Excepcional |
95% | SILVER | Nivel superior |
85% | BRONZE | Mínimo recomendado: la IA puede construir desde aquí |
70% | GREEN | Base sólida |
55% | YELLOW | Necesita mejorar |
<55% | RED | Brechas importantes: la IA adivinará |
0% | WHITE | Vacío |
Apunta al Bronce (85%+). Ahí es donde la IA deja de adivinar y empieza a saber.
Uso con la CLI de Gemini
> Create a .faf file for my Python FastAPI project
> Auto-detect my project and fill in the stack
> Score my .faf and show what's missing
> Export GEMINI.md for this project
> Show me a 100% example for an MCP server
> What is FAF and how does it work?
> Read my project.faf and summarize the stack
> Validate my .faf and fix the warningsArquitectura
gemini-faf-mcp v2.2.1
├── server.py → FastMCP MCP server (12 tools, Mk4 scoring)
├── main.py → Cloud Run REST API (GET/POST/PUT)
├── models.py → 15 project type examples
└── src/gemini_faf_mcp/ → Python SDK (FAFClient, parser)El servidor MCP delega en faf-python-sdk para el análisis, la validación y la puntuación Mk4. La detección de stack en faf_auto es nativa de Python: sin dependencias externas de CLI.
Pruebas
pip install -e ".[dev]"
python -m pytest tests/ -v221 pruebas superadas en 9 niveles WJTTC (125 servidor MCP + 55 Cloud Function + 41 campeonato Mk4 WJTTC). Cobertura de pruebas de nivel de campeonato: certificado por WJTTC.
Ecosistema FAF
Un formato, todas las plataformas de IA.
Paquete | Plataforma | Registro |
Anthropic | npm + MCP #2759 | |
gemini-faf-mcp | PyPI | |
xAI | npm | |
Rust | crates.io | |
Universal | npm |
SDK de Python
Usa FAF directamente en Python sin MCP:
from gemini_faf_mcp import FAFClient, parse_faf, validate_faf, find_faf_file
# Parse and validate locally
data = parse_faf("project.faf")
result = validate_faf(data)
print(f"Score: {result['score']}%, Tier: {result['tier']}")
# Find .faf files automatically
faf_path = find_faf_file(".")
# Or use the Cloud Run endpoint
client = FAFClient()
dna = client.get_project_dna()API REST de Cloud Run
Endpoint en vivo para insignias, intermediación de contexto multi-agente y mutaciones de voz a FAF.
https://faf-source-of-truth-631316210911.us-east1.run.appAdmite respuestas optimizadas para agentes (Gemini, Claude, Grok, Jules, Codex/Copilot/Cursor) a través del encabezado X-FAF-Agent. Mutaciones de voz a través de Gemini Live mediante el endpoint PUT. Despliegue automático a través de Cloud Build al hacer push a main.
Si gemini-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
Obtén la CLI
faf-cli — La CLI de contexto de IA original. Imprescindible para todo constructor.
npx faf-cli autoAnthropic MCP #2759 · Registrado en IANA: application/vnd.faf+yaml · faf.one · npm
Maintenance
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/gemini-faf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
