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 启动服务。
  • 服务器配置

    • MCP 客户端需要提供服务器启动信息(至少包含服务器名称、命令及参数),以便启动并通过 JSON-RPC 进行通信。以下为一个示例配置说明(非代码块形式展示,便于阅读):
      • serverName(服务器名称): faf
      • command(启动命令): rust-faf-mcp
      • args(启动参数): [] // 如需要额外参数可在此添加
    • 说明:该配置用于 MCP 客户端在本地启动并连接到该服务器。客户端不需要理解服务器实现的内部细节,只需知道如何启动和向服务器发送符合 MCP 的请求。
  • 基本使用方法

    • 启动服务器后,客户端通过 JSON-RPC 发送请求(每条请求是一行 JSON),服务器在同一行的请求被处理并返回相应的 JSON-RPC 响应。
    • 常用请求示例(以理解为目的,不作为实际配置代码):
      • 初始化:发送 method 为 initialize 的请求,服务器将返回协议版本、服务器信息与能力信息。
      • 列出工具:发送 method 为 tools/list 的请求,获取支持的工具及其输入模式。
      • 调用工具:通过工具名称(如 faf_read、faf_score 等)与参数调用具体工具,获取文本输出或结构化内容。
      • 资源查询:使用 resources/list/read 读取资源信息或具体文本内容。
    • 运行与调试要点
      • 服务器在接收到有效的 JSON-RPC 请求后,会返回带有相同 id 的响应,保持请求 ID 的一致性。
      • 不合法的方法名会返回一个包含 error 的 JSON-RPC 错误对象。

服务器信息