rust-faf-mcp
使用说明(Markdown 格式)
-
项目简介
- 这是一个用 Rust 实现的 MCP 服务器,专为 FAF(Foundational AI-context Format)设计。服务器通过 JSON-RPC(基于标准输入/输出的简单通道)向 LLM 客户端提供对资源、工具以及提示模板的访问与操作。
-
主要功能点
- 提供 5 个工具:faf_init、faf_git、faf_read、faf_score、faf_sync,涵盖创建/增强 FAF 文件、从 GitHub 生成 FAF、读取 FAF、评分 AI 就绪度、以及 FAF 与 CLAUDE.md 的双向同步。
- 实现 MCP 协议的核心能力:初始化(initialize)、列出工具与资源、根据工具执行请求(tools/call)并返回 JSON-RPC 格式的响应。
- 资源管理:实现对资源列表与读取接口,支持向客户端提供外部数据(如权重表)。
- 支持从 FAF YAML 字段中解析、验证与生成输出,以及与 faf-rust-sdk 的交互。
- 服务器以 STDIO 形式运行,易于在集成环境中与不同客户端对接。
-
安装步骤
- 直接从源码编译运行(需要 Rust 环境):
- 使用 cargo 构建并运行,即可启动 MCP 服务器。
- 也可以通过 cargo 安装已发布二进制:
- cargo install rust-faf-mcp
- 安装完成后直接执行 rust-faf-mcp 启动服务。
- 直接从源码编译运行(需要 Rust 环境):
-
服务器配置
- MCP 客户端需要提供服务器启动信息(至少包含服务器名称、命令及参数),以便启动并通过 JSON-RPC 进行通信。以下为一个示例配置说明(非代码块形式展示,便于阅读):
- serverName(服务器名称): faf
- command(启动命令): rust-faf-mcp
- args(启动参数): [] // 如需要额外参数可在此添加
- 说明:该配置用于 MCP 客户端在本地启动并连接到该服务器。客户端不需要理解服务器实现的内部细节,只需知道如何启动和向服务器发送符合 MCP 的请求。
- MCP 客户端需要提供服务器启动信息(至少包含服务器名称、命令及参数),以便启动并通过 JSON-RPC 进行通信。以下为一个示例配置说明(非代码块形式展示,便于阅读):
-
基本使用方法
- 启动服务器后,客户端通过 JSON-RPC 发送请求(每条请求是一行 JSON),服务器在同一行的请求被处理并返回相应的 JSON-RPC 响应。
- 常用请求示例(以理解为目的,不作为实际配置代码):
- 初始化:发送 method 为 initialize 的请求,服务器将返回协议版本、服务器信息与能力信息。
- 列出工具:发送 method 为 tools/list 的请求,获取支持的工具及其输入模式。
- 调用工具:通过工具名称(如 faf_read、faf_score 等)与参数调用具体工具,获取文本输出或结构化内容。
- 资源查询:使用 resources/list/read 读取资源信息或具体文本内容。
- 运行与调试要点
- 服务器在接收到有效的 JSON-RPC 请求后,会返回带有相同 id 的响应,保持请求 ID 的一致性。
- 不合法的方法名会返回一个包含 error 的 JSON-RPC 错误对象。