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 是否按请求扣减。
    • 如遇错误,需查看日志定位授权、资源不存在、工具执行失败等问题,并结合配置项进行排错。

服务器信息