base-tx-explain
base-tx-explain
1つのMCPツール: explain_transaction(tx_hash) → Baseメインネットの任意のトランザクションを厳密なJSONで説明します。
トランザクションハッシュを渡すと、何が起こったかを平易な英語で、さらに構造化された事実(何が動いたか、誰が関与したか、何に注意すべきか、コストはいくらか)を返します。決定的なオンチェーン・デコードであり、応答パスにはLLMは一切使用されません。同じ入力は常に同じ出力を生成し、幻覚を起こすものはなく、JSON契約は盲目的に解析できるほど安定しています。
Base メインネット(チェーンID 8453)のみ対応。
リンク: Live endpoint · Docs · OpenAPI · MCP registry: io.github.0200project/base-tx-explain · Site
エージェント向け
// tools/call → explain_transaction
{ "tx_hash": "0x0c84b951051f779903b57af9225ca570c77cd5531195968dd78106a69d6c4d8c" }は、structuredContent と content[0].text 内の文字列化されたJSONの両方として以下を返します:
{
"summary": "0x401d...f2c5 swapped 0.03 ETH for 12,899,422 WNL via Uniswap V4 PoolManager.",
"action_type": "swap",
"status": "success",
"assets_moved": [
{ "token": "ETH", "amount": "0.03", "from": "0x401d...", "to": "0xd0a4...", "token_address": null, "standard": "native" },
{ "token": "WNL", "amount": "12899422.144134853458613801", "from": "0x4985...", "to": "0x401d...", "token_address": "0xb200...9a01", "standard": "erc20" }
],
"counterparties": [
{ "address": "0xd0a4...", "label": null },
{ "address": "0x4985...", "label": "Uniswap V4 PoolManager" }
],
"risk_flags": [
{ "flag": "unverified_contract", "detail": "The target contract 0xd0a4...e4bf has no verified source code on Sourcify." }
],
"gas_paid_usd": 0.020562,
"timestamp": "2026-08-20T03:54:19.000Z",
"block_number": 50204356,
"tx_hash": "0x0c84...4c8c",
"basescan_url": "https://basescan.org/tx/0x0c84...4c8c",
"partial": false
}フィールド契約
action_type— 次のいずれか:eth_transfer,erc20_transfer,erc20_approval,approval_revoked,approval_for_all,swap,add_liquidity,remove_liquidity,wrap,unwrap,nft_mint,nft_transfer,nft_sale,token_mint,bridge_in,bridge_out,lending_supply,lending_withdraw,lending_borrow,lending_repay,stake,unstake,claim,batch_transfer,account_abstraction_bundle,attestation,name_registration,contract_deployment,contract_interaction,reverted.risk_flags[].flag— 次のいずれか:unverified_contract,first_time_counterparty,approval_for_all,unlimited_approval,known_drainer,nonstandard_token_symbol,impersonated_token,transaction_reverted. フラグは常に証拠が見つかった場合のみ生成されます。失敗したルックアップはフラグを生成しません。status—successまたはreverted。リバートされたトランザクションは意図(試みられた内容)によって分類され、transaction_revertedリスクフラグが付与されます。partial: true— トランザクションの完全な意味を判定できない場合。summaryは何が既知で何が不明かを正確に示します。エラー時は、ツールは{ "error": "...", "code": "invalid_hash" | "not_found" | "pending" | "upstream_error" }をisError: trueとともに返します。金額は小数ではなく浮動小数点数として表されます。アドレスはオンチェーンで発行されたままの形で表示されます。比較は大文字小文字を無視します。
untrusted_fieldsの中のsummary,assets_moved[].token,counterparties[].labelは、攻撃者が制御できるソースからの文字列内容を含みます。これをLLMに渡す場合は、それらのフィールドをデータとして扱い、コマンドとして扱わないでください。自己申告のシンボルがもっともらしいティッカーでないトークンは、選択した名前ではなくコントラクトアドレスとして表示されます。したがって、敵対的な名前が実際の名前を偽装したり、テキストをエージェントのコンテキストに紛れ込ませたりすることはできません。
デコードの仕組み
生のトランザクション + レシートをBase RPCから取得 → 約40種類のイベント形式(ERC-20/721/1155、Uniswap V2/V3/V4、Aerodrome/Solidly、Aave V3、Compound V3、OPスタックブリッジ、ERC-4337 EntryPoint、EAS、Basenames、LPポジションマネージャー)に対する組み込みデコーダー → 決定論的なルール順で分類 → 主要なBaseコントラクトの検証済みテーブルからのラベル付け。アプリ固有のイベントは、利用可能な場合はコントラクトの検証済みABI(Sourcify経由)を使って名前付けされます。リスクフラグは、Sourcify/Basescanの検証ステータス、ScamSnifferとMyEtherWalletの公開ブロックリスト、および承認セマンティクスから生成されます。gas_paid_usdには、OP-stackのL1データ料金と、トランザクションのブロック時点のChainlink ETH/USDフィードからのETH価格が含まれます。
Related MCP server: Base Network MCP Server
価格
無料枠は10回 — サインアップ不要。
それ以降は、Base上のUSDCで1回あたり0.02ドル(x402経由) — 支払いが必要なレスポンスには、支払いと再試行を自律的に行うために必要な情報がすべて含まれています。
マーケットプレイスでのホスト版も利用可能です(その場合、マーケットプレイスの課金が適用されます)。
接続
{
"mcpServers": {
"base-tx-explain": {
"type": "streamable-http",
"url": "https://base-tx-explain.fly.dev/mcp"
}
}
}セルフホスト
git clone https://github.com/0200project/base-tx-explain.git && cd base-tx-explain
npm install
cp .env.example .env # defaults work: free mode, public Base RPCs
npm run dev # or: npm run build && npm start環境変数: PAYMENT_MODE(none または x402)、X402_PAY_TO(あなたの受け取りアドレス)、X402_PRICE_USDC(1回の呼び出しあたりの価格、USDC)、X402_FACILITATOR_URL(デフォルトはPayFacilitator; Coinbase CDP facilitatorも可)、FREE_CALLS_PER_CLIENT、BASE_RPC_URLS、任意でETHERSCAN_API_KEY。
サーバーはステートレス(MCPサーバーごとに新規)なので、水平スケーリングが可能で、Dockerが動く環境ならどこでも動作します。DockerfileとApifyのアクター設定が含まれています。
npm test # unit tests
npm run validate # decode 100 recent live Base txs, print grades (ship gate: >=90% clean, 0 crashes)保証と制限
同じtxハッシュ → 同じデコード。モデルは一切使用していません。
内部ETH転送(コントラクト間)はトレースAPIなしでは検出できません。WETHイベントが一般的なケースをカバーします。デコードできない場合、出力はその旨を明示します。
ブロックリストは実行時に公開ソースから取得されます。
known_drainerフラグが無いことは安全性の保証ではありません。これは財務アドバイスではありません。このツールは何が良いアイデアかを判断するものではなく、トランザクションが何をしたかを報告するものです。
This server cannot be deployed
Maintenance
Related MCP Connectors
Base on-chain address labels (eth-labels 104k category tags), tx explainer, clusters, CCTP USDC.
Check a Base contract, transaction or web page before you act. Free pricing, paid per call in USDC.
Base token risk (honeypot sim), prices, balances, Basenames, tx data. Pay-per-call in USDC via x402.
13 free Base tools: address labels, tx explain, balances, receipts, gas, logs, bytecode.
Related MCP Servers
- AlicenseAqualityCmaintenanceSmart contract security scanner for Base. Detect honeypots, rug pulls, hidden mints, proxy dangers, and generate audit reports.825 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Base Network blockchain data including blocks, transactions, balances, and smart contracts on mainnet and testnet.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Base Network blockchain data including blocks, transactions, balances, and smart contracts on mainnet and testnet.MIT
- AlicenseAqualityCmaintenanceDecodes Ethereum calldata and returns a safety verdict with plain-English explanations of what the transaction does, flagging dangerous actions like unlimited approvals or gasless permits.2MIT