mcpField
A
arbitrum-transaction-preflight

arbitrum-transaction-preflight

ローカル
github.com/naur9n金融データ015 週間前に更新

arbitrum-transaction-preflight について

arbitrum-transaction-preflightは、Arbitrum Oneのトランザクションをシミュレーションし、ガス見積もり、承認の検出、機械可読なリスクレポートを返します。署名前に取引を評価するウォレット、ボット、AIエージェント向けで、ホストAPIのレポートは有料です。

主な機能

  1. 01トランザクションのシミュレーションと失敗検出
  2. 02ガスと取引コストの見積もり
  3. 03送信先の検査と承認の検出
  4. 04加重リスクスコアと警告の提示
  5. 05ブロック番号とレポート時刻の確認

活用シーン

  1. 01署名前にトランザクションを評価
  2. 02トークンやNFTの承認を確認
  3. 03ガスを見積もり、対象コントラクトを検査

MCP 対応

MCPサーバーは`check_arbitrum_transaction`を提供し、各ツール呼び出しで呼び出し元専用の`CLIENT_PRIVATE_KEY`を使ってホストMPP APIに支払います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"naur9n-arbitrum-transaction-preflight": {
"command": "npx",
"args": [
"-y",
"arbitrum-mpp-transaction-preflight"
],
"env": {
"CLIENT_PRIVATE_KEY": "<CLIENT_PRIVATE_KEY>",
"SERVER_URL": "<SERVER_URL>",
"CHAIN_ID": "<CHAIN_ID>"
}
}
}
}
起動コマンドnpx -y arbitrum-mpp-transaction-preflight
設定が必要な環境変数
CLIENT_PRIVATE_KEYシークレットDedicated low-value payer key.
SERVER_URLHosted paid API base URL.
CHAIN_ID42161 for Arbitrum One.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmarbitrum-mpp-transaction-preflight4.0.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Arbitrum Transaction Preflight

ウォレット、ボット、AI エージェント向けの、有料トランザクションシミュレーションとリスクレポートです。 トランザクションに署名する前に、API はシミュレーションが成功するかを確認し、ガスを推定して、トークン/NFT の承認を検出し、宛先を調査して、機械可読なリスクスコアを返します。

本番 API:https://arbitrum-mpp-transaction-preflight-production.up.railway.app

製品と料金

  • ネットワーク:Arbitrum One(42161)
  • アセット:ネイティブ USDC(0xaf88d065e77c8cC2239327C5EDb3A432268e5831)
  • ローンチ価格:レポートあたり 0.10 USDC(生の USDC 単位で 100000)
  • 主な決済チャネル:EIP-3009 を使用する MPP
  • 任意の配信チャネル:Coinbase CDP/Bazaar を使用する x402
  • エージェントインターフェース:呼び出し元のウォレットで MPP エンドポイントに支払う MCP stdio サーバー

このサービスがトランザクション署名用のウォレットを要求することはありません。サンプルの MPP/MCP クライアントは、API の支払いを承認するためだけに、別の少額決済用キーを使用します。

検出エンドポイント

ホスト型サービスは、無料の検出メタデータを公開します。

  • GET / — 製品、ネットワーク、価格、エンドポイントの概要
  • GET /health — ヘルスチェック
  • GET /openapi.json — MPP 対応の OpenAPI 3.1 検出ドキュメント
  • GET /llms.txt — AI エージェント向けの簡潔な手順
  • GET /.well-known/agent.json — エージェント/サービスのメタデータ

MPP クライアントは次を呼び出します。

POST /v1/preflight

x402 が有効な場合、x402 クライアントは次を呼び出します。

POST /x402/v1/preflight

リクエストとレポート

{
  "from": "0x0000000000000000000000000000000000000001",
  "to": "0x0000000000000000000000000000000000000002",
  "data": "0x",
  "valueEth": "0"
}

from と to は必須です。data のデフォルト値は 0x です。ネイティブの値には valueEth または valueWei のいずれかを使用します。支払いが成功したレスポンスには、次の内容が含まれます。

  • コールシミュレーションの成功/リバートの詳細
  • ガス推定値、ガス価格、推定 ETH コスト
  • EOA/コントラクトの宛先調査
  • ERC-20 approve と NFT setApprovalForAll の検出
  • 重み付けされたリスクスコアと警告
  • ブロック番号とチェック時刻

自動シミュレーションとヒューリスティクスによりリスクを軽減できますが、安全性を保証するものではありません。

ローカルで実行する

要件:Node.js 22 以降と専用のサーバーウォレット。本番ネットワークでは、MPP 決済のガス代として、サーバーウォレットに少額の Arbitrum One ETH が必要です。

npm install
cp .env.example .env
npm run server

本番環境に必要な最小限の設定:

SERVER_PRIVATE_KEY=0x...
CHAIN_ID=42161
ARBITRUM_RPC=https://arb1.arbitrum.io/rpc
PRICE_RAW_USDC=100000
ENABLE_FREE_DEMO=false
SERVER_URL=https://arbitrum-mpp-transaction-preflight-production.up.railway.app

.env をコミットしたり、SERVER_PRIVATE_KEY を公開したりしないでください。

MPP クライアント

付属のクライアントは、402 -> authorization -> retry -> receipt の一連のフローを実行します。

CLIENT_PRIVATE_KEY=0x...
TARGET_ADDRESS=0x...
SERVER_URL=https://arbitrum-mpp-transaction-preflight-production.up.railway.app
CHAIN_ID=42161
npm run client

決済用ウォレットには、Arbitrum One 上のネイティブ USDC が必要です。MPP の支払いに ETH は不要です。加盟店が署名済みの EIP-3009 承認を決済します。

MCP 統合

MCP サーバーは check_arbitrum_transaction を公開します。呼び出し元専用の CLIENT_PRIVATE_KEY を使ってホスト型 MPP API に支払うため、各ツール呼び出しは支払いを回避するのではなく、API の収益を生み出します。

npm run mcp

npm パッケージが公開された後、MCP ホストは次のコマンドを実行できます。

{
  "mcpServers": {
    "arbitrum-preflight": {
      "command": "npx",
      "args": ["-y", "arbitrum-mpp-transaction-preflight"],
      "env": {
        "CLIENT_PRIVATE_KEY": "0x...",
        "SERVER_URL": "https://arbitrum-mpp-transaction-preflight-production.up.railway.app",
        "CHAIN_ID": "42161"
      }
    }
  }
}

少額決済専用のウォレットを使用してください。価値の高いウォレットのキーを再利用しないでください。

x402 と Bazaar を有効にする

Arbitrum での本番 x402 決済には、Coinbase の CDP ファシリテーターを使用します。CDP プロジェクトを作成し、次の Railway 変数を追加します。

ENABLE_X402=true
CDP_API_KEY_ID=...
CDP_API_KEY_SECRET=...

その後、サーバーは Bazaar の検出メタデータを含む POST /x402/v1/preflight を公開します。MPP は引き続き POST /v1/preflight で利用できます。2 つの決済チャネルは、同じ分析エンジンと加盟店アドレスを共有します。

開発時のチェック

npm run typecheck
npm run build
npm pack --dry-run

ローカル開発で支払いなしの POST /demo/preflight を公開する場合に限り、ENABLE_FREE_DEMO=true を設定してください。本番環境では絶対に有効にしないでください。

公開先

このリポジトリには、公式 MCP Registry 用の server.json と npm メタデータが含まれています。リリースの順序:

  1. このバージョンを Railway にデプロイする
  2. arbitrum-mpp-transaction-preflight を npm に公開する
  3. mcp-publisher で server.json を公開する
  4. CDP x402 を有効にして、Bazaar のインデックス登録対象にする
  5. 稼働中の MPP エンドポイントを MPP サービスカタログに申請する

Arbitrum 公式 MPP ガイド: https://docs.arbitrum.io/build-decentralized-apps/machine-payments-protocol

コメント

MCP は初めてですか?

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

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