项目简介
ez402是一个强大的Next.js服务,旨在帮助API提供商轻松地将其现有HTTP API端点转换为支持x402微支付协议的AI工具。它通过自动生成Model Context Protocol (MCP) 服务器,使LLM(如Claude)能够以标准化的方式调用这些封装后的API,并透明地处理每次请求的链上USDC支付。此外,它还提供了一个内置的AI聊天界面,方便用户与AI互动并调用工具。
主要功能点
- 零代码封装: 无需修改现有API代码,即可添加x402微支付功能。
- 即时变现: 为API调用设定价格,通过Base网络上的USDC实现按请求付费。
- 自动生成MCP服务器: 注册的API端点会自动转化为LLM可调用的MCP工具。
- AI聊天集成: 内置基于Claude的AI聊天界面,支持AI工具调用,并透明处理支付。
- 互动式UI组件: 通过MCP-UI支持丰富的AI响应,提供图表、表格、卡片等视觉化内容。
- 安全存储与自动结算: API密钥采用AES-256-GCM加密存储,支付通过Coinbase CDP Facilitator自动结算到提供商钱包。
- 按需部署: MCP服务器可以部署到Cloudflare Workers,实现全球边缘分发。
安装步骤
- 环境准备: 确保您的系统已安装 Node.js 18+ 和 pnpm。
- 克隆仓库: 将项目仓库克隆到本地:
git clone https://github.com/Must-be-Ash/ez402.git cd ez402 - 安装依赖: 在项目根目录运行以下命令安装所有依赖:
pnpm install - 配置环境变量:
- 复制 '.env.example' 文件并重命名为 '.env.local':
cp .env.example .env.local - 编辑 '.env.local' 文件,根据以下说明配置各项变量:
- 'MONGODB_URI': 您的MongoDB连接字符串。
- 'CDP_API_KEY_ID', 'CDP_API_KEY_SECRET': 从Coinbase CDP平台获取的API凭证。
- 'ENCRYPTION_KEY': 一个用于API密钥加密的256位(32字节)十六进制字符串。您可以使用 'node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"' 生成。
- 'NEXT_PUBLIC_BASE_URL': 您的应用程序的基础URL,例如 'http://localhost:3000'。
- 'ANTHROPIC_API_KEY': 从Anthropic控制台获取的Claude AI的API密钥。
- 'MCP_WALLET_PRIVATE_KEY': MCP服务器用于进行x402支付的Base网络(或Base Sepolia测试网)钱包私钥。确保此钱包中存有USDC用于支付。
- 其他可选的Cloudflare部署相关变量(如 'CLOUDFLARE_API_TOKEN', 'CLOUDFLARE_ACCOUNT_ID')。
- 复制 '.env.example' 文件并重命名为 '.env.local':
- 运行开发服务器: 在项目根目录运行以下命令启动开发服务器:
pnpm dev - 访问应用: 在浏览器中打开 'http://localhost:3000'。
服务器配置
MCP服务器是为MCP客户端提供服务的,MCP客户端需要知道如何启动或连接到此MCP服务器。ez402的MCP服务器提供了两种主要的运行方式:作为本地Next.js应用的一部分运行,或者部署到Cloudflare Workers。
-
本地运行方式(推荐用于开发和测试): 当您运行 'pnpm dev' 启动Next.js应用时,ez402的MCP服务器会自动集成并在后台运行,通过标准输入输出(stdio)与MCP客户端通信。MCP客户端可以通过以下配置信息与本地运行的MCP服务器建立连接:
{ "name": "ez402-本地MCP服务器", "command": "pnpm", "args": ["tsx", "scripts/start-mcp-server.ts"], "description": "本地运行的ez402 MCP服务器实例,用于开发和测试。它会自动从MongoDB数据库加载已注册的API端点作为AI工具,并通过stdio协议与MCP客户端通信。", "transport": "stdio" }- 'name': 此MCP服务器在MCP客户端中显示的名称,用于识别。
- 'command': MCP客户端执行的命令,以启动或连接到服务器进程。这里使用 'pnpm'。
- 'args': 传递给 'command' 的参数列表。'tsx scripts/start-mcp-server.ts' 会启动服务器的核心逻辑。
- 'description': 服务器功能的详细描述,帮助MCP客户端用户理解其用途。
- 'transport': 服务器与客户端之间的通信协议。'stdio' 表示通过标准输入输出流进行通信。
-
Cloudflare Workers部署方式(推荐用于生产环境): 如果您将MCP服务器部署到Cloudflare Workers(通过 'workers/mcp-server.ts' 部署),MCP客户端需要通过HTTP或SSE(Server-Sent Events)协议进行连接。以下是MCP客户端可能使用的配置示例:
{ "name": "ez402-Cloudflare-MCP服务器", "command": "curl", "args": ["https://您的CloudflareWorkerURL.workers.dev/sse"], "description": "部署在Cloudflare Workers上的ez402 MCP服务器实例,提供高性能和全球边缘分发。它通过SSE(Server-Sent Events)协议与MCP客户端通信,自动管理已注册的API端点作为AI工具。", "transport": "sse", "url": "https://您的CloudflareWorkerURL.workers.dev/sse" }- 'name': 此MCP服务器在MCP客户端中显示的名称。
- 'command': 连接服务器的命令(这里使用 'curl' 作为示例,实际MCP客户端会直接使用其内置的HTTP/SSE库进行连接)。
- 'args': 命令的参数,即Cloudflare Worker的SSE端点URL。
- 'description': 服务器功能的详细描述。
- 'transport': 服务器与客户端之间的通信协议。'sse' 表示通过Server-Sent Events进行通信。
- 'url': Cloudflare Worker部署后的实际公共URL。MCP客户端将连接到此URL以获取服务。 请将 "https://您的CloudflareWorkerURL.workers.dev/sse" 替换为您的实际Cloudflare Worker部署地址。 您可以通过访问 'http://localhost:3000/api/mcp/deploy' (需要正确配置Cloudflare环境变量) 来管理和获取部署后的URL。
基本使用方法
- 注册API端点: 访问 'http://localhost:3000/register',填写并提交您的现有API端点信息(包括原始URL、HTTP方法、每次请求的价格、支付钱包地址、认证方式、描述等)。系统会将其封装成一个支持x402微支付的端点,并自动转换为一个MCP工具。
- AI聊天互动: 访问 'http://localhost:3000/chat',与Claude AI进行互动。AI会根据您的对话自动识别并调用您已注册的API端点作为工具来完成任务(例如,查询天气、执行网页抓取等)。所有工具调用产生的x402支付都将由ez402服务透明地处理,您将在聊天界面中看到支付详情和API响应。
- 测试支付流程: 您可以通过运行项目中的测试脚本来验证x402支付流程是否正常工作。例如,运行 'tsx test-x402-payment.ts' 或 'tsx test-isolated-x402.ts' 来模拟一个带有x402支付的API请求。
信息
分类
开发者工具