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-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
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