rust-faf-mcp RMCP
rust-faf-mcp
Хватит пересказывать свой проект каждой сессии ИИ. Один файл
.fafфиксирует ДНК вашего проекта. Любой ИИ считывает его один раз и понимает, что вы создаете.
Нативный Rust-сервер MCP (Model Context Protocol) для FAF — структурированный контекст ИИ-проекта в формате YAML (application/vnd.faf+yaml). Один бинарный файл, транспорт stdio, 4.3 МБ после strip. Построен на базе rmcp и faf-rust-sdk.
Быстрый старт
cargo install rust-faf-mcpЗатем укажите на него любому MCP-клиенту:
# Claude Code
claude mcp add faf rust-faf-mcp// WARP / Cursor / Zed / Claude Desktop — any stdio MCP client
{
"mcpServers": {
"faf": {
"command": "rust-faf-mcp"
}
}
}Никаких флагов, никаких файлов конфигурации, никаких сетевых слушателей. Чистый stdio JSON-RPC.
Или через Homebrew (macOS, готовая сборка):
brew install Wolfe-Jam/faf/rust-faf-mcpRelated MCP server: gemini-faf-mcp
Одна команда — и готово навсегда
faf_auto обнаруживает ваш проект, создает .faf, улучшает его до максимальной оценки и синхронизирует CLAUDE.md — за один раз:
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Что он создает:
# 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Каждый ИИ-агент считывает это один раз и точно знает, что вы строите. Никакого 20-минутного онбординга. Никаких неверных предположений.
Инструменты
Создание и обнаружение
Инструмент | Что он делает |
| От нуля до ИИ-контекста одной командой — инициализация, улучшение, синхронизация, оценка, готово |
| Создание или улучшение |
| Генерация |
| Поиск вверх по дереву каталогов для нахождения ближайшего |
Оценка и проверка
Инструмент | Что он делает |
| Оценка готовности к ИИ (0-100%) с разбивкой по полям |
| Синхронизация |
Оптимизация
Инструмент | Что он делает |
| Парсинг и отображение содержимого |
| Сжатие |
| Оценка количества токенов на каждом уровне сжатия |
faf_init работает итеративно — запустите его снова, и он заполнит недостающее. Оценка растет с каждым разом.
Архитектура
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 ValueRuntime:
tokioоднопоточный (current_thread)HTTP:
reqwestасинхронный (используется толькоfaf_gitдля GitHub API)SDK:
faf-rust-sdk1.3 для парсинга, проверки, сжатия, обнаруженияServer:
rmcp1.1 с макросом#[tool_router]— обрабатывает JSON-RPC, генерацию схем, транспорт
Инструменты возвращают serde_json::Value. Сервер адаптирует их к Result<String, String> для IntoCallToolResult в rmcp.
Тестирование
112 тестов в 6 файлах:
cargo test # runs all 112Файл | Тесты | Покрытие |
| 9 | Инициализация рукопожатия, список инструментов, ресурсы, проверка схемы, сохранение ID |
| 25 | Все 9 инструментов — основной сценарий, пути ошибок, определение языка |
| 12 | Обход пути, нулевые байты, инъекции оболочки, чрезмерный ввод, поврежденный JSON |
| 35 | Поврежденный YAML, замена при синхронизации, конвейеры, двойные манифесты, устаревшие имена файлов, прямые пути |
| 10 | Unicode, CJK, границы оценок, неизвестные поля, парсинг URL GitHub |
| 21 | Структура манифеста, синхронизация версий, server.json, перекрестная проверка манифест-сервер |
Тесты запускают скомпилированный бинарный файл как подпроцесс и общаются через stdin/stdout JSON-RPC — настоящие интеграционные тесты реального сервера.
Экосистема FAF
Один формат, любая ИИ-платформа.
Пакет | Платформа | Реестр |
rust-faf-mcp | Rust | crates.io |
Anthropic | npm + MCP #2759 | |
PyPI | ||
xAI | npm | |
Универсальный | npm |
Сборка из исходного кода
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: включено | Strip: символы
Если rust-faf-mcp оказался полезен, подумайте о том, чтобы поставить звезду репозиторию — это помогает другим найти его.
Ссылки
faf-rust-sdk — парсер, от которого зависит этот проект
faf.one — домашняя страница FAF
Регистрация IANA —
application/vnd.faf+yaml
Лицензия
MIT
Создано @wolfe_jam | wolfejam.dev
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent project context for xAI Grok. IANA-registered .faf format.
Persistent project context for Claude. IANA-registered .faf format.
Project management shared by people and AI agents, with persistent project state through MCP.
Share one project context across ChatGPT, Claude, Telegram and any MCP client.
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.141,271 npm23MIT
- AlicenseAqualityAmaintenancePersistent 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.13124 PyPI2MIT
- 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.15896 npm7MIT
- AlicenseAqualityCmaintenanceDeterministic dependency + CVE context for AI coding tools, over the Model Context Protocol. A ~0.85 MB pure-Rust MCP server.21MIT