GateFlow MCP 服务器
使用说明
- 项目简介 GateFlow 在其插件包中实现了一个基于 Model Context Protocol (MCP) 的后端服务器。该服务器向 LLM 客户端暴露对工具的注册与执行、资源读取、以及提示模板等上下文信息的统一接口,并通过标准的 JSON-RPC 方式进行通讯,支持通过 stdio 传输。
- 主要功能点
- 工具注册与执行:客户端可查询可用工具列表并调用具体工具,返回执行结果。
- 资源与上下文访问:提供对资源的读取、写入、搜索等能力,并可将工具输出持久化为上下文文件,便于后续推理和回溯。
- MCP 风格的请求/响应:遵循 MCP 的 JSON-RPC 风格,支持 ListTools、CallTool 等请求形式,返回结构化响应。
- 传输模式:通过标准输出流(stdio)等传输方式进行通信,便于嵌入到多种运行环境。
- 与 GateFlow CLI/工具链集成:与 GateFlow 的工具执行组件、CLI 指令和各类工作流协同工作,方便在 HDL 软件开发场景中为 LLM 提供可调用的外部能力。
- 安装与运行步骤
- 步骤 1:在仓库根目录安装依赖并构建(如果需要编译,按照仓库的构建指引进行);
- 步骤 2:使用 GateFlow 提供的 MCP 服务启动命令来启动服务器,例如启动 Tools 服务器和主 MCP 服务器(具体命令由 GateFlow CLI 提供的入口决定,详情请参考 GateFlow 的 MCP 启动文档);
- 步骤 3:确保服务器正常启动,监听 stdio 传输通道,等待来自 MCP 客户端的 JSON-RPC 请求。
- 步骤 4:为 MCP 客户端配置相应的启动参数,确保客户端可以通过该服务器进行资源访问、工具调用和提示渲染。
- 服务器配置(MCP 客户端需要但本说明不涉及客户端代码)
服务器配置以 JSON 形式描述,包含服务器名称、启动命令与参数等,用于 MCP 客户端建立连接的初始信息。示例配置要点如下:
- serverName: gateflow
- command: gateflow
- args: ["mcp"] 注释说明:serverName 是 MCP 服务在客户端侧的标识,command 与 args 指定如何启动 MCP 服务器进程。GateFlow 的 MCP 服务器实现以 gateflow mcp 命令启动,提供对工具列表、工具执行以及上下文管理的访问能力。
- 基本使用方法
- 启动服务器后,MCP 客户端向 ListTools 请求服务器支持的工具列表,服务器返回一个工具集合及各自的输入定义。
- 客户端发起 ToolCall 请求,服务器执行对应工具并将结果通过 JSON-RPC 响应返回。
- 客户端可通过资源获取、上下文注入等能力来获取裁剪后的上下文信息,用于对话式或计划式推理。
- 服务器具备会话管理与能力声明能力,支持多种传输协议接口,并确保安全、可扩展的上下文服务框架。