PhiFlow MCP Server

使用说明

  • 项目简介
    • PhiFlow MCP Server 是一个实现 MCP 协议的后端服务器,核心职责是向 LLM 客户端提供可管理的资源、工具及提示模板等上下文信息,并提供跨进程/跨主机的协作能力。服务器通过 JSON-RPC 与客户端进行请求/响应,具备会话管理、能力声明以及多传输协议支持等特性,适用于需要标准化上下文服务的 AI 应用场景。
  • 主要功能点
    • 资源管理:对数据资源进行托管、读取与访问控制,便于 LLM 客户端获取所需数据。
    • 工具注册与执行:注册可调用的外部工具,并通过 JSON-RPC 调用执行,返回结果给客户端。
    • 提示模板与渲染:定义、渲染并提供可复用的提示模板,支持多种交互模式。
    • JSON-RPC 服务:实现标准的 JSON-RPC 形式请求/响应,便于客户端集成。
    • 会话与能力声明:会话管理、能力声明、以及对客户端能力的自描述。
    • 多传输协议支持:支持 Stdio、SSE、WebSocket 等传输介质,方便在不同环境中部署。
    • 容错与队列:包括执行超时、步数限制等守护机制,以及追加日志队列用于容错传输。
  • 安装步骤
    • 安装依赖与构建
      • 使用 Rust 的构建工具 cargo 进行构建。推荐在项目根目录执行“cargo build --release”来生成可执行的 MCP 服务器二进制。
    • 启动服务器
      • 通过生成的二进制启动 MCP 服务器,例如使用 release 版本的可执行文件启动。
      • 服务器默认提供多传输支持,请根据部署环境选择合适传输方式(例如 STDIO、SSE、WebSocket),并在启动参数中开启相应传输。
  • 服务器配置(MCP 客户端需要的配置信息) 说明:MCP 客户端在连接 MCP 服务器前需要提供一份配置,包含服务器名称、启动命令及参数等信息。以下为示例配置字段及含义,实际使用中请以本仓库实际实现的命令行参数为准。
    • server_name:服务器对外标识名称,便于客户端显示与区分;
    • command:启动服务的完整命令或可执行路径;
    • args:启动命令的参数列表,逐项描述以便客户端能正确启动并连接服务器;
    • transport(可选):支持的传输协议,如 stdio、sse、websocket 等组合,客户端据此选择通信通道。 示例配置(注释用中文说明各字段含义,非代码块,仅用于理解): { "server_name": "PhiFlow MCP Server", "command": "target/release/phi_mcp", "args": [ "--host", "0.0.0.0", "--port", "6000", "--transport", "websocket" ], "notes": "该配置用于在 0.0.0.0 上监听 6000 端口,启用 WebSocket 传输。实际可用选项以仓库实现为准,若环境不支持 WebSocket,可改用 SSE 或 STDIO。" }
  • 基本使用方法(操作简单,适合初次接入的开发者)
    • 启动阶段
      • 按照安装步骤构建并运行 MCP 服务器二进制,确保服务器正常启动且监听指定端口。
    • 与客户端对接
      • MCP 客户端通过 JSON-RPC 调用与服务器交互,核心请求包括读取资源、调用工具、获取 Prompt 等能力。具体的方法名及参数,请参考服务器实现的 JSON-RPC 接口文档。
    • 会话与流控制
      • 客户端可以通过 spawn_phi_stream 启动一个 PhiFlow 程序的执行流(stream),遇到 witness 时流会暂停并返回状态,随后可使用 resume_phi_stream 恢复执行。
    • 资源与共用字段
      • 不同执行流之间可以共享 resonance 字段,促进跨流协作。服务器提供 read_resonance_field 接口以查看共享字段。
  • 运行示例要点
    • 请确保服务器在受控网络环境中运行,避免未授权访问。
    • 按需开启对应传输通道,确保客户端与服务器之间的通讯安全、稳定。
    • 使用时应遵循 MCP 协议的请求/响应格式,避免自定义的非标准请求导致通讯异常。

服务器信息