mcpField
M
mcp-simulate

mcp-simulate

ローカル
github.com/CryptoAPIs-io金融データ05 週間前に更新

mcp-simulate について

mcp-simulate は、Crypto APIs を通じて Ethereum 取引をブロードキャスト前に試行する MCP サーバーです。mainnet または sepolia でのシミュレーション結果、gas 使用量、状態変化を確認したいクライアント向けです。

主な機能

  1. 01ブロードキャスト前の Ethereum 取引シミュレーション
  2. 02シミュレーション結果と状態変化の確認
  3. 03gas 使用量の確認
  4. 04mainnet と sepolia に対応

活用シーン

  1. 01Ethereum 送金結果の事前確認
  2. 02取引の gas 使用量の評価
  3. 03コントラクト呼び出しによる状態変化の確認

MCP 対応

MCP サーバーは Ethereum 取引をシミュレートするツールをクライアントに提供し、mainnet または sepolia を指定できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cryptoapis-io-mcp-simulate": {
"command": "npx",
"args": [
"-y",
"@cryptoapis-io/mcp-simulate"
],
"env": {
"CRYPTOAPIS_API_KEY": "<CRYPTOAPIS_API_KEY>"
}
}
}
}
起動コマンドnpx -y @cryptoapis-io/mcp-simulate
設定が必要な環境変数
CRYPTOAPIS_API_KEYシークレットCrypto APIs API key

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

パッケージ
npm@cryptoapis-io/mcp-simulate0.4.0

ツール

2

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
datastringいいえコントラクトとのやり取りまたはデプロイ用バイトコードの 16 進数エンコードされた calldata
valuestringいいえネイティブコインの最小単位での金額(例:wei。デフォルトは '0')
contextstringいいえリクエストの任意のコンテキスト。レスポンスでそのまま返されます
networkenumはいネットワーク名(Ethereum のみ——mainnet または sepolia)mainnet | sepolia
gasLimitstringいいえカスタム gas 上限の上書き値(省略時は自動推定)
gasPricestringいいえカスタム gas 価格(単位:wei。省略時は自動推定)
toAddressstringいいえ受信者またはコントラクトアドレス(コントラクトのデプロイをシミュレートする場合は省略)
fromAddressstringはい送信元アドレス

詳細

@cryptoapis-io/mcp-simulate

Crypto APIs の Simulate 製品向け MCP サーバーです。Ethereum トランザクションをブロードキャストせずにドライランし、結果を事前に確認できます。

API Version: Crypto APIs バージョン 2024-12-12 と互換性があります

機能

  • Ethereum トランザクションをブロードキャスト前にシミュレートします
  • トランザクションの結果、ガス使用量、状態の変化を事前に確認します
  • Ethereum のみ(mainnet、sepolia)— 基盤となる API エンドポイントにはブロックチェーンのパラメーターがありません

前提条件

インストール

npm install @cryptoapis-io/mcp-simulate

または、Crypto APIs のすべての MCP サーバーをインストールします:npm install @cryptoapis-io/mcp

使い方

# Run with API key
npx @cryptoapis-io/mcp-simulate --api-key YOUR_API_KEY

# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-simulate

# HTTP transport (listens on 127.0.0.1; see "Exposing the server beyond localhost")
npx @cryptoapis-io/mcp-simulate --transport http --port 3000 --api-key YOUR_API_KEY
Claude Desktop

Claude Desktop の設定(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "cryptoapis-simulate": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-simulate"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}
Cursor

.cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)に追加します:

{
  "mcpServers": {
    "cryptoapis-simulate": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-simulate"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}
MCP Inspector
npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-simulate --api-key YOUR_API_KEY
n8n
  1. HTTP モードでサーバーを起動します:
    npx @cryptoapis-io/mcp-simulate --transport http --port 3000 --api-key YOUR_API_KEY
    
  2. n8n のワークフローに AI Agent ノードを追加します
  3. Tools で MCP Client Tool を追加し、URL に http://localhost:3000/mcp を設定します

Docker 上の n8n: コンテナ内の localhost はホストマシンを指しません。サーバーを --host 0.0.0.0 と MCP_AUTH_TOKEN を設定して起動し(localhost の外部にサーバーを公開するを参照)、URL に http://host.docker.internal:3000/mcp を使用して、MCP Client Tool の認証情報に Authorization: Bearer <token> ヘッダーを追加してください。

すべてのサーバーのデフォルトポートは 3000 です。複数のサーバーを実行する場合は、--port で異なるポートを割り当ててください。

利用可能なツール

simulate_evm

Ethereum トランザクションをシミュレートします(ドライラン)。Ethereum のみ — 基盤となるエンドポイントにはブロックチェーンのパラメーターがありません。

パラメーター説明
networkネットワーク:mainnet または sepolia
fromAddress送信元アドレス
toAddress送信先アドレス
value送信する金額(ネイティブコイン単位)
dataコントラクト呼び出しデータ(16 進数)
gasLimitガス上限
gasPriceガス価格

CLI 引数

引数説明デフォルト
--api-keyCrypto APIs API キーCRYPTOAPIS_API_KEY 環境変数
--transportトランスポートタイプ:stdio または httpstdio
--hostHTTP ホスト(リモート接続を受け入れるには 0.0.0.0 を使用します。--api-key による認証トークンが必要です)127.0.0.1
--auth-token呼び出し元が送信する必要のあるベアラートークン(Authorization: Bearer <token>)。MCP_AUTH_TOKEN 環境変数の使用を推奨しますMCP_AUTH_TOKEN 環境変数
--allowed-hostsループバック以外にバインドする場合の、カンマ区切りの Host ヘッダー許可リスト—
--portHTTP ポート3000
--pathHTTP パス/mcp
--statelessステートレス HTTP モードを有効にしますfalse
HTTP API キーモード

HTTP トランスポートを使用する場合、サーバーは 2 つの API キーモードに対応しています:

  • --api-key を指定する場合: すべてのリクエストでこのキーが使用されます。リクエストの x-api-key ヘッダーは無視されます。
  • --api-key を指定しない場合: 各リクエストには、有効な Crypto APIs キーを含む x-api-key ヘッダーが必要です。これにより、各ユーザーが自身のキーを指定する公開サーバーをホストできます。
# Per-request key mode (multi-tenant)
npx @cryptoapis-io/mcp-simulate --transport http --port 3000
# Clients send x-api-key header with each request
localhost の外部にサーバーを公開する

HTTP モードはデフォルトで 127.0.0.1 をリッスンするため、同じマシン上のプロセスのみが接続できます。 他のマシンやコンテナからの接続を受け入れるには、明示的にバインドし、ポートを保護してください:

# Startup-key mode: callers must present the token (the server refuses to start without one)
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
npx @cryptoapis-io/mcp-simulate --transport http --host 0.0.0.0 --port 3000 --api-key YOUR_API_KEY \
  --allowed-hosts mcp.internal.example
# Clients send: Authorization: Bearer $MCP_AUTH_TOKEN

# Per-request key mode: no startup key, every request must carry the caller's own x-api-key
npx @cryptoapis-io/mcp-simulate --transport http --host 0.0.0.0 --port 3000

ループバック以外にバインドする場合、--allowed-hosts は Host ヘッダーを制限します(DNS リバインディング対策)。--auth-token より MCP_AUTH_TOKEN の使用を推奨します。コマンドライン引数はプロセス一覧から見えるためです。

Stdio トランスポートでは、起動時に必ず API キーが必要です。

重要:API キーが必要です

警告: 有効な API キーを指定せずにリクエストを送信した場合、または正しくない API キーを指定した場合、Crypto APIs エコシステムから IP が BAN される可能性があります。サーバーを起動する前に、有効な API キーが設定されていることを必ず確認してください。

リモート MCP サーバー

Crypto APIs は、https://ai.cryptoapis.io/mcp で、HTTP Streamable トランスポート経由ですべてのツールを利用できる公式リモート MCP サーバーを提供しています。API キーは x-api-key ヘッダー経由で渡してください。インストールは不要です。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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