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 客户端在连接 MCP 服务器时需提供一个配置项(JSON),其中包括服务器名称、启动命令以及参数等信息,用于在客户端侧登记并与服务器建立连接。以下为此配置字段的说明(非代码块,便于理解):
- 基本使用方法
- 启动服务器后,客户端通过 MCP 协议(JSON-RPC)向服务器发起调用,例如列出对象、下载或上传资源、执行 S3/SFTP 相关工具等。
- 常见用例包括:
- 连接到 S3/SFTP 资源,获取连接标识符(connection_id),随后通过该标识符对目标资源进行操作(如列出对象、下载、上传等)。
- 调用工具(如 s3_connect、s3_list_objects、sftp_list_objects 等)来实现对资源的查询与操作。
- 通过统一的 RPC 接口获取或执行提示模板和上下文信息,以支持 LLM 的对话与推理场景。
- 客户端应记得在使用完毕后释放资源,断开连接,确保状态清理。