支付与AI代理管理服务器

一个集成了x402支付协议和ERC-8004 AI Agent标准的服务器,提供区块链支付验证和AI代理身份管理功能。

  • by beijiang987
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 beijiang987/x402-mcp-server

使用说明

x402 + ERC-8004 MCP Server

一个集成了 x402 支付协议 和 ERC-8004 AI Agent 标准 的 Model Context Protocol (MCP) 服务器。

✨ 新特性:ERC-8004 AI Agent 身份和声誉管理

现已支持 ERC-8004 标准,实现 AI Agent 的去中心化身份注册、声誉管理和可发现性!

🎯 核心功能:

  • 🆔 链上身份 - AI Agent 在区块链上拥有可验证的唯一身份
  • ⭐ 声誉系统 - 基于真实交互的去中心化评分机制
  • 🔍 智能搜索 - 通过 The Graph 索引,快速发现优质 Agents
  • 💰 支付集成 - 高级功能使用 x402 协议收费
  • 📊 数据分析 - 完整的 Agent 统计和趋势分析

📖 ERC-8004 集成完整指南 - 详细的使用教程和变现路径


🚀 快速部署 HTTP API 服务器

新功能! 现在支持 HTTP API 服务器,可被 x402scan 索引和发现。

一键部署到 Vercel(免费)

或按照详细指南部署:

📖 部署检查清单 - 一步步部署指南(5分钟完成)

📖 快速部署指南 - 网页界面部署(无需命令行)

部署后您将获得:

  • ✅ 免费的生产环境 API 服务器
  • ✅ 5 个区块链数据 API 端点
  • ✅ HTTP 402 支付协议支持
  • ✅ 在 x402scan 上可被发现
  • ✅ 自动 HTTPS 和全球 CDN

什么是 x402?

x402 是一个开放的互联网原生支付标准,基于 HTTP 402 状态码构建。它允许:

  • 🚀 即时支付 - 以互联网速度进行交易
  • 🔐 无账户访问 - 无需注册或个人信息
  • ⛓️ 多链支持 - 支持以太坊、Base、Polygon 等
  • 🤖 AI 原生 - 专为机器对机器支付设计
  • 💸 零协议费 - 仅收取区块链网络费用

功能特性

该 MCP 服务器提供以下工具:

x402 支付工具

1. verify_payment

验证 x402 支付签名并检查支付是否有效。

参数:

  • payment_signature (string, 必需): x402 支付签名
  • resource_path (string, 必需): 正在访问的资源路径
  • expected_amount (string, 可选): 预期支付金额

返回: 支付验证结果,包括交易哈希、支付者地址、金额和时间戳。

2. create_payment_request

创建带有 402 Payment Required 响应的 x402 支付请求。

参数:

  • resource_path (string, 必需): 需要支付的资源路径
  • amount (string, 必需): 所需支付金额
  • currency (string, 可选): 货币或代币符号(默认:ETH)
  • description (string, 必需): 付费资源描述
  • networks (array, 可选): 支持的区块链网络(默认:['base', 'ethereum'])

返回: 包含支付详情和使用说明的 402 响应结构。

3. check_payment_status

检查 x402 支付交易的状态。

参数:

  • transaction_hash (string, 必需): 区块链交易哈希
  • network (string, 可选): 区块链网络(默认:base)

返回: 支付状态,包括确认状态、区块号和确认数。

4. list_payment_configs

列出所有已配置的支付端点及其要求。

返回: 所有支付配置的列表。

ERC-8004 AI Agent 工具

5. erc8004_register_agent

在链上注册新的 AI Agent,获得去中心化身份。

参数:

  • name (string, 必需): Agent 名称
  • description (string, 必需): Agent 描述
  • capabilities (array, 必需): Agent 能力列表
  • apiEndpoint (string, 可选): API 端点 URL
  • tags (array, 可选): 分类标签

返回: Agent ID 和交易哈希

6. erc8004_search_agents

搜索和发现 AI Agents(支持关键词、标签、能力、评分筛选)。

参数:

  • keyword (string, 可选): 搜索关键词
  • tags (array, 可选): 标签筛选
  • capabilities (array, 可选): 能力筛选
  • minRating (number, 可选): 最低评分(0-5)
  • limit (number, 可选): 结果数量(默认 20)

返回: 符合条件的 Agent 列表

7. erc8004_get_agent

获取指定 Agent 的详细信息(包括声誉数据)。

参数:

  • agentId (string, 必需): Agent ID

返回: Agent 完整信息

8. erc8004_submit_feedback

为 Agent 提交评分和反馈。

参数:

  • agentId (string, 必需): Agent ID
  • rating (number, 必需): 评分 1-5 星
  • comment (string, 必需): 评论内容

返回: Feedback ID 和交易哈希

9. erc8004_get_trending

获取热门/趋势 AI Agents。

参数:

  • limit (number, 可选): 结果数量(默认 10)

返回: 热门 Agent 列表

10. erc8004_get_stats

获取平台统计数据(总 Agents 数、总反馈数、平均评分等)。

返回: 平台统计信息

安装

前置要求

  • Node.js 18+
  • npm 或 yarn

步骤

  1. 克隆或下载此项目:
cd x402-mcp-server
  1. 安装依赖:
npm install
  1. 配置环境变量:
cp .env.example .env
# 编辑 .env 文件,填入你的配置
  1. 构建项目:
npm run build

配置

环境变量

在 .env 文件中配置以下变量:

# 钱包私钥(用于签署交易)
X402_WALLET_PRIVATE_KEY=your_private_key_here

# RPC URLs
X402_RPC_URL=https://mainnet.base.org
X402_ETH_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

# 支付接收地址
X402_BASE_ADDRESS=0xYourBaseAddressHere
X402_ETH_ADDRESS=0xYourEthereumAddressHere

Claude Desktop 配置

在 Claude Desktop 中配置此 MCP 服务器,编辑配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

添加以下配置:

{
  "mcpServers": {
    "x402-payment": {
      "command": "node",
      "args": [
        "/absolute/path/to/x402-mcp-server/dist/index.js"
      ],
      "env": {
        "X402_WALLET_PRIVATE_KEY": "your_private_key",
        "X402_RPC_URL": "https://mainnet.base.org",
        "X402_BASE_ADDRESS": "0xYourAddress"
      }
    }
  }
}

使用示例

创建支付请求

// 通过 MCP 调用
{
  "tool": "create_payment_request",
  "arguments": {
    "resource_path": "/api/premium-data",
    "amount": "0.001",
    "currency": "ETH",
    "description": "Premium API access",
    "networks": ["base", "ethereum"]
  }
}

验证支付

// 通过 MCP 调用
{
  "tool": "verify_payment",
  "arguments": {
    "payment_signature": "0x...",
    "resource_path": "/api/premium-data",
    "expected_amount": "0.001"
  }
}

检查支付状态

// 通过 MCP 调用
{
  "tool": "check_payment_status",
  "arguments": {
    "transaction_hash": "0x123abc...",
    "network": "base"
  }
}

开发

运行开发模式

npm run dev

构建生产版本

npm run build

运行服务器

npm start

工作原理

  1. 支付请求流程:

    • 服务器检测到需要支付的资源访问
    • 返回 HTTP 402 状态码和支付要求
    • 客户端收到支付详情(金额、网络、地址等)
  2. 支付验证流程:

    • 客户端创建并签署区块链交易
    • 将支付签名发送给服务器
    • 服务器验证链上交易
    • 验证通过后授予资源访问权限
  3. 状态检查:

    • 查询区块链确认交易状态
    • 返回确认数和区块信息

安全注意事项

  • ⚠️ 永远不要 将私钥提交到版本控制系统
  • 🔐 使用环境变量存储敏感信息
  • 🛡️ 在生产环境中使用专用的支付钱包
  • 🔍 始终验证支付金额和接收地址
  • 📊 记录所有支付交易以便审计

资源

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

支持

如遇到问题,请:

  1. 查看 x402 文档
  2. 在 GitHub 上提交 Issue
  3. 加入 Discord 社区

由 Claude Code 生成 🤖