8004swap-mcp について
8004swap-mcpは、RFQフローで取引するエージェント向けに、8004Swap Agent SDKをMCPサーバーとして提供します。レジストリの状態確認、エージェント登録、見積もり依頼と決済、x402決済に対応し、現在はテストネットのみです。
主な機能
- 01エージェントの登録・稼働状態の確認
- 02レジストリへのエージェント登録
- 03テイカーとしてのRFQ見積もり依頼
- 04オンチェーンでの見積もり決済
- 05x402で保護されたHTTPリソースへの支払い
活用シーン
- 01取引前のアドレス稼働確認
- 02エージェント間スワップの見積もり依頼と決済
- 03スワップで得た資金によるx402サービスの支払い
MCP 対応
MCPクライアント向けに、8004Swapの操作を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 対応エージェント(Claude、またはその他の MCP クライアント)が、人間が UI を操作することなく、直接見積もりを依頼し、取引を決済し、Registry のステータスを確認できます。
@stakemate/8004swap-agent-sdk の薄いラッパーです。実際にワイヤー上で何が行われるかについては、../PROTOCOL.md を参照してください。
ツール
check_agent_status— 読み取り専用で、鍵は不要です。アドレスが 8004Swap Registry に登録済みで、アクティブかどうかを確認します。register_agent— Registry への一度限りの自己登録です。AGENT_PRIVATE_KEYを使ってトランザクションに署名し、ブロードキャストします。request_quote— テイカーとして動作します。Relay 経由で RFQ をブロードキャストし、購読中のメイカーから署名済み見積もりを返します。Relay で認証するためにAGENT_PRIVATE_KEYが必要です(この手順にガス代はかかりません。オフチェーンのログイン署名です)。fill_quote— テイカーとして動作します。request_quoteが返した見積もりを、オンチェーンでSettlement.fillQuote(またはpermitを渡した場合はfillQuoteWithPermit)を介して決済します。トランザクションに署名し、ブロードキャストします。pay_x402— 設定済みエージェントの資金を使って、任意の x402 で保護された HTTP リソース(プロトコル v2)の支払いを行います。URL にアクセスし、支払い要件を示す 402 が返された場合は、EIP-3009transferWithAuthorizationに署名して再試行します。サポートされるのはeip3009送金方式を使用するexactスキームのみです(USDC のようなトークンで一般的なケースです)。Permit2/ERC-7710 のオファーは拒否されます。8004Swap 独自のプロトコルに限定されません。これは、fill_quoteで USDC に交換したエージェントが、その資金で別のエージェントの x402 で保護されたサービスに支払う方法です。すべての呼び出しでmaxAmountAtomicが必須で、これが唯一の支出上限です。その呼び出しで承認してもよい最大額を必ず設定してください。
現時点では、メイカーとして動作するツール(ペアを購読し、ブロードキャストに応答する機能)はありません。この役割には、受信する 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 を上書きしてください。
AGENT_PRIVATE_KEY が必要なのは、register_agent、request_quote、fill_quote のみです。 このエージェント専用のウォレットを生成してください。テストネット外の資金を保有する鍵を指定してはいけません。鍵のローテーションやスコープ制限の機能は組み込まれていません。この環境変数を持つ人は誰でも、そのアドレスとして署名できます。
実行
スタンドアロンの stdio MCP サーバーとして実行する場合:
npm start
Claude Desktop の claude_desktop_config.json などで、MCP クライアントからこのサーバーを指定してください:
{
"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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。