Furman MCP 服务器

使用说明

  • 项目简介
    • Furman MCP 服务器是一个实现 MCP 协议的后端服务,允许 LLM 客户端通过标准化的 JSON-RPC 调用来读取资源、执行工具、以及获取并渲染 Prompts。当前实现对接了 S3 和 SFTP 等工具,提供云端存储、远程文件传输等能力,以便在 AI 场景中提供上下文信息和外部功能。
  • 主要功能点
    • MCP 核心能力:通过 JSON-RPC 接收请求、返回响应,支持会话管理与能力声明。
    • 资源与工具托管:对接 S3、SFTP 等资源与工具,LLM 可通过统一接口调用这些工具。
    • 安全与扩展:提供会话/连接管理,支持多种传输场景(本地 STDIO 为主,后续可扩展至 SSE/WebSocket 等)。
    • 服务端实现细节:包含 MCP 服务端实现、状态管理、以及用于 S3/SFTP 操作的服务封装。
  • 安装步骤
    • 克隆代码并编译:
      • 使用 Rust 与 Cargo 进行构建,生成名为 furman-mcp 的可执行文件。
    • 运行方式:
      • 直接通过命令行启动二进制(建议在 release 构建后使用),程序将以 STDIO 传输方式启动,等待来自 MCP 客户端的 JSON-RPC 请求。
    • 依赖与环境
      • 需要 Rust 工具链、以及与 S3/SFTP 相关服务的访问权限(在配置中可提供凭据或使用未加密的本地/测试环境)。
  • 服务器配置(给 MCP 客户端的配置信息说明)
    • MCP 客户端在连接 MCP 服务器时需提供一个配置项(JSON),其中包括服务器名称、启动命令以及参数等信息,用于在客户端侧登记并与服务器建立连接。以下为此配置字段的说明(非代码块,便于理解):
      • server_name(服务器名称):必须为一个唯一标识符,例如 "furman"。
      • command(启动命令):指向 MCP 服务器可执行文件的路径,例如 "/path/to/furman-mcp"。
      • args(启动参数):一个字符串数组,若服务器需要特定启动参数可在此处配置,例如 ["--some-flag", "value"],若无参数可为空数组。
    • 请根据仓库信息生成准确的配置项与注释,确保客户端能够正确启动并与 MCP 服务器建立连接;客户端本身不需要实现服务器端逻辑,仅负责连接与调用。
  • 基本使用方法
    • 启动服务器后,客户端通过 MCP 协议(JSON-RPC)向服务器发起调用,例如列出对象、下载或上传资源、执行 S3/SFTP 相关工具等。
    • 常见用例包括:
      • 连接到 S3/SFTP 资源,获取连接标识符(connection_id),随后通过该标识符对目标资源进行操作(如列出对象、下载、上传等)。
      • 调用工具(如 s3_connect、s3_list_objects、sftp_list_objects 等)来实现对资源的查询与操作。
      • 通过统一的 RPC 接口获取或执行提示模板和上下文信息,以支持 LLM 的对话与推理场景。
    • 客户端应记得在使用完毕后释放资源,断开连接,确保状态清理。

服务器信息