gemini-faf-mcp
gemini-faf-mcp
Постоянный контекст проекта для Google Gemini. Определите один раз. Синхронизируйте везде.
FAF определяет. MD инструктирует. ИИ пишет код.
Хватит заново объяснять свой проект каждой новой сессии Gemini. Каждый диалог с Gemini начинается с чистого листа — вы каждый раз заново описываете свой стек, цели и соглашения. .faf — это один структурированный файл, который фиксирует всё это. Этот пакет представляет собой MCP-сервер, который позволяет Gemini читать его.
До и после
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 считывается один раз при запуске сессии. Каждый вызов инструмента попадает к Gemini, которая уже знает ваш проект.
Что нового в v2.2.0
Механизм оценки чемпионата Mk4 — все 12 инструментов теперь используют тот же алгоритм оценки, что и компилятор Rust и CLI TypeScript. faf_score и faf_validate возвращают детализацию на уровне слотов (populated, active, total). Оценки совпадают во всех инструментах FAF на любом языке. 221 тест, 41 новый тест чемпионата WJTTC. Удален мертвый код (sync_faf.py).
v2.2.1 — это патч-релиз, в котором описание пакета приведено в соответствие с канонической формулировкой «Постоянный контекст проекта для Google Gemini» на PyPI, в галерее расширений Gemini и реестре MCP. Изменений в коде нет.
Настройка за одну минуту
1. Установка
pip install gemini-faf-mcp2. Добавление в Gemini CLI
gemini extensions install https://github.com/Wolfe-Jam/gemini-faf-mcp3. Генерация контекста вашего проекта
В вашем Gemini CLI:
> /gemini-faf-mcp:setupВы должны увидеть: Created project.faf — Score: 85% (BRONZE). С этого момента каждая сессия Gemini в этом проекте будет автоматически считывать его.
Совет: Оценка 85% (BRONZE) — это минимум, при котором Gemini перестает гадать. Запустите
/gemini-faf-mcp:score, чтобы увидеть, чего не хватает и как достичь 100% (TROPHY).
Related MCP server: rust-faf-mcp RMCP
Преимущество «одного файла»
Файл .faf — это структурированный YAML, который фиксирует ДНК вашего проекта. Каждый ИИ-агент считывает его один раз и точно знает, что вы создаете.
# 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 serviceРезультат: Gemini считывает это один раз и знает ваш проект. Никакого 20-минутного онбординга. Никаких неверных предположений. Каждая сессия начинается с полного понимания.
FAF определяет. MD инструктирует. ИИ пишет код.
А как насчет моего GEMINI.md?
Вы не заменяете его. .faf генерирует его. Запустите faf_gemini, и вы получите свежий GEMINI.md со структурированными данными проекта, встроенными в виде YAML frontmatter — тот же GEMINI.md, который уже читает Gemini CLI, но сгенерированный из единого источника истины, а не поддерживаемый вручную.
> /gemini-faf-mcp:export
# Generates GEMINI.md from project.faf.faf — это источник. GEMINI.md — один из его выводов. Та же логика для AGENTS.md (OpenAI Codex), .cursorrules, CLAUDE.md и других — пишите один раз, используйте везде.
Автоматическое определение стека
faf_auto сканирует файлы манифеста вашего проекта и генерирует .faf с точными значениями слотов. Ручной ввод не требуется.
> 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"
}Что он сканирует:
Файл | Обнаруживает |
| Python + система сборки + фреймворки (FastAPI, Django, Flask, FastMCP) + базы данных |
| JavaScript/TypeScript + фреймворки (React, Vue, Next.js, Express) |
| Rust + cargo + фреймворки (Axum, Actix) |
| Go + go modules + фреймворки (Gin, Echo) |
| Python (резервный) |
| Ruby |
| PHP |
Правило приоритета: pyproject.toml / Cargo.toml / go.mod имеют приоритет над package.json. Устанавливаются только те значения, которые действительно обнаружены — никаких жестко закодированных значений по умолчанию.
Все 12 инструментов
Создание и обнаружение
Инструмент | Что он делает |
| Создает стартовый файл |
| Автоматически определяет стек из файлов манифеста и генерирует/обновляет |
| Находит файлы |
Проверка и оценка
Инструмент | Что он делает |
| Полная проверка Mk4 — оценка, уровень, количество слотов, ошибки, предупреждения |
| Быстрая оценка Mk4 — оценка, уровень, количество заполненных/активных/всего слотов |
Чтение и преобразование
Инструмент | Что он делает |
| Парсит файл |
| Преобразует распарсенные данные FAF обратно в чистый YAML |
| Получает оптимизированный для Gemini контекст (проект + стек + оценка) |
Экспорт и взаимодействие
Инструмент | Что он делает |
| Экспортирует |
| Экспортирует |
Справочная информация
Инструмент | Что он делает |
| Информация о формате FAF — регистрация IANA, версия, экосистема |
| Получает пример |
Система оценки и уровней
Ваш файл .faf оценивается по полноте — сколько слотов заполнено реальными значениями.
Оценка | Уровень | Значение |
100% | TROPHY | ИИ имеет полный контекст вашего проекта |
99% | GOLD | Исключительно |
95% | SILVER | Высший уровень |
85% | BRONZE | Рекомендуемый минимум — ИИ может строить на этой основе |
70% | GREEN | Прочный фундамент |
55% | YELLOW | Требует улучшения |
<55% | RED | Серьезные пробелы — ИИ будет гадать |
0% | WHITE | Пусто |
Стремитесь к уровню Bronze (85%+). Именно здесь ИИ перестает гадать и начинает знать.
Использование с Gemini CLI
> 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 warningsАрхитектура
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)MCP-сервер делегирует задачи faf-python-sdk для парсинга, проверки и оценки Mk4. Определение стека в faf_auto является нативным для Python — никаких внешних зависимостей CLI.
Тестирование
pip install -e ".[dev]"
python -m pytest tests/ -v221 тест проходит по 9 уровням WJTTC (125 MCP-сервер + 55 Cloud Function + 41 Mk4 WJTTC championship). Тестовое покрытие чемпионского уровня — сертифицировано WJTTC.
Экосистема FAF
Один формат, любая платформа ИИ.
Пакет | Платформа | Реестр |
Anthropic | npm + MCP #2759 | |
gemini-faf-mcp | PyPI | |
xAI | npm | |
Rust | crates.io | |
Universal | npm |
Python SDK
Используйте FAF напрямую в Python без 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()Cloud Run REST API
Живая конечная точка для бейджей, брокериджа контекста между агентами и мутаций голоса в FAF.
https://faf-source-of-truth-631316210911.us-east1.run.appПоддерживает оптимизированные для агентов ответы (Gemini, Claude, Grok, Jules, Codex/Copilot/Cursor) через заголовок X-FAF-Agent. Голосовые мутации через Gemini Live через PUT-запрос. Автоматическое развертывание через Cloud Build при пуше в main.
Если gemini-faf-mcp был полезен, подумайте о том, чтобы поставить звезду репозиторию — это помогает другим найти его.
Ссылки
Лицензия
MIT
Создано @wolfe_jam | wolfejam.dev
Получить CLI
faf-cli — Оригинальный CLI для ИИ-контекста. Обязателен для каждого разработчика.
npx faf-cli autoAnthropic MCP #2759 · Зарегистрировано IANA: application/vnd.faf+yaml · faf.one · npm
Maintenance
Related MCP Servers
- AlicenseAqualityAmaintenance.FAF (Foundational AI-context Format) with 50+ tools - Only Persistent project context that integrates seamlessly with Claude Desktop workflows. Officially merged (#2759) Anthropic MCP server.1249122MIT
- AlicenseNot gradedqualityAmaintenancePersistent project context in Rust. 8 MCP tools via rmcp SDK — parse, validate, score, compress, discover, and token analysis. Single binary, zero config. IANA-registered format (application/vnd.faf+yaml). One file, every AI platform.7334MIT
- AlicenseAqualityAmaintenancePersistent 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.152396MIT
- AlicenseBqualityCmaintenancePortable, auditable, local-first MCP memory for MCP-compatible AI agents and coding workflows. It keeps durable project memory outside the model runtime, compresses continuity into smaller working packs, and carries forward operational state so agents can resume with less repetition.2834Apache 2.0
Related MCP Connectors
Persistent project context for xAI Grok. IANA-registered .faf format.
Persistent project context for Claude. IANA-registered .faf format.
Persistent project context — Rust-native MCP server. IANA-registered .faf format.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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