AgentGate MCP 服务端
以下为简明使用说明,帮助你快速理解并部署该 MCP 服务器以及与客户端的对接方式。
-
项目简介
- 该仓库实现了一个基于 MCP 的服务端,用来向大语言模型客户端(如 Claude Desktop)提供上下文相关的“资源、工具、提示”等能力,帮助 LLM 客户端在执行任务时获得所需的背景信息和可执行的外部功能。
-
主要功能点
- MCP 协议核心:实现基于 JSON-RPC 的 MCP 请求/响应处理,暴露标准化的工具集合、资源访问能力与提示模板的定义与渲染。
- 资源与数据模型:内置身份、 bonds(抵押/保证金)、动作、市场等资源模型,支持创建、锁定、执行、解析、以及市场投票等能力。
- 工具集合(7 项):
- lock_bond
- execute_bonded_action
- resolve_action
- get_reputation
- create_identity
- create_market
- resolve_market
- 数据传输通道:
- Streamable HTTP(推荐):端口 3001,路径 /mcp,适用于 Claude Desktop 的 mcp-remote。
- stdio 传输:通过 Claude Desktop 直接把 MCP 挂载为子进程实现传输。
- 与 Claude Desktop 的集成:提供适配器和 MCP 服务端,支持通过 InMemoryTransport 的客户端传输实现端对端测试。
- 安全性与会话:提供会话管理、签名校验、时间戳校验、Nonce 防重放等机制,确保请求的安全性与可审计性。
- 旁路 REST 与仪表板:REST API 提供公开的运行状态查询与示例工具;仪表板用于实时查看身份、 bonds、动作等状态。
-
安装与运行步骤
- 环境准备
- 需完成 npm install 以安装依赖。
- 配置环境变量(示例):AGENTGATE_REST_KEY、AGENTGATE_MCP_KEY、AGENTGATE_HTTP_ALLOWLIST 以及其他可选参数。
- 启动 REST 服务
- 运行命令:npm run restart
- 端口通常是 3000,提供 REST API 与仪表板。
- 启动 MCP 服务端(两种传输)
- Streamable HTTP(推荐):
- 启动后端在端口 3001,路径 /mcp 供 Claude Desktop 的 mcp-remote 连接。
- stdio 传输:
- 通过 Claude Desktop 直接将 MCP 服务以子进程形式启动连接。
- Streamable HTTP(推荐):
- 客户端配置(MCP 客户端,示例信息)
- 客户端需要配置一个 MCP 服务器条目,包含服务器名称、启动命令及参数等信息,用于与 MCP 服务器建立连接。以下为示例配置说明(非代码):
- serverName: agentgate
- command: npx
- args: ["-y", "mcp-remote", "http://127.0.0.1:3001/mcp"]
- 说明:本地连接时使用本地 3001 端口的 MCP HTTP 传输;远端部署可改为远端 MCP 服务地址,例如 https://mcp.agentgate.run/mcp
- 客户端需要配置一个 MCP 服务器条目,包含服务器名称、启动命令及参数等信息,用于与 MCP 服务器建立连接。以下为示例配置说明(非代码):
- 基本使用方法
- 通过 MCP 客户端调用工具,例如 lock_bond、execute_bonded_action、resolve_action、get_reputation 等,客户端将以 JSON-RPC 形式发送请求,服务端返回结果或通知。
- 运行时注意请求签名、时间戳、Nonce 的正确性,以及在签名错误、超时、Nonce 重放等安全场景下的错误处理。
- 运行时注意事项
- MCP 传输层与 REST 层在同一实例中协作,确保两者所需的端口(3000 和 3001)在网络上可访问。
- 若在生产环境启用 MCP Key 验证,请确保 AGENTGATE_MCP_KEY 已设置并在客户端请求中正确传递 x-agentgate-key 头。
- 环境准备