Distr MCP 服务器实现

使用说明(Markdown 格式)

  1. 项目简介
  • 该仓库实现了一个基于 MCP 的服务器端组件(Distr MCP 服务器),用于向 LLM 客户端提供资源、工具和提示等上下文信息,以及执行外部功能的能力。核心通过 MCP-Go 库实现,具备注册工具、查询资源、执行任务等能力,并通过标准的 JSON-RPC 形式进行通信。
  1. 主要功能点
  • MCP 服务器核心能力:接收客户端的 JSON-RPC 请求,处理资源访问、工具执行、以及提示模板相关操作,返回结构化的 JSON-RPC 响应或通知。
  • 资源管理与数据访问:托管与管理资源(Resources),提供对平台数据的访问能力。
  • 工具注册与执行:注册多种工具,允许 LLM 客户端调用外部功能并获取结果。
  • Prompt 模板支持:定义与渲染提示模板,支持可定制的交互模式。
  • 会话管理与认证:通过 Authorization 头部进行令牌认证,支持不同传输协议。
  • 多传输协议支持:包括 STDIO、HTTP、以及可扩展的流式传输(SSE/WebSocket 等)以适配不同客户端。
  • 安全和扩展性:提供能力声明、会话管理和可扩展的插件化工具集。
  1. 安装步骤
  • 需要先安装 Go 运行环境(推荐 1.19 及以上版本)。
  • 构建 MCP 服务器:
    • 进入仓库根目录,在命令行执行构建命令,生成可执行的 Distr MCP 服务器程序。
  • 运行服务器(示例,实际请结合部署环境调整参数):
    • 以 HTTP 传输方式运行,监听并提供 MCP 服务。
    • 启动后将生成的服务端地址用于 MCP 客户端连接(如 Claude、JetSki 等)。如需 STDIO 连接,请使用相应 STDIO 模式启动。
  1. 服务器配置(JSON 形式,供 MCP 客户端使用)
  • 该配置描述了服务器的名称、启动命令及参数等信息,便于 MCP 客户端加载并连接。请将服务器实际可执行文件路径、工作目录等按需替换成你的环境参数。 { "serverName": "Distr MCP Server", "command": "./distr-mcp", "args": [ "serve", "--transport", "http" ], "notes": "启动后通过 HTTP 传输,MCP 客户端在请求时需在 Authorization 头中携带令牌进行认证,如示例中所述。" }
  • 说明
    • serverName:服务器对外显示的名称。
    • command:启动服务器的可执行文件路径或命令名。
    • args:启动命令的参数列表,示例中通过 http 传输。
  1. 基本使用方法
  • 客户端连接:使用 MCP 客户端(如 Claude、Jetski 等)通过 JSON-RPC 调用 MCP 服务器提供的资源、工具、Prompts 等能力。
  • 请求认证:在发送请求时使用 Authorization 头部携带访问令牌(AccessToken <your-token>),服务器会对请求进行认证与授权。
  • 任务执行与状态:通过工具调用接口执行外部功能,获取返回结果并进行后续处理。服务器端负责会话管理、能力声明以及跨传输协议的支持。
  • 部署与运维:在生产环境中,推荐将 MCP 服务器以容器化方式部署,结合现有的自托管部署流程(如 Docker/Kubernetes),并结合日志和监控工具进行观测。

服务器信息