Nevermined Payments MCP 服务器
使用说明(简明易懂,便于上手)
-
项目简介
- 该仓库实现了基于 Model Context Protocol (MCP) 的服务器端组件,核心职责是向 LLM 客户端提供可查询的上下文信息,包括资源、工具和提示模板,并通过 JSON-RPC 与客户端进行通信。结合 Nevermined Payments 的认证与计费能力,确保访问控制与 credits 扣减在服务器端落地。
-
主要功能点
- 资源管理:托管并提供可以被外部工具读取的静态数据或动态数据资源。
- 工具注册与执行:注册可被 MCP 客户端调用的工具,执行后返回结构化结果。
- 提示模板(Prompts):定义并渲染用于引导 LLM 的提示模板。
- JSON-RPC 通信:遵循 MCP 的请求/响应格式,处理请求并返回 JSON-RPC 响应或错误。
- 会话与能力声明:管理会话、声明服务器能力,并可在不同环境下运行。
- 支持多传输协议:理论上可通过不同传输方式(如 STDIO、SSE、WebSocket 等)与客户端交互。
- 安全与计费:通过 Nevermined Payments 的鉴权与 Credits 结算机制,按请求扣费并保护受保护的工具/资源。
-
安装步骤
- 克隆仓库并安装依赖。
- 运行编译或构建过程(如 yarn install、yarn build 等),确保 TypeScript/JavaScript 入口可执行。
- 启动 MCP 服务器入口脚本,使其在指定端口监听并对外暴露 MCP 接口。
-
服务器配置(MCP 客户端连接所需信息,JSON 格式)
- 服务器名称(serverName):唯一标识 MCP 服务器的名称,如 weather-mcp、stock-mcp 等。
- 启动命令(command):用于启动 MCP 服务器的命令,如 node、npm、pnpm 等。
- 启动参数(args):启动命令的参数列表,例如端口、环境变量、配置路径等。
- 说明:MCP 客户端需要此配置来创建与服务器的连接并发起 MCP 请求。配置示例将以文本描述形式提供,尽量贴合仓库中实际可用的入口方式。请勿直接拷贝代码。
服务器配置示例要点(非代码不足以运行,请以描述形式理解):
- serverName: weather-mcp
- command: node
- args: ["dist/mcp-server.js", "--port", "3002", "--server-name", "weather-mcp"] 说明:端口号、可选的服务器名称、以及是否启用特定环境等参数,可根据实际运行环境调整。此配置仅用于 MCP 客户端自动化连接时的参数传递,不需要客户端实现。
-
基本使用方法
- 启动后,MCP 客户端可以向服务器发送包含工具、资源、Prompts 等信息的请求,服务器返回相应的 JSON-RPC 响应或通知。
- 客户端可以通过服务器暴露的工具执行外部功能、查询资源数据、渲染提示模板等。
- 服务器端负责会话管理、能力公告以及对接 Nevermined Payments 的鉴权和 credits 扣减。
-
运行与验证
- 启动后,通过 MCP 客户端进行工具调用、资源查询和提示渲染等操作,检查返回结果结构是否符合 MCP 预期格式,以及 Credits 是否按请求扣减。
- 如遇错误,需查看日志定位授权、资源不存在、工具执行失败等问题,并结合配置项进行排错。