mcpField
X
x402 Toolbox

x402 Toolbox

リモート
x402-toolbox.swiftbotlab.workers.dev開発ツール02 日前に更新
リポジトリ公式サイト

x402 Toolbox について

x402 Toolboxは、Web、DNS、EVM、データ処理向けの決定論的なユーティリティを提供するMCPサーバーです。登録やAPIキーなしで、Base上のUSDCによる従量課金でツールを使うクライアント向けです。

主な機能

  1. 01DNSとメールセキュリティの確認
  2. 02Webページの抽出と調査
  3. 03EVMトランザクションとcalldataのデコード
  4. 04データの変換、検証、比較
  5. 05単位、時刻、通貨の換算

活用シーン

  1. 01ドメインのメールセキュリティ記録を監査
  2. 02ページのテキストとメタデータを抽出
  3. 03EVMトランザクションやABIデータを調査
  4. 04JSONの検証やCSVデータの変換

MCP 対応

ステートレスなStreamable HTTP MCPエンドポイントで62種類のツールを提供します。初期化とツール一覧は無料で、ツール呼び出しはx402の支払いメタデータを使い、決済情報は応答に含まれます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://x402-toolbox.swiftbotlab.workers.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Swift Bot Labs Toolbox

1 つのオリジンで利用できる、62 種類の小規模で決定論的なユーティリティ API です。x402 を使った従量課金制で、DNS とメールのセキュリティチェック、Web ページからクリーンな Markdown への変換、EVM の calldata とトランザクションのデコード、x402 エンドポイントのチェック、IP/CIDR の計算、JSON と CSV、ハッシュ、単位・タイムゾーン・通貨の変換を利用できます。

サインアップも API キーも不要です。各呼び出しの料金は Base 上の USDC で $0.003~$0.02 です。失敗した呼び出しには課金されません。

支払いの仕組み

  1. 任意のツールを呼び出します。支払いがない場合は、価格、アセット(Base 上の USDC、eip155:8453)、支払い先アドレスを含む PAYMENT-REQUIRED ヘッダー(base64 JSON、x402 v2)と 402 Payment Required が返されます。
  2. x402 クライアントが、正確な金額を指定した USDC の transferWithAuthorization(EIP-3009)に署名し、PAYMENT-SIGNATURE ヘッダーを付けて再試行します。支払う側はガス代として ETH を用意する必要はありません。
  3. サーバーが支払いを検証し、ツールを実行して決済します。レスポンスは {"ok": true, "tool": ..., "result": {...}, "payment": {...}} となり、決済情報は PAYMENT-RESPONSE に含まれます。

入力エラー(HTTP 400)、到達不能なターゲット、上流の障害、タイムアウトは決済前に返されるため、料金はかかりません。

# see the price (free)
curl -i "https://x402-toolbox.swiftbotlab.workers.dev/v1/dns/mx?domain=example.com"
// pay and call, with the official x402 client packages (Node)
import { wrapFetchWithPayment } from "@x402/fetch";   // plus an EVM signer from @x402/evm
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://x402-toolbox.swiftbotlab.workers.dev/v1/email/security?domain=example.com");
const { result, payment } = await res.json();

GET ツールではクエリパラメーターを使用します(POST で JSON ボディを送信することもできます)。POST ツールでは JSON オブジェクトのボディを使用します。このリポジトリの tools/pay.mjs は、依存関係を抑えた支払いクライアントのリファレンス実装です(@noble/* による EIP-712 署名)。

MCP

POST /mcp は、ストリーミング可能な HTTP 上で JSON-RPC を処理します(ステートレス、JSON レスポンス)。initialize と tools/list は無料です。tools/call は x402 MCP トランスポートに従います。params._meta["x402/payment"] がない場合、structuredContent に PaymentRequired オブジェクトを含む isError: true の結果が返されます。署名済みの支払いペイロードをそこに送信すると、決済情報が result._meta["x402/payment-response"] に返されます。

エンドポイント

* = 必須パラメーター。完全なスキーマと結果の例は、カタログおよび openapi.json をご覧ください。

DNS とメール
エンドポイント料金機能パラメーター
GET /v1/dns/lookup$0.005DNS-over-HTTPS を介した、任意のレコードタイプの DNS ルックアップname*、type
GET /v1/dns/mx$0.005ドメインのメールサーバー(MX)をメールプロバイダーとともに並べ替えて表示domain*
GET /v1/dns/reverse$0.005IPv4 または IPv6 アドレスの逆引き DNS(PTR)。正引きによる確認付きip*
GET /v1/dns/spf$0.008SPF レコードのチェック:完全な include ツリー、DNS ルックアップ数、問題点domain*
GET /v1/dns/dmarc$0.005DMARC レコードのチェックとポリシーの解析domain*
GET /v1/email/validate$0.005メールアドレスのチェック:構文、MX、使い捨てメール、ロールアドレス、無料プロバイダー、タイプミスemail*
GET /v1/email/security$0.02ドメインのメールセキュリティ監査:MX、SPF、DMARC、DKIM、MTA-STS、TLS-RPT、BIMI、評価domain*、dkimSelectors
GET /v1/domain/rdap$0.01ドメイン登録データ(RDAP/WHOIS):レジストラ、作成日、有効期限、経過年数、ステータスdomain*
Web
Endpoint価格内容パラメーター
GET /v1/web/extract$0.01Webページを取得し、タイトルとメタデータに加えて、主要部分のテキストとMarkdownを整形して返しますurl*、format、mode、maxChars
GET /v1/web/metadata$0.008リンクプレビューとSEO向けのページメタデータ:タイトル、説明、OpenGraph、Twitterカード、JSON-LD、ファビコンurl*
GET /v1/web/links$0.008ページ上のすべてのリンクを絶対URLで取得し、重複を除去して内部リンクと外部リンクに分けますurl*、filter、limit
GET /v1/web/headers$0.005HTTPステータス、レスポンスヘッダー、リダイレクトチェーン、所要時間、セキュリティヘッダーの監査結果url*、method
GET /v1/web/robots$0.005robots.txtにより、クローラーにURLへのアクセスが許可されているかを確認します。ルール、クロール遅延、サイトマップも取得しますurl*、userAgent
GET /v1/web/sitemap$0.008sitemap.xml(またはサイトのデフォルトのサイトマップ)を読み込みます:lastmodと子サイトマップを含むURLurl*、limit
POST /v1/html/extract$0.005手元にあるHTMLを整形済みのテキスト/Markdownに変換し、メタデータとリンクを抽出しますhtml*、baseUrl、format、mode、maxChars
GET /v1/url/parse$0.003URLを解析、正規化して整形します(構成要素、クエリパラメーター、punycode、トラッキングパラメーターの削除)url*
EVM
Endpoint価格内容パラメーター
GET /v1/evm/address$0.003EVMアドレスを検証し、EIP-55チェックサム形式で返しますaddress*
GET /v1/evm/contract$0.005アドレスがコントラクトかウォレットかを判定します。コードサイズ、EIP-1967プロキシの実装/管理者/ビーコン、EIP-7702の委任も確認しますaddress*、chain
GET /v1/evm/selector$0.003Solidityシグネチャに対応する関数セレクターとイベントトピックを取得しますsignature*
GET /v1/evm/selector-lookup$0.0054バイトの関数セレクターと32バイトのイベントトピックからシグネチャを逆引きしますselectors*
POST /v1/evm/abi-encode$0.003値をABIエンコードします(関数シグネチャを指定した場合は完全なcalldataを生成します)signature、types、values*
POST /v1/evm/abi-decode$0.003既知の型またはシグネチャを使って、calldata、戻り値データ、ログデータをABIデコードしますdata*、signature、types
POST /v1/evm/calldata-decode$0.005不明なトランザクションのcalldataをデコードします:関数シグネチャを特定し、引数をデコードしますdata*
GET /v1/evm/tx$0.01EVMトランザクションを解説します:ステータス、手数料、デコードされたメソッド、ERC-20/721の送金hash*、chain
GET /v1/evm/token$0.005ERC-20トークンのメタデータ:名前、シンボル、小数桁数、総供給量(オンチェーン)address*、chain
GET /v1/evm/balance$0.005アドレスのネイティブ通貨とERC-20の残高address*、chain、tokens
GET /v1/evm/gas$0.003EVMチェーンの現在のガス価格、基本手数料、優先手数料chain
GET /v1/evm/ens$0.005ENS:名前をアドレスに解決するか、アドレスのプライマリ名を確認済みの状態で取得しますname、address
GET /v1/evm/units$0.003wei、gwei、ether、または任意のトークンの小数桁数の間で正確に変換しますvalue*、from、to
POST /v1/evm/verify-message$0.003EIP-191のpersonal_signメッセージの署名者を復元し、アドレスと照合しますmessage、signature、address、messageEncoding
x402
Endpoint価格内容パラメーター
GET /v1/x402/check$0.01x402エンドポイントを調査します:稼働中か、料金はいくらか、どのチェーンで誰に支払うのか、402が有効かを確認しますurl*、method
GET /v1/x402/search$0.01x402 Bazaarのカタログをキーワードで検索し、料金付きの有料APIを探しますquery*、network、maxPriceUsd、limit
IP と CIDR
エンドポイント価格機能パラメーター
GET /v1/ip/info$0.003IPv4/IPv6 アドレスを解析して分類します(プライベート、ループバック、CGNAT、ドキュメント用など)ip*
GET /v1/ip/cidr$0.003IPv4/IPv6 CIDR ブロックのサブネット計算ツールですcidr*
POST /v1/ip/contains$0.003指定した IP のうち、どれがどの CIDR 範囲に含まれるかを調べます(許可リスト/ブロックリストの確認)cidrs, ips
GET /v1/ip/split$0.003CIDR ブロックをより小さなサブネットに分割しますcidr, newPrefix, limit
POST /v1/ip/aggregate$0.003CIDR のリストを、同等の最小セットに統合/集約しますcidrs*
GET /v1/ip/range$0.003IP 範囲(開始アドレス〜終了アドレス)を最小限の CIDR ブロックのリストに変換しますstart, end
データとテキスト
エンドポイント価格機能パラメーター
POST /v1/json/validate$0.003JSON データを JSON Schema(draft 2020-12/draft-07)に照らして検証しますschema, data, formats
POST /v1/json/format$0.003JSON を解析し、整形、最小化、または正規化(キーをソート)します。構文エラーの位置も特定しますjson*, mode, indent, sortKeys
POST /v1/json/query$0.003JSON Pointer またはドット区切りのパス(a.b[0].c、items[*].id)を使って JSON から値を抽出しますjson*, path, paths
POST /v1/json/diff$0.0032 つの JSON ドキュメントの構造的な差分を JSON Patch 形式の操作として返しますa, b
POST /v1/csv/to-json$0.003CSV/TSV を JSON に変換します(RFC 4180 の引用符処理、区切り文字の自動検出、型推論)csv*, delimiter, header, inferTypes
POST /v1/json/to-csv$0.003オブジェクトの JSON 配列を CSV に変換します(ネストされたオブジェクトはドット区切りのキーにフラット化)json*, delimiter, flatten
POST /v1/text/stats$0.003テキストの統計情報を取得します:単語数、文の数、読了時間、可読性、キーワード上位text*, top
POST /v1/text/diff$0.0032 つのテキストの行単位の差分を、追加/削除数付きの統一 diff として返しますa, b, context
POST /v1/text/transform$0.003スラッグ化と大文字・小文字の変換(キャメル、スネーク、ケバブ、タイトル、定数など)、トリミング、行の重複除去を行いますtext, op
エンコードとハッシュ
エンドポイント価格機能パラメーター
POST /v1/hash$0.003テキストまたはバイト列をハッシュ化します:SHA-1/2/3、Keccak-256、MD5、RIPEMD-160、BLAKE2/3data*, inputEncoding, algorithm, outputEncoding
POST /v1/hmac$0.003HMAC(SHA-256/384/512/1、MD5)を計算します。たとえば、Webhook の署名確認に使えますmessage, key, keyEncoding, algorithm, expected
POST /v1/encode$0.003UTF-8、hex、base64、base64url、base32、base58 間で変換し、URL と HTML のエスケープを行いますdata*, from, to
GET /v1/uuid$0.003UUID(ランダムな v4、時系列順の v7)を生成するか、UUID を解析/検証しますuuid, version, count
POST /v1/jwt/decode$0.003JWT をデコードして時刻を確認します。オプションで HS256/384/512 署名を検証できますtoken*, secret, secretEncoding
GET /v1/random$0.003暗号学的に安全なランダムバイト、トークン、パスワードを生成しますkind, length, encoding, symbols, count
変換
エンドポイント価格機能パラメーター
GET /v1/convert/units$0.003長さ、質量、体積、面積、速度、時間、データ、圧力、エネルギー、電力、温度、角度の単位を変換しますvalue, from, to*
GET /v1/time/convert$0.003夏時間に対応したオフセットを使い、タイムゾーン間および形式(ISO、unix、RFC 2822)間で時刻を変換しますtime, from, to
GET /v1/time/diff$0.0032つの日付/時刻の間隔、暦上の差、営業日数を算出しますstart*, end, tz
GET /v1/cron/next$0.003cron 式を説明し、任意のタイムゾーンで次回の実行時刻を一覧表示しますexpression*, tz, count, from
GET /v1/color$0.003色の変換(hex、RGB、HSL)と、2色間の WCAG コントラスト比を算出しますcolor*, against
GET /v1/convert/currency$0.005ECB の公式ユーロ参考レート(法定通貨30種類)を使って通貨を換算しますamount, from, to
検証と解析
エンドポイント価格機能パラメーター
GET /v1/semver$0.003セマンティックバージョンを解析、比較、並べ替えし、npm 形式の範囲に照らして確認しますversions*, range, compareTo
GET /v1/iban/validate$0.003IBAN を検証します:国ごとの長さ、mod-97 チェックディジット、整形済み出力iban*
GET /v1/user-agent$0.003User-Agent を解析します:ブラウザー、エンジン、OS、デバイスの種類、既知のボット/AI クローラーua*

制限

  • IP アドレスごとに、価格見積もりは毎分120回、有料リクエストは毎分60回までです。
  • リクエストボディは最大64 KB(ハッシュ、テキスト、JSON、CSV、HTML ツールは1〜2 MB)、クエリー文字列は最大16 KBです。
  • URL ツールは最大2 MBまでダウンロードし、12秒でタイムアウトします。各ツール呼び出しの上限時間は25秒です。

セキュリティ

  • 処理前に支払いを確認します。 まず支払い(正確な金額、送金先、ネットワーク、有効期間が15分以内であること、署名が支払者のものであることのローカル検証)を確認し、次に入力を検証します。その後、USDC コントラクトに認可が未使用かどうかを問い合わせ、ファシリテーターが検証します。これらが完了してからツールを実行し、決済の確認後にのみ結果を返します。使用済みの認可は、処理開始前に拒否されます。
  • サーバーに鍵はありません。 デプロイ先は固定アドレスへの支払いのみを受け付け、秘密鍵やシークレットを保持しません。
  • SSRF 対策。 ユーザーの URL は、認証情報を含まず、ポート80、443、8080、8443のいずれかを使う http/https である必要があります。リテラル IP とすべての DNS 応答(A および AAAA)は、パブリックユニキャストでなければなりません。プライベート、ループバック、リンクローカル、CGNAT、マルチキャスト、ドキュメント用、NAT64、6to4、Teredo、IPv4 マップ形式は拒否されます。リダイレクトは手動でたどり、各ホップを再検証します。送信するのは GET と HEAD のみで、呼び出し元のヘッダーや Cookie は送信しません。
  • 上流接続先は固定です。 それ以外(DNS-over-HTTPS、パブリック EVM RPC、署名データベース、ECB レート、IANA RDAP ブートストラップ、ファシリテーター、ディスカバリーカタログ)は、リダイレクトをたどらず、固定の許可リストにあるホストに接続します。
  • 処理量を制限しています。 すべての入力にサイズ制限があります。HTML パーサーは線形時間で動作し、ABI デコーダー、CSV パーサー、差分処理はサイズが制限されています。JSON Schema の pattern は線形時間のマッチャーで実行されるため、悪意のある正規表現によってサービスが停止することはありません。ユーザーが提供したものをコードとして評価することはありません。
  • プライバシー。 入力はメモリー上で処理され、保存されません。ログに記録するのはツール名、ステータス、支払者アドレス、決済ハッシュのみです。

脅威モデルと問題の報告方法については、SECURITY.md をご覧ください。

自分で実行する

Cloudflare Workers、プレーンな JavaScript、バージョンを固定した2つの依存関係(@noble/hashes、@noble/curves)。

npm ci --ignore-scripts
node test/run.mjs                    # offline suite (mocked network)
node test/live.mjs                   # live smoke test of the network tools (no payments)
npx wrangler dev                     # local
npx wrangler deploy --env test       # Base Sepolia twin (test USDC)

デプロイ前に、wrangler.toml の PAY_TO をご自身の受取アドレスに設定してください。

お問い合わせ

大量利用、ご希望のツール、またはバグについては、Telegram の @SwiftBotLabsBot までご連絡ください。

MIT License。Swift Bot Labs 制作。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。