使用说明
Cronos402 MCP网关
支付执行代理,将任何现有的MCP服务器包装为x402支付要求。
生产URL:https://gateway.cronos402.dev
概述
MCP网关充当支付执行层,允许您在不修改其代码的情况下将任何现有的MCP服务器货币化。它拦截工具调用,使用x402协议验证支付,并仅在成功验证支付后将请求转发给上游MCP服务器。这使开发人员能够向自己的服务器和第三方MCP服务添加支付要求。
建筑
- 框架:使用TypeScript的Express.js
- 支付协议:x402,配备Cronos协调员
- 代理模式:透明的请求/响应转发
- 区块链:支持Cronos测试网和主网
- 数据库:Drizzle ORM用于付款跟踪
- 运输:带背压处理的HTTP流
特性
- 用付款要求包裹任何MCP服务器
- 透明代理-无需修改上游服务器
- 通过Cronos协调员进行USDC.e无气支付
- 本地CRO直接支付支持
- 可按工具配置定价
- 自动支付验证和结算
- 请求日志记录和分析
- 错误处理和重试逻辑
- 与所有MCP客户端兼容
快速开始
发展
pnpm install
pnpm dev
服务器在上运行 http://localhost:3006
构建
pnpm build
pnpm start
环境变量
DATABASE_URL=postgresql://user:password@localhost:5432/cronos402
UPSTREAM_MCP_URL=https://upstream-server.com/mcp
CRONOS_NETWORK=cronos-testnet
RECIPIENT_ADDRESS=0xYourAddress
FACILITATOR_URL=https://facilitator.cronoslabs.org/v2/x402
配置
工具定价
在您的环境或数据库中配置按工具定价:
const toolPricing = {
'get_weather': '0.01', // $0.01 per call
'premium_data': '0.10', // $0.10 per call
'ai_analysis': '0.50' // $0.50 per call
};
上游服务器
指向任何MCP服务器:
UPSTREAM_MCP_URL=https://api.example.com/mcp
网关将在支付验证后将所有MCP操作代理到此服务器。
运作原理
付款流程
- 客户端向网关发送MCP工具调用请求
- 网关检查付款
_meta['x402/payment'] - 如果没有付款:
- 返回402需要付款
- 包括价格、收件人、主持人URL
- 如果提供付款:
- 验证付款签名和金额
- 与Cronos主持人确认
- 将请求转发到上游MCP服务器
- 向客户端返回上游响应
- 主持人在链上结算付款
请求转发
Client → Gateway → Upstream MCP Server
↓
Payment Check
↓
Facilitator
用法示例
包装现有服务器
import { createMcpGateway } from '@cronos402/mcp-gateway';
const gateway = createMcpGateway({
upstreamUrl: 'https://api.example.com/mcp',
recipient: '0xYourAddress',
network: 'cronos-testnet',
pricing: {
'tool_name': '0.01'
}
});
gateway.listen(3006);
客户端集成
客户端使用网关URL而不是上游服务器:
# Instead of connecting to upstream directly
npx cronos402 connect --urls https://api.example.com/mcp
# Connect through payment gateway
npx cronos402 connect --urls https://gateway.cronos402.dev/proxy/api.example.com
Claude桌面配置
{
"mcpServers": {
"Paid Service": {
"command": "npx",
"args": [
"cronos402",
"connect",
"--urls",
"https://gateway.cronos402.dev/proxy/upstream",
"--private-key",
"0x...",
"--network",
"cronos-testnet"
]
}
}
}
API终点
POST/mcp
网关MCP端点。付款验证后代理上游。
GET/健康
健康检查端点。
GET/定价
返回当前工具定价配置。
POST/管理员/定价
更新工具定价(需要管理员身份验证)。
数据库模式
表格
gateway_requests-所有代理请求payment_validations-付款验证记录tool_usage-按工具使用统计upstream_servers-已注册的上游服务器
迁移
pnpm drizzle-kit generate
pnpm drizzle-kit migrate
部署
生产建设
pnpm build
NODE_ENV=production pnpm start
码头工人
FROM node:20-alpine
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN npm install -g pnpm && pnpm install --frozen-lockfile
COPY . .
RUN pnpm build
EXPOSE 3006
CMD ["pnpm", "start"]
环境要求
- PostgreSQL数据库用于跟踪
- 生产环境中的HTTPS端点
- 有效的Cronos收件人地址
- 访问上游MCP服务器
- 主持人连接性
测试
# Run all tests
pnpm test
# Watch mode
pnpm test:watch
# Coverage
pnpm test:coverage
监控
GET /health-服务器运行状况GET /metrics-普罗米修斯指标- 请求记录到stdout
- 付款验证跟踪
安全
- 在链上验证付款签名
- 代理前请求验证
- 每位客户的费率限制
- 上游超时保护
- 输入净化
故障排除
付款验证失败
- 确保主持人URL正确
- 检查收件人地址是否符合要求
- 验证付款金额是否足够
上游超时
- 增加超时配置
- 检查上游服务器运行状况
- 检查网络连接
未找到工具
- 验证上游服务器是否公开该工具
- 检查工具名称拼写
- 查看代理日志是否有错误
资源
- 文档:https://docs.cronos402.dev/gateway
- SDK:https://github.com/Cronos402/sdk
- github:https://github.com/Cronos402/mcp-gateway
许可证
麻省理工学院