x402 mcp付款
这是一个结合MCP(模型上下文协议)和x402支付协议的示例项目。它演示了如何使LLM(如ChatGPT、Claude)能够通过MCP协议访问付费资源。用户使用通用加密钱包(支持x402)在聊天中完成支付后,LLM可以自动检索和处理支付的内容。
核心功能:赋予人工智能代理“为信息付费”的能力。
用户交互流程
- 服务请求:用户在ChatGPT中请求付费服务(例如,“给我一个谜语”)。
- 订单生成:MCP服务器生成一个动态x402支付链接,其中包含一个唯一的
payid并将其返回给用户。 - 用户付款:用户点击链接,使用通用加密钱包支付指定金额。
- 状态记录:x402服务器确认支付成功并记录
payid作为“付费”。 - 服务交付:用户在ChatGPT中继续对话(例如,“我已付款”),AI会自动验证付款状态并检索服务内容。
交互图
sequenceDiagram
participant User as User
participant AI as ChatGPT (LLM)
participant MCP as MCP Server
participant x402 as x402 Payment Server
participant Wallet as Crypto Wallet
User->>AI: Request paid service
AI->>MCP: Call get_riddle
MCP->>MCP: Generate payid
MCP-->>AI: Return payment link (with payid)
AI-->>User: Show payment link
User->>x402: Click link to payment page
x402->>Wallet: Initiate payment request
Wallet->>x402: Confirm payment
x402->>x402: Record payid as [Paid]
x402-->>User: Show payment success
User->>AI: I have finished payment
AI->>MCP: Call get_answer (payid)
MCP->>x402: Verify payid status
x402-->>MCP: Verification passed (and clear status)
MCP-->>AI: Return paid content (answer)
AI-->>User: Provide service/answer先决条件
- Node.js(v18+)
- Coinbase开发者平台(CDP)API密钥(用于x402支付验证)
快速开始
1.安装依赖项
npm install2.配置环境变量
创建一个 .env 文件在项目根目录中,并填写您的Coinbase API密钥:
CDP_API_KEY_ID="your_cdp_key_id"
CDP_API_KEY_SECRET="your_cdp_key_secret"3.配置文件(可选)
修改 config.yaml 自定义服务器端口、支付地址、价格和谜语内容。
# x402 Payment Address (Your EVM wallet address)
payToAddress: "0x..."
# Payment Configuration
payment:
price: "$0.01" # Price
network: "base" # Network (base, polygon, ethereum, etc.)4.启动服务
此项目需要运行 两个独立的过程:
- MCP服务器 -部署于
mcp.mydomain.com(端口3000) - x402支付服务器 -部署于
x402.mydomain.com(端口3001)
开发模式(支持热重载):
# Terminal 1: Start MCP Server
npm run dev:mcp
# Terminal 2: Start x402 Payment Server
npm run dev:x402生产模式:
npm run build
npm run start:mcp
npm run start:x4025.配置ChatGPT
要在ChatGPT中使用此服务:
- 打开 ChatGPT (网络或应用程序)
- 首选 设置 → 应用程序和连接器 (或类似的MCP配置部分)
- 添加新的MCP服务器:
https://mcp.mydomain.com - 现在,您可以直接在ChatGPT中与付费谜语互动!
备注:目前需要ChatGPT Pro、Plus、Team或Education帐户才能访问MCP集成功能。
