mcpField
M
MCP Pay Server

MCP Pay Server

本地服务
github.com/nexiansOrg金融数据079 周前更新

关于 MCP Pay Server

MCP Pay Server 是带预付额度机制的独立 MCP 服务,面向需要为工具调用计费的服务运营方。它通过 Base 上的 USDC 充值、签名验证和余额扣减管理付费调用。

主要功能

  1. 01通过 HTTP+SSE 双向通信
  2. 02提供 MCP 工具、资源和提示词
  3. 03通过 Base 上的 USDC 充值
  4. 04签名校验并扣减付费额度
  5. 05查询钱包余额

适用场景

  1. 01为 MCP 工具设置按次费用
  2. 02让客户端预先充值 USDC
  3. 03在执行付费工具前验证余额
  4. 04查看付款钱包的剩余额度

MCP 相关

作为 MCP 服务,它向客户端提供工具、资源和提示词,并支持 HTTP+SSE 传输。客户端还可获取支付能力信息、读取充值地址资源并调用余额查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Pay Server

Model Context Protocol(MCP)服务的独立实现,采用 HTTP+SSE 传输,并包含基本的预付费额度系统。

功能

  • 提供 MCP 工具、资源和提示词
  • 支持通过 HTTP+SSE 进行双向通信
  • 实现简单的支付层,使用在 Base(或 Base Sepolia)上的 USDC 存款
  • 使用 Express、TypeScript、Viem 和 Zod 构建

设置

  1. 安装依赖:

    npm install
    
  2. 配置环境变量: 在根目录(mcp-pay-server/.env)中创建 .env 文件,内容如下:

    # 必填:服务将监控 USDC 存款的接收钱包公开地址
    SERVER_DEPOSIT_ADDRESS=0xYourServerWalletPublicAddress
    
    # 可选:Base 或 Base Sepolia 的 RPC URL(提供默认值)
    # BASE_RPC_URL=https://your-base-rpc-url
    
    # 可选:服务端口(默认为 3000)
    # PORT=3001
    
    • SERVER_DEPOSIT_ADDRESS:服务应监控 USDC 入账的公开 0x... 地址。
    • BASE_RPC_URL:用于与 Base 区块链(主网或 Sepolia)交互的 RPC 端点。
    • PORT:HTTP 服务将监听的端口。

使用方法

启动服务:

npm start

这将启动 MCP 服务,并开始监控向配置的 SERVER_DEPOSIT_ADDRESS 地址转入的 USDC。

支付系统概览

此服务采用通过加密签名验证的预付费额度系统。客户端连接后,可单独获取支付能力信息。

  1. 连接: 客户端连接到服务。
  2. 获取能力信息: 客户端调用 payments/getCapabilities 方法以获取:
    • 提供存款信息的资源 URI(例如 mcp-pay://server/payment/info)。
    • 用于查询余额的工具名称(例如 payments_getBalance)。
    • 需要付费的工具列表及其对应费用(以字符串表示)。
  3. 存款信息: 客户端读取存款信息资源(URI 从能力信息中获取),以获取服务的 USDC 存款地址。
  4. 额度: 客户端向存款地址转入 USDC(转入已配置的网络)。服务会监控该地址,并在内部账本中为发送方账户增加额度。
  5. 使用付费工具: 客户端调用能力信息中标记为付费的工具时:
    • 必须在 params.arguments 中包含 __payer(其 0x... 地址)和 __signature(规范请求的 ECDSA 签名)。
    • 服务的中央中间件会验证签名,并在执行工具逻辑之前检查付款方余额是否足以支付该工具的费用。
    • 如果验证成功,则执行工具。工具执行成功后,将从付款方余额中扣除相应费用。
  6. 查询余额: 客户端使用余额查询工具(名称从能力信息中获取),并将其 payerAddress 作为参数。此工具无需签名。

可用端点

  • POST /mcp - 用于客户端向服务发送请求(需要 mcp-session-id 标头)。处理常规 MCP 方法和 payments/getCapabilities。
  • GET /mcp - 用于 SSE(服务器发送事件)流(需要 mcp-session-id 标头)。

支付能力(通过 payments/getCapabilities 暴露)

  • 存款信息资源 URI: mcp-pay://server/payment/info(默认)
  • 余额查询工具: payments_getBalance(默认)
  • 付费工具(示例):
    • greet:0.05 USDC(默认)
    • (可配置其他工具)

可用工具

  • greet:简单的问候工具(默认需要付费)。
  • payments_getBalance:返回调用钱包的额度余额(免费)。

可用资源

  • mcp-pay://server/payment/info:返回服务的存款地址。

开发

构建 TypeScript 代码:

npm run build

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。