使用说明内容(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 服务器:
      1. 取得代码并进入 mcp-server 目录。
      2. 使用常见的 CMake 构建流程:创建构建目录、运行 cmake、执行构建命令。
      3. 生成可执行文件 synthflow-mcp(名称可能随实际构建配置而定)。
    • 运行与测试
      • 在命令行启动服务器(需要将标准输入/输出用于 MCP 客户端通信)。例如将 MCP 客户端输出的 JSON-RPC 请求通过管道传给 synthflow-mcp,服务器将输出相应的 JSON-RPC 响应。
      • 客户端需要与 MCP 服务器建立通信时序:发送请求(含 Content-Length),服务器解析并返回响应。
  • 服务器配置(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, 工具暴露, 本地服务器, AI 后端, 通信协议

  • 分类ID 6

信息

分类

AI与计算