mcpField
8
8004swap-mcp

8004swap-mcp

本地服务
github.com/Stakemate369金融数据09 周前更新

关于 8004swap-mcp

8004swap-mcp 将 8004Swap Agent SDK 封装为 MCP 服务,供需要通过 RFQ 流程交易的 Agent 使用。它支持注册表状态查询、Agent 注册、请求报价、结算报价和 x402 付款;目前仅支持测试网。

主要功能

  1. 01检查 Agent 的注册与活跃状态
  2. 02在注册表注册 Agent
  3. 03以 taker 身份请求 RFQ 报价
  4. 04在链上结算报价
  5. 05支付受 x402 限制的 HTTP 资源

适用场景

  1. 01交易前检查地址是否活跃
  2. 02请求并结算 Agent 间的兑换
  3. 03用兑换所得支付 x402 服务

MCP 相关

该服务将 8004Swap 操作作为 MCP 工具提供给 MCP 客户端,涵盖注册表状态、注册、报价请求与结算,以及 x402 付款。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"stakemate369-8004swap": {
"command": "npx",
"args": [
"-y",
"@stakemate/8004swap-mcp-server"
],
"env": {
"AGENT_PRIVATE_KEY": "<AGENT_PRIVATE_KEY>",
"RELAY_URL": "<RELAY_URL>",
"RPC_URL": "<RPC_URL>"
}
}
}
}
启动命令npx -y @stakemate/8004swap-mcp-server
需要配置的环境变量
AGENT_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@stakemate/8004swap-mcp-server0.1.0

工具

5

收录的工具列表 · 更新于 3 周前

参数类型必填说明
addressstring是要检查的 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-3009 transferWithAuthorization 并重试。仅支持 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 会广播真实的(测试网)交易——没有试运行模式。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。