关于 8004swap-mcp
8004swap-mcp 将 8004Swap Agent SDK 封装为 MCP 服务,供需要通过 RFQ 流程交易的 Agent 使用。它支持注册表状态查询、Agent 注册、请求报价、结算报价和 x402 付款;目前仅支持测试网。
主要功能
- 01检查 Agent 的注册与活跃状态
- 02在注册表注册 Agent
- 03以 taker 身份请求 RFQ 报价
- 04在链上结算报价
- 05支付受 x402 限制的 HTTP 资源
适用场景
- 01交易前检查地址是否活跃
- 02请求并结算 Agent 间的兑换
- 03用兑换所得支付 x402 服务
MCP 相关
该服务将 8004Swap 操作作为 MCP 工具提供给 MCP 客户端,涵盖注册表状态、注册、报价请求与结算,以及 x402 付款。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @stakemate/8004swap-mcp-serverAGENT_PRIVATE_KEY密钥Dedicated wallet private key for this agent (testnet). Required only for tools that sign: request_quote, fill_quote, register_agent. check_agent_status works without it. Never reuse a key that holds funds outside this testnet.RELAY_URL8004Swap Relay WebSocket URL. Defaults to the current Base Sepolia testnet deployment if omitted.RPC_URLBase Sepolia RPC URL. Defaults to https://sepolia.base.org if omitted.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| address | string | 是 | 要检查的 EVM 地址 |
详细介绍
@stakemate/8004swap-mcp-server
将 8004Swap 封装为 MCP 工具,因此任何兼容 MCP 的 Agent(Claude 或其他 MCP 客户端)都可以直接请求报价、结算交易并检查 Registry 状态,无需人工通过 UI 操作。
这是对 @stakemate/8004swap-agent-sdk 的轻量封装;实际的链上交互请参阅 ../PROTOCOL.md。
工具
check_agent_status— 只读,无需密钥。检查某个地址是否已在 8004Swap Registry 注册并处于活跃状态。register_agent— 在 Registry 上一次性自行注册。使用AGENT_PRIVATE_KEY签署并广播交易。request_quote— 作为 taker:通过 Relay 广播 RFQ,并返回已订阅 maker 的签名报价。需要AGENT_PRIVATE_KEY以通过 Relay 身份验证(此步骤不消耗 Gas,是链下登录签名)。fill_quote— 作为 taker:通过Settlement.fillQuote(如果传入permit,则使用fillQuoteWithPermit)在链上结算request_quote返回的报价。签署并广播交易。pay_x402— 使用已配置 Agent 的资金,为任意受 x402 保护的 HTTP 资源(协议 v2)付款:获取 URL;如果响应为 402 并附带付款要求,则签署 EIP-3009transferWithAuthorization并重试。仅支持exact方案和eip3009转账方式(这是类似 USDC 代币的常见情况);不接受 Permit2/ERC-7710 付款选项。这不局限于 8004Swap 自身的协议:Agent 可以先通过fill_quote兑换成 USDC,再用这些 USDC 向其他 Agent 提供的 x402 保护服务付款。每次调用都必须提供maxAmountAtomic,且它是唯一的支出上限——务必将其设为你愿意为该次调用授权的最高金额。
目前没有用于作为 maker 操作的工具(订阅交易对并响应广播)——该角色需要持久连接来响应传入的 RFQ,这不太适合 MCP 的请求/响应工具调用模式。目前若要执行此角色,请直接使用 sdk/relay/examples/makerClient.ts。
设置
npm install
npm run build
cp .env.example .env # fill in AGENT_PRIVATE_KEY if you want to sign anything
.env.example 中的默认值指向当前的 Base Sepolia 部署——存在其他网络后,可覆盖 RPC_URL/CHAIN_ID/REGISTRY_ADDRESS/SETTLEMENT_ADDRESS/RELAY_URL。
只有 register_agent、request_quote 和 fill_quote 需要 AGENT_PRIVATE_KEY。 请为此 Agent 生成专用钱包——切勿使用持有测试网以外资金的密钥。此处未内置密钥轮换或权限范围限制:任何持有此环境变量的人都能以该地址的身份签名。
运行
作为独立的 stdio MCP 服务运行:
npm start
将 MCP 客户端指向该服务,例如在 Claude Desktop 的 claude_desktop_config.json 中:
{
"mcpServers": {
"8004swap": {
"command": "node",
"args": ["/absolute/path/to/8004swap/mcp-server/dist/index.js"],
"env": {
"AGENT_PRIVATE_KEY": "0x..."
}
}
}
}
状态
与仓库其余部分相同,目前仅支持测试网。未经正式审计。fill_quote 和 register_agent 会广播真实的(测试网)交易——没有试运行模式。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。