mcp-prepare-transactions について
mcp-prepare-transactions は、Crypto APIs を利用して複数のブロックチェーンやトークン規格の未署名送金を準備する MCP サーバーです。取引データを用意し、ローカルで署名するクライアント向けです。
主な機能
- 01EVM のネイティブ通貨、ERC-20、ERC-721送金
- 02Tezos の XTZ、FA1.2、FA2送金
- 03Solana の SOL、SPL送金
- 04Kaspa、XRP、複数の UTXO 送金
- 05Tron のネイティブ通貨、TRC-20、NFT送金
- 06ローカル署名用の未署名データ出力
活用シーン
- 01EVM 資産の未署名送金取引の準備
- 02Solana または Tezos のトークン送金操作の準備
- 03複数宛先に対応する Kaspa または UTXO 送金の作成
- 04Tron のトークンや NFT 送金データの生成
MCP 対応
MCP サーバーは、EVM、Tezos、Solana、Kaspa、XRP、UTXO、Tron の未署名取引を作成するツールをクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| value | string | いいえ | ネイティブコインの最小単位での金額(例:wei)(prepare-transaction-from-address で必須) |
| action | enum | はい | 実行する操作prepare-transaction-from-address | prepare-fungible-token-transfer | prepare-nft-transfer |
| amount | string | いいえ | 送金するトークン数量(prepare-fungible-token-transfer で必須) |
| context | string | いいえ | リクエストの任意のコンテキスト。レスポンスでそのまま返されます |
| network | enum | はい | ネットワーク名mainnet | mordor | testnet | nile | sepolia | amoy | fuji |
| tokenId | string | いいえ | NFT トークン ID(prepare-nft-transfer で必須) |
| gasLimit | string | いいえ | カスタム gas 上限の上書き値(prepare-transaction-from-address のみ。省略時は自動推定) |
| gasPrice | string | いいえ | wei 単位のカスタム gas 価格(prepare-transaction-from-address のみ。省略時は自動推定) |
| toAddress | string | いいえ | 受取人アドレス(すべてのアクションで必須) |
| blockchain | enum | はい | ブロックチェーンプロトコルethereum | ethereum-classic | binance-smart-chain | tron | polygon | avalanche | arbitrum | base | optimism |
| fromAddress | string | いいえ | 送信元アドレス(すべてのアクションで必須) |
| contractAddress | string | いいえ | トークンコントラクトアドレス(prepare-fungible-token-transfer と prepare-nft-transfer で必須) |
詳細
@cryptoapis-io/mcp-prepare-transactions
Crypto APIs の Prepare Transactions 製品向け MCP サーバーです。EVM、Tezos、Solana、Kaspa、XRP、UTXO、Tron の未署名トランザクションを作成します。
API バージョン: Crypto APIs バージョン 2024-12-12 と互換性があります
機能
- EVM のネイティブコイン、ERC-20 代替可能トークン、ERC-721 NFT の送金トランザクションを作成します
- ネイティブ Tezos(XTZ)、FA1.2、FA2 トークンの送金オペレーションを作成します
- Solana でネイティブ SOL と SPL トークンの送金トランザクションを作成します
- Kaspa で複数の送金先に対応したネイティブ KAS の送金を作成します
- ネイティブ XRP の送金を作成します
- 6 つの UTXO チェーン(Bitcoin、Bitcoin Cash、Litecoin、Dogecoin、Dash、Zcash)でネイティブコインの送金を作成します
- Tron 専用の prepare-transactions エンドポイントを使って、ネイティブ TRX、TRC-20、NFT の送金を作成します
- ローカル署名にそのまま使用できる未署名トランザクションデータを返します
前提条件
- Node.js 18+
- Crypto APIs アカウントと API キー(登録 | API キーを取得)
インストール
npm install @cryptoapis-io/mcp-prepare-transactions
または、すべての Crypto APIs MCP サーバーをインストールします:npm install @cryptoapis-io/mcp
使用方法
# Run with API key
npx @cryptoapis-io/mcp-prepare-transactions --api-key YOUR_API_KEY
# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-prepare-transactions
# HTTP transport (listens on 127.0.0.1; see "Exposing the server beyond localhost")
npx @cryptoapis-io/mcp-prepare-transactions --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-prepare-transactions": {
"command": "npx",
"args": ["-y", "@cryptoapis-io/mcp-prepare-transactions"],
"env": {
"CRYPTOAPIS_API_KEY": "your_api_key_here"
}
}
}
}
Cursor
.cursor/mcp.json(プロジェクト)または ~/.cursor/mcp.json(グローバル)に追加します:
{
"mcpServers": {
"cryptoapis-prepare-transactions": {
"command": "npx",
"args": ["-y", "@cryptoapis-io/mcp-prepare-transactions"],
"env": {
"CRYPTOAPIS_API_KEY": "your_api_key_here"
}
}
}
}
MCP Inspector
npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-prepare-transactions --api-key YOUR_API_KEY
n8n
- HTTP モードでサーバーを起動します:
npx @cryptoapis-io/mcp-prepare-transactions --transport http --port 3000 --api-key YOUR_API_KEY - n8n ワークフローに AI Agent ノードを追加します
- 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を使って異なるポートを割り当ててください。
利用可能なツール
prepare_transactions_evm
未署名の EVM トランザクションを作成します。
| Action | Description |
|---|---|
prepare-transaction-from-address | アドレスからのネイティブコイン送金を作成します |
prepare-fungible-token-transfer | ERC-20 トークンの送金を作成します |
prepare-nft-transfer | ERC-721 NFT の送金を作成します |
prepare_transactions_tezos
未署名の Tezos オペレーションを作成します(mainnet、shadownet)。
| Action | Description |
|---|---|
native-coins | ネイティブ XTZ の送金を作成します |
fa1-2-tokens | FA1.2 トークンの送金を作成します |
fa2-tokens | FA2 トークンの送金を作成します |
prepare_transactions_solana
未署名の Solana トランザクションを作成します(mainnet、devnet)。
| Action | Description |
|---|---|
native-coins | ネイティブ SOL の送金を作成します |
spl-tokens | SPL トークンの送金を作成します |
prepare_transactions_kaspa
未署名の Kaspa トランザクションを作成します(mainnet のみ)。
| Action | Description |
|---|---|
native-coins | 1 つのトランザクションで複数の送金先に対応する、ネイティブ KAS の送金を作成します |
prepare_transactions_xrp
未署名の XRP トランザクションを作成します(mainnet、testnet)。
| Action | Description |
|---|---|
native-coins | ネイティブ XRP の送金を作成します |
prepare_transactions_utxo
未署名の UTXO トランザクションを作成します(Bitcoin、Bitcoin Cash、Litecoin、Dogecoin、Dash、Zcash。mainnet、testnet)。
| Action | Description |
|---|---|
native-coins | 複数の送金先に対応するネイティブコインの送金を作成します。feePriority または exactFee が必要です |
prepare_transactions_tron
Tron 専用のトランザクション準備エンドポイント(mainnet、nile)を使用して、署名なしの Tron トランザクションを準備します。
| アクション | 説明 |
|---|---|
native-coins | ネイティブ TRX の送金を準備します |
trc20-tokens | TRC-20 トークンの送金を準備します |
non-fungible-tokens | TRC-721/TRC-1155 NFT の送金を準備します |
CLI 引数
| 引数 | 説明 | デフォルト |
|---|---|---|
--api-key | Crypto APIs API キー | CRYPTOAPIS_API_KEY 環境変数 |
--transport | トランスポートの種類:stdio または http | stdio |
--host | HTTP ホスト(リモート接続を受け入れるには 0.0.0.0 を使用します。--api-key による認証トークンが必要です) | 127.0.0.1 |
--auth-token | 呼び出し元が送信する必要のあるベアラートークン(Authorization: Bearer <token>)。MCP_AUTH_TOKEN 環境変数の使用を推奨します | MCP_AUTH_TOKEN 環境変数 |
--allowed-hosts | ループバック以外にバインドする場合の、カンマ区切りの Host ヘッダー許可リスト | — |
--port | HTTP ポート | 3000 |
--path | HTTP パス | /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-prepare-transactions --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-prepare-transactions --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-prepare-transactions --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 アドレスが禁止される可能性があります。サーバーを起動する前に、有効な API キーが設定されていることを必ず確認してください。
リモート MCP サーバー
Crypto APIs は、https://ai.cryptoapis.io/mcp で、すべてのツールを HTTP Streamable トランスポート経由で利用できる公式リモート MCP サーバーを提供しています。x-api-key ヘッダーで API キーを渡してください。インストールは不要です。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。