rust-faf-mcp RMCP
rust-faf-mcp
모든 AI 세션마다 프로젝트를 다시 설명하는 일을 멈추세요. 하나의
.faf파일이 프로젝트의 DNA를 담습니다. 모든 AI가 이 파일을 한 번 읽는 것만으로 무엇을 만드는지 즉시 파악합니다.
FAF를 위한 Rust 네이티브 MCP(Model Context Protocol) 서버 — YAML 형식의 구조화된 AI 프로젝트 컨텍스트(application/vnd.faf+yaml)를 제공합니다. 단일 바이너리, stdio 전송, 4.3MB(스트립됨). 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모든 AI 에이전트가 이 파일을 한 번 읽으면 무엇을 만드는지 정확히 이해합니다. 20분씩 걸리는 온보딩이나 잘못된 가정은 이제 없습니다.
도구
생성 및 감지
도구 | 기능 |
| 한 번의 명령으로 AI 컨텍스트 구축 — 초기화, 향상, 동기화, 점수 산정 완료 |
|
|
| GitHub 저장소 URL에서 |
| 디렉토리 트리를 탐색하여 가장 가까운 |
점수 산정 및 검증
도구 | 기능 |
| 필드별 분석을 포함한 AI 준비도 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 Value런타임:
tokio싱글 스레드 (current_thread)HTTP:
reqwest비동기 (GitHub API용faf_git에서만 사용)SDK: 파싱, 검증, 압축, 탐색을 위한
faf-rust-sdk1.3서버:
#[tool_router]매크로를 사용하는rmcp1.1 — JSON-RPC, 스키마 생성, 전송 처리
도구는 serde_json::Value를 반환합니다. 서버는 이를 rmcp의 IntoCallToolResult를 위해 Result<String, String>으로 변환합니다.
테스트
6개 파일에 걸친 112개의 테스트:
cargo test # runs all 112파일 | 테스트 | 커버리지 |
| 9 | 초기 핸드셰이크, 도구/목록, 리소스, 스키마 검증, ID 보존 |
| 25 | 9개 도구 전체 — 정상 경로, 오류 경로, 언어 감지 |
| 12 | 경로 탐색, 널 바이트, 셸 인젝션, 과도한 입력, 잘못된 JSON |
| 35 | 손상된 YAML, 동기화 교체, 파이프라인, 이중 매니페스트, 레거시 파일명, 직접 경로 |
| 10 | 유니코드, CJK, 점수 경계, 알 수 없는 필드, GitHub URL 파싱 |
| 21 | 매니페스트 구조, 버전 동기화, server.json, 매니페스트-서버 교차 검증 |
테스트는 컴파일된 바이너리를 하위 프로세스로 생성하고 stdin/stdout JSON-RPC를 통해 통신합니다. 실제 서버에 대한 진정한 통합 테스트입니다.
FAF 생태계
하나의 형식으로 모든 AI 플랫폼 지원.
패키지 | 플랫폼 | 레지스트리 |
rust-faf-mcp | Rust | crates.io |
Anthropic | npm + MCP #2759 | |
PyPI | ||
xAI | npm | |
Universal | 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)에디션: 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