使用说明

  • 项目简介
    • MCP-CLI-Go 是一个用 Go 编写的 MCP 服务器端实现,能够在一个二进制中托管工作流、暴露模板为工具,并通过 MCP 客户端进行读取资源、调用工具和获取提示模板等操作。服务器端负责会话管理、能力声明以及多种传输协议的支持,旨在为 LLM 客户端提供可扩展的上下文服务框架。
  • 主要功能点
    • MCP 服务器核心能力:处理初始化、工具清单查询、工具调用等 JSON-RPC 请求,返回结构化的 JSON-RPC 响应。
    • 工具与模板:将 YAML/模板定义的工作流暴露为 MCP 客户端可调用的工具,并支持模板化、组合调用。
    • 会话与上下文:在服务器端维持会话状态、系统提示、以及对多 provider、多模型的上下文管理。
    • 多传输模式:核心实现采用 StdIO 传输(同时具备将来扩展到 SSE/WebSocket 等模式的基础)。
    • 容错与日志:提供错误码、日志分级和可配置的输出行为。
  • 安装步骤
      1. 将源码编译为二进制
      • go build -o mcp-cli-go
      1. 运行 MCP 服务器(需要一个 runas 配置文件,定义服务器、暴露的工具等)
      • mcp-cli serve config/runas/research_server.yaml
      1. 在 Claude Desktop 等 MCP 客户端中配置一个服务器条目,指向本地 MCP 服务器进程(参考 README 的示例配置)
  • 服务器配置(注:配置信息为 JSON 格式,供 MCP 客户端使用以启动服务器并与之连接)
    • 说明:下面的示例展示一个将 MCP 服务器作为工具暴露给客户端的最小配置。请将 command 设置为 MCP 服务器二进制的绝对路径,且 args 为启动参数,包含要加载的 runas 配置文件的绝对路径。
    • 示例 JSON(请将路径替换为实际路径): { "servers": { "research-agent": { "command": "/absolute/path/to/mcp-cli", "args": ["serve", "/absolute/path/to/config/runas/research_server.yaml"] } // 如需添加其他服务器,可按需扩展 } }
  • 基本使用方法
    • 启动端:使用 mcp-cli 以 serve 模式运行服务器,提供 runas 配置文件的路径。
    • 客户端接入:在客户端(如 Claude Desktop)配置一个 MCP 服务器,指定该服务器的启动命令与参数(如上 JSON 示例所示)。
    • 交互方式:客户端通过 JSON-RPC 调用工具、读取资源和获取 prompts 模板,服务器返回统一的 JSON-RPC 响应。

信息

分类

AI与计算