Adam v26 MCP 服务端

使用说明

  • 项目简介

    • 本仓库实现了一个 MCP 服务器端的核心组件,核心职责是以标准化的 JSON-RPC 形式向 LLM 客户端提供资源、工具、以及提示模板等上下文服务,并通过 SSE 发送事件通知,确保在多轮对话中有一致的上下文和能力执行入口。
    • 服务器端以 Rust 实现,提供 /mcp 端点(用于 JSON-RPC 请求)和 /sse 端点(用于服务器发送事件通知)。MCP 客户端可通过这些端点进行资源读取、工具调用、以及提示渲染请求。
  • 主要功能点

    • JSON-RPC 风格的 MCP 请求/响应处理(/mcp 路由)
    • 资源、工具、提示的注册与执行入口
    • SSE 事件推送能力,便于客户端订阅市场变动等异步事件
    • 会话管理、能力声明、以及安全网关(示例实现中包含简单路由与响应逻辑)
    • 提供一个可扩展的服务骨架,后续可接入多传输协议(如 Stdio/WebSocket 等)
  • 安装与运行

    • 该 MCP 服务器代码基于 Rust 实现,请确保环境具备 Rust 工具链(cargo)。
    • 编译与运行的具体命令取决于构建产物的二进制名称,通常需要构建一个可执行二进制并直接启动,示例启动方式一般为:
      • 构建并运行:cargo build --release
      • 启动可执行文件(替换成你的二进制名称,例如 adam_mcp_server):./target/release/adam_mcp_server
    • 运行后,服务器将监听默认端口(示例代码中配置了端口,如 3000),客户端通过以下端点对接:
      • POST /mcp:JSON-RPC 请求入口
      • GET /sse:服务器事件推送入口
    • MCP 客户端的具体对接参数和调用格式,请参考客户端实现的文档。
  • 服务器配置(供 MCP 客户端配置参考,JSON 格式)

    • server_name: "adam_mcp_server"
    • command: ["cargo", "run", "--bin", "adam_mcp_server"]
    • args: ["--port", "3000"] 注释:服务器启动的实际命令与端口需结合你在本地构建的二进制名称与默认端口配置来设定,JSON 配置仅作客户端知情使用,不替代实际运行命令。
  • 基本使用方法

    • 客户端通过 /mcp 发送 JSON-RPC 请求,请求体包含 method、params 等字段,服务器返回 JSON-RPC 响应。
    • 客户端可通过 /sse 订阅服务器事件,获取资源更新、工具执行结果等通知信息。
    • 如需扩展能力,可在服务端实现新的 MCP 方法,按需注册到路由中并返回一致的 JSON-RPC 风格响应。

服务器信息