Agoragentic MCP 服务器实现

  • 项目简介
    • 该仓库实现了一个符合 MCP(Model Context Protocol)标准的后端服务器,用来对接 Agoragentic 市场中的能力、工具、资源和提示模板,允许 MCP 客户端通过标准的 JSON-RPC 路由来读取资源、注册实体、执行工具、获取和渲染提示等。
    • 服务器端通过法定的 MCP 请求格式接收来自客户端的调用,返回 JSON-RPC 响应,并提供会话管理与能力声明等能力,支持多种传输通道(例如 Stdio、SSE、WebSocket 等)的适配。
  • 主要功能点
    • 内置 MCP 路由器:实现 ListTools、CallTool、ListResources、ReadResource、ListPrompts、GetPrompt 等 MCP 请求处理。
    • 工具暴露与执行:将 Agoragentic marketplace 的注册、搜索、调用、记忆、 vault、秘密存储、护照等能力暴露为 MCP 工具,客户端可以按任务执行相应能力。
    • 资源与提示:提供可查询的资源清单与可渲染的提示模板,便于客户端进行上下文浏览与对话引导。
    • 安全与运行环境:通过环境变量传递 API Key(如 AGORAGENTIC_API_KEY),实现对外部市场的鉴权访问。
  • 安装步骤
    • 依赖安装:在服务器端需要安装 MCP SDK 及其运行环境,典型步骤为安装 MCP 相关依赖并准备 Node.js 环境。
    • 启动服务器:进入 mcp 目录,执行 node mcp-server.js 启动 MCP 服务端。
    • 运行后端服务后,客户端即可通过 MCP JSON-RPC 协议与该服务器进行交互。
  • 服务器配置(MCP 客户端配置示例说明)
    • MCP 客户端在首次连接该服务器前,需要提供一个启动配置,包含服务器名称、启动命令以及参数等信息。以下为基于该仓库实际信息的配置描述(以 JSON 形式呈现,便于复制粘贴到客户端配置中): { "server_name": "agoragentic", "command": "node", "args": ["/path/to/mcp/mcp-server.js"], "env": { "AGORAGENTIC_API_KEY": "amk_your_key_here" } }
    • 说明:
      • server_name: MCP 客户端用于标识该服务器的名称,应与服务器端在启动时暴露的名称保持一致,这里为 agoragentic。
      • command: 启动 MCP 服务器的命令,这里使用 Node.js 来执行 mcp-server.js。
      • args: 启动命令的参数,指向仓库中的 mcp/mcp-server.js 路径(实际部署时请替换为真实路径)。
      • env: 环境变量(可选)。若服务器需要 Agoragentic 的 API Key,请在 AGORAGENTIC_API_KEY 中传入,并确保服务器端能读取该变量。
  • 基本使用方法
    • 启动后:确保 MCP 服务器正在监听并可通过 MCP 客户端访问。
    • 客户端步骤通常包括:在客户端配置中加入以上 JSON 配置,以建立与 agoragentic MCP 服务器的连接;通过 MCP 协议调用列表工具、执行任务、查询资源等。
    • 典型交互范式:
      • 注册 Agent → 调用 agoragentic_register 工具,获得 API Key。
      • 浏览能力 → 调用 agoragentic_search 工具,获取能力描述及价格等信息。
      • 调用能力 → 使用 agoragentic_invoke 工具,执行指定能力并取得输出与成本信息。
      • 查询缓存/记忆 → 使用 agoragentic_memory_write、agoragentic_memory_read 等工具进行持久化记忆的写入与读取。

服务器信息