AGENR MCP 服务器

使用说明(简要概述,便于快速上手)

  • 项目简介
    • 本仓库实现了一个 MCP 服务器,遵循 Model Context Protocol(MCP)的规范。服务器通过 JSON-RPC 与客户端通信,提供以下核心能力:
      • 资源(Resources)管理:提供数据访问与检索能力。
      • 工具(Tools)注册与执行:LLM 可通过工具调用外部功能。
      • Prompt 渲染与模板:定义与渲染与 LLM 交互相关的提示模板。
      • 会话管理与能力声明:支持不同传输协议、权限与能力协商。
  • 主要功能点
    • JSON-RPC 请求处理:支持常用 MCP 请求如 initialize、tools/list、tools/call 等,返回标准 JSON-RPC 响应。
    • 资源、工具、提示的注册、解析与执行能力:为 LLM 客户端提供统一入口。
    • 支持多种传输协议:包括 stdio(标准输入输出,最常见的开发/调试模式)、SSE、WebSocket 等(具体实现路径在代码中可以看到多传输实现的入口)。
    • 会话管理与能力声明:服务器端维护会话状态、能力清单与模块化扩展点。
    • 与本地存储/向量检索的集成:示例测试中,服务器端与嵌入向量、记忆/ recalls 等组件协同工作,示范性地展示了与资源、工具、Prompts 的整合。
  • 安装步骤
    • 需要 Node.js 20 及以上环境。
    • 安装依赖并构建项目(如使用 npm/yarn/pnpm 安装依赖、编译 TypeScript)。
    • 启动 MCP 服务器(默认提供 stdio 启动模式,后续可切换到 SSE/WebSocket 等传输协议)。
    • 客户端通过 JSON-RPC 与该服务器通信,进行资源查询、工具调用与 Prompt 获取等。
  • 服务器配置(示例描述,实际按项目部署方式调整) 说明:MCP 客户端侧通常不需要配置服务器端实现的具体细节,但服务器端提供的启动方式需要在外部进程中执行,且客户端需要知道服务器的启动命令与参数以建立连接。下面给出描述性配置要点,便于理解如何把 MCP 服务器接入到客户端:
    • serverName: "agenr-mcp"
    • command: "node"
    • args: ["dist/mcp/server.js", "--stdio"] // 构建产物路径可能为 dist/mcp/server.js,若使用其他打包/构建方案,请替换为实际入口
    • 备注:MCP 客户端连接时需要提供服务器的启动命令及参数以建立通信通道(此处以标准输入输出为例)。服务器会对外暴露的接口包括 initialize、tools/list、tools/call、prompts/get 等,用于向 LLM 客户端提供资源、工具、与提示模板。
  • 基本使用方法
    • 启动服务器后,客户端通过 JSON-RPC 发送请求,例如初始化会话、获取工具列表、执行工具、获取提示模板等。
    • 支持多种传输:标准输入输出(stdio)是最常见的本地调试方式,随后可扩展到 SSE、WebSocket 等网络传输。
    • 服务器端负责处理请求、返回 JSON-RPC 响应,以及必要的通知与事件。
    • 开发者可通过测试用例理解各类请求的行为(如初始化 handshake、获取工具清单、执行工具、渲染提示等)。
  • 运行要点
    • 阅读服务器源码中的 MCP 实现入口、路由与方法处理逻辑,了解不同请求的格式与响应结构。
    • 若需要自定义资源、工具或 Prompts,应在服务器端注册对应模块,并确保相关 JSON 数据结构符合 MCP 规范。
    • 如需把 MCP 与不同类型的客户端对接,确保客户端使用的传输通道与服务器端实现的通道配置一致(如 stdio/Socket 等)。

服务器信息