Skip to main content
Glama

rust-faf-mcp

Хватит пересказывать свой проект каждой сессии ИИ. Один файл .faf фиксирует ДНК вашего проекта. Любой ИИ считывает его один раз и понимает, что вы создаете.

Crates.io Tests IANA License

Нативный 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

Related 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-минутного онбординга. Никаких неверных предположений.

Инструменты

Создание и обнаружение

Инструмент

Что он делает

faf_auto

От нуля до ИИ-контекста одной командой — инициализация, улучшение, синхронизация, оценка, готово

faf_init

Создание или улучшение project.faf из Cargo.toml, package.json, pyproject.toml или go.mod

faf_git

Генерация project.faf из любого URL репозитория GitHub — клонирование не требуется

faf_discover

Поиск вверх по дереву каталогов для нахождения ближайшего project.faf

Оценка и проверка

Инструмент

Что он делает

faf_score

Оценка готовности к ИИ (0-100%) с разбивкой по полям

faf_sync

Синхронизация project.fafCLAUDE.md (сохраняет существующее содержимое)

Оптимизация

Инструмент

Что он делает

faf_read

Парсинг и отображение содержимого project.faf

faf_compress

Сжатие .faf для контекстов с ограничением по токенам (minimal / standard / full)

faf_tokens

Оценка количества токенов на каждом уровне сжатия

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 Value
  • Runtime: tokio однопоточный (current_thread)

  • HTTP: reqwest асинхронный (используется только faf_git для GitHub API)

  • SDK: faf-rust-sdk 1.3 для парсинга, проверки, сжатия, обнаружения

  • Server: rmcp 1.1 с макросом #[tool_router] — обрабатывает JSON-RPC, генерацию схем, транспорт

Инструменты возвращают serde_json::Value. Сервер адаптирует их к Result<String, String> для IntoCallToolResult в rmcp.

Тестирование

112 тестов в 6 файлах:

cargo test    # runs all 112

Файл

Тесты

Покрытие

mcp_protocol.rs

9

Инициализация рукопожатия, список инструментов, ресурсы, проверка схемы, сохранение ID

tools_functional.rs

25

Все 9 инструментов — основной сценарий, пути ошибок, определение языка

tier1_security.rs

12

Обход пути, нулевые байты, инъекции оболочки, чрезмерный ввод, поврежденный JSON

tier2_engine.rs

35

Поврежденный YAML, замена при синхронизации, конвейеры, двойные манифесты, устаревшие имена файлов, прямые пути

tier3_edge_cases.rs

10

Unicode, CJK, границы оценок, неизвестные поля, парсинг URL GitHub

tier4_aero.rs

21

Структура манифеста, синхронизация версий, server.json, перекрестная проверка манифест-сервер

Тесты запускают скомпилированный бинарный файл как подпроцесс и общаются через stdin/stdout JSON-RPC — настоящие интеграционные тесты реального сервера.

Экосистема FAF

Один формат, любая ИИ-платформа.

Пакет

Платформа

Реестр

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

Универсальный

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 оказался полезен, подумайте о том, чтобы поставить звезду репозиторию — это помогает другим найти его.

Ссылки

Лицензия

MIT


Создано @wolfe_jam | wolfejam.dev

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Persistent 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.
    12
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Persistent 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.
    15
    238
    6
    MIT

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