使用说明内容(Markdown格式)
-
项目简介
- SynthFlow MCP 服务器是一个用 C++ 实现的 MCP 服务端,用于接收来自 LLM 客户端的 JSON-RPC 请求并返回相应结果。当前实现支持初始化握手、工具列表查询,以及通过工具执行入口调用内置示例工具 Kenneth 的执行逻辑,通信通道采用标准输入输出(stdio)并使用 Content-Length 形式的消息边界来传输 JSON 数据。
-
主要功能点
- 处理 MCP 请求/响应:能够解析 MCP 客户端发送的 JSON-RPC 请求,按 MCP 约定产出正确的 JSON-RPC 响应。
- 工具暴露与调用:实现 tools/list 获取可用工具、tools/call 调用工具并返回执行结果的能力(示例工具 run_kenneth)。
- 服务器框架与日志:提供简单的日志输出,便于调试和跟踪请求处理过程。
- 基于 stdio 的传输:采用 Content-Length 头部来标识消息长度,适用于 MCP 的文本传输场景。
- 易于扩展:当前实现为 MVP 版本,后续可扩展资源、提示模版和多传输通道(如 SSE、WebSocket)等 MCP 核心能力。
-
安装步骤
- 在符合 C++17/现代构建工具的环境中编译此 MCP 服务器:
- 取得代码并进入 mcp-server 目录。
- 使用常见的 CMake 构建流程:创建构建目录、运行 cmake、执行构建命令。
- 生成可执行文件 synthflow-mcp(名称可能随实际构建配置而定)。
- 运行与测试
- 在命令行启动服务器(需要将标准输入/输出用于 MCP 客户端通信)。例如将 MCP 客户端输出的 JSON-RPC 请求通过管道传给 synthflow-mcp,服务器将输出相应的 JSON-RPC 响应。
- 客户端需要与 MCP 服务器建立通信时序:发送请求(含 Content-Length),服务器解析并返回响应。
- 在符合 C++17/现代构建工具的环境中编译此 MCP 服务器:
-
服务器配置(MCP 客户端连接信息,json 格式) 服务器名称: SynthFlow MCP Server command: ./synthflow-mcp args: [] 说明: 该配置描述了 MCP 客户端在启动时应使用的服务器启动命令及参数。MCP 客户端通过该命令启动服务器并与之通过脚本规定的 stdio 通道进行通信。具体字段含义如下:
- server_name: 服务器标识,用于区分不同 MCP 服务端。
- command: 启动 MCP 服务器的可执行文件名称(相对路径或暴露在 PATH 的可执行名)。
- args: 启动命令的参数列表(若无参数则为空数组)。 备注: MCP 客户端不需要额外的前置配置文件,直接通过上述命令启动服务并通过标准输入输出进行 JSON-RPC 通信。
-
基本使用方法
- 启动后,客户端通过标准输入输出与服务器进行 JSON-RPC 通信。常用请求包括:
- initialize:握手并获取服务器能力信息。
- tools/list:获取可用工具列表。
- tools/call:调用具体的工具(当前实现提供 run_kenneth)。
- 客户端与服务器之间的消息以 Content-Length 头部分隔,确保边界正确解析。
- 服务器当前为 MVP 版本,后续可扩展更多 MCP 能力(资源、Prompts、会话管理、完整传输协议支持等)。
- 启动后,客户端通过标准输入输出与服务器进行 JSON-RPC 通信。常用请求包括:
-
关键词 JSON-RPC, 工具暴露, 本地服务器, AI 后端, 通信协议
-
分类ID 6
信息
分类
AI与计算