Web3 MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows checking address balances, viewing transaction history, validating addresses, and getting network info and fees for Bitcoin.

  • Enables checking address balances, viewing transaction history, validating addresses, and getting network info and fees for Bitcoin Cash.

  • Provides network information, address balances, transaction history, UTxO viewing, stake pool exploration, native asset details, transaction details, and current epoch statistics for Cardano blockchain.

Web3 MCP

Solana、Ethereum、THORChain、XRP Ledger、TON(The Open Network)、Cardano、UTXOチェーンなど、複数のブロックチェーンと連携するためのモデル・コンテキスト・プロトコル(MCP)サーバーです。このサーバーは、一般的なブロックチェーン操作のためのシンプルなRPCエンドポイントを提供し、環境変数を介して様々なブロックチェーンとの安全な連携を可能にします。

特徴

Solana オペレーション:

  • SOLアカウント残高を確認する
  • 詳細なアカウント情報を取得する
  • アカウント間でSOLを転送する
  • SPLトークンの残高を見る
  • 秘密鍵からウォレットアドレスを取得する
  • Jupiterを使用してトークンをスワップする(すべてのSolana DEX間で最安価格ルーティング)

イーサリアムとEVMチェーンの運用:

  • 複数のネットワークにわたるネイティブトークンの残高を確認する
  • ERC-20トークンの残高を確認する
  • ネイティブ トークンを送信する (.env の秘密鍵を使用)
  • ERC-20トークンを送信する(.envの秘密鍵を使用)
  • ERC-20トークンの支出を承認する(.envの秘密鍵を使用)

カルダノオペレーション:

  • ネットワーク情報と統計を取得する
  • アドレス残高と取引履歴を確認する
  • アドレスのUTxOを表示する
  • ステークプールと委任情報を確認する
  • ネイティブアセットの詳細を取得する
  • 詳細な取引情報を表示する
  • 現在のエポックに関する統計情報を取得する

THORChainオペレーション:

  • RUNE残高を確認する
  • プールの詳細情報を取得する
  • サポートされている資産間のスワップ相場を取得します
  • THORChainプロトコルによるクロスチェーンスワップ

UTXOチェーン操作:

  • ビットコイン(BTC)
    • アドレス残高を確認する
    • 取引履歴を表示する
    • 住所を検証する
    • ネットワーク情報と料金を取得する
  • ライトコイン(LTC)
    • アドレス残高を確認する
    • 取引履歴を表示する
    • 住所を検証する
    • ネットワーク情報と料金を取得する
  • ドージコイン(DOGE)
    • アドレス残高を確認する
    • 取引履歴を表示する
    • 住所を検証する
    • ネットワーク情報と料金を取得する
  • ビットコインキャッシュ(BCH)
    • アドレス残高を確認する
    • 取引履歴を表示する
    • 住所を検証する
    • ネットワーク情報と料金を取得する

XRP元帳操作:

  • XRPアカウント残高を確認する
  • 取引履歴を表示する
  • XRPアドレスを検証する
  • XRPを別のアドレスに送信する
  • 現在のXRP Ledger情報を取得する
  • トークン残高を確認する
  • トークンの信頼ラインを作成する

TON(オープンネットワーク)運用:

  • TONアカウント残高を取得する
  • 取引履歴を表示する
  • TONアドレスを検証する
  • オプションのメモ/コメントを付けてTONを別のアドレスに送信する
  • 現在のTONネットワーク情報を取得する

サポートされている EVM ネットワーク:

  • イーサリアム
  • ベース
  • 仲裁
  • 楽観
  • BSC(バイナンススマートチェーン)
  • ポリゴン
  • 雪崩
  • ベラチェーン

設定

  1. 依存関係をクローンしてインストールします。
git clone https://github.com/strangelove-ventures/web3-mcp.git cd web3-mcp npm install
  1. ルート ディレクトリに .env ファイルを作成します。
cp .env.example .env
  1. .env で環境変数を設定します。

必要な構成

# Tool Registration Controls ENABLE_SOLANA_TOOLS=true # Enable/disable Solana tools ENABLE_ETHEREUM_TOOLS=true # Enable/disable Ethereum and EVM chain tools ENABLE_CARDANO_TOOLS=true # Enable/disable Cardano tools # UTXO Chain Tools ENABLE_BITCOIN_TOOLS=true # Enable/disable Bitcoin tools ENABLE_LITECOIN_TOOLS=true # Enable/disable Litecoin tools ENABLE_DOGECOIN_TOOLS=true # Enable/disable Dogecoin tools ENABLE_BITCOINCASH_TOOLS=true # Enable/disable Bitcoin Cash tools ENABLE_THORCHAIN_TOOLS=true # Enable/disable THORChain tools ENABLE_RIPPLE_TOOLS=true # Enable/disable XRP Ledger tools ENABLE_TON_TOOLS=true # Enable/disable TON tools # Private Keys (required for transactions) ETH_PRIVATE_KEY=your-ethereum-private-key SOLANA_PRIVATE_KEY=your-base58-encoded-solana-private-key # XRP Ledger credentials (required for XRP transactions) # Either private key or mnemonic is required XRP_PRIVATE_KEY=your-xrp-private-key-in-hex # OR XRP_MNEMONIC=your-xrp-mnemonic-recovery-phrase # Optional - used to verify the derived address XRP_ADDRESS=your-xrp-account-address # TON Configuration TON_MNEMONIC=word1 word2 word3 ... word24 # 24-word recovery phrase for TON wallet TON_ADDRESS=your-ton-wallet-address # Your TON wallet address TON_API_KEY=your-toncenter-api-key # Get from @tonapibot on Telegram (optional but recommended) TON_RPC_URL=https://toncenter.com/api/v2/jsonRPC # Optional - default is TON Center API # Cardano Configuration BLOCKFROST_API_KEY=your-blockfrost-api-key # Get a real API key from https://blockfrost.io/ CARDANO_NETWORK=mainnet # or 'testnet', 'preview', 'preprod' CARDANO_MNEMONIC=your-cardano-mnemonic-phrase # Required for transaction signing CARDANO_ACCOUNT_INDEX=0 # Optional - defaults to 0

オプション構成

# Network RPC URLs (optional - will use public endpoints if not specified) SOLANA_RPC_URL=https://api.mainnet-beta.solana.com # Ethereum & Layer 2s ETH_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/your-api-key ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc BASE_RPC_URL=https://mainnet.base.org OPTIMISM_RPC_URL=https://mainnet.optimism.io # Other EVM Chains BSC_RPC_URL=https://bsc-dataseed.binance.org POLYGON_RPC_URL=https://polygon-rpc.com AVALANCHE_RPC_URL=https://api.avax.network/ext/bc/C/rpc BERACHAIN_RPC_URL=https://rpc.berachain.com # XRP Ledger XRP_RPC_URL=https://xrplcluster.com/ # Optional - will use public endpoint if not specified # TON Network TON_RPC_URL=https://toncenter.com/api/v2/jsonRPC # Optional - default is TON Center API TON_API_KEY=your-toncenter-api-key # Get from @tonapibot on Telegram (optional but recommended) # THORChain Configuration THORCHAIN_NODE_URL=https://thornode.ninerealms.com # Optional - will use public endpoint if not specified THORCHAIN_PRIVATE_KEY=your-thorchain-private-key THORCHAIN_MNEMONIC=your-thorchain-mnemonic # UTXO Chain API Keys (optional) BLOCKCYPHER_API_KEY=your-blockcypher-api-key SOCHAIN_API_KEY=your-sochain-api-key
  1. ツールをビルドします。
npm run build
  1. ツールを claude_desktop_config.json に追加します。
{ "mcpServers": { "web3-rpc": { "command": "node", "args": [ "/PATH/TO/web3-mcp/build/index.js" ] } } }

ツール登録

Web3 MCP サーバーでは、環境変数を通じて登録されるブロックチェーン ツールを制御できます。

  • ENABLE_SOLANA_TOOLS : Solanaツールを有効/無効にする
  • ENABLE_ETHEREUM_TOOLS : Ethereum および EVM チェーンツールを有効/無効にする
  • ENABLE_BITCOIN_TOOLS : Bitcoinツールを有効/無効にする
  • ENABLE_LITECOIN_TOOLS : Litecoinツールを有効/無効にする
  • ENABLE_DOGECOIN_TOOLS : Dogecoin ツールを有効/無効にする
  • ENABLE_BITCOINCASH_TOOLS : Bitcoin Cashツールを有効/無効にする
  • ENABLE_THORCHAIN_TOOLS : THORChainツールを有効/無効にする
  • ENABLE_RIPPLE_TOOLS : XRP Ledgerツールを有効/無効にする
  • ENABLE_CARDANO_TOOLS : Cardanoツールを有効/無効にする
  • ENABLE_TON_TOOLS : TONツールを有効/無効にする

.envファイルでこれらの変数をtrueまたはfalseに設定することで、サーバーで利用可能なツールを制御できます。これにより、以下のことが可能になります。

  • 必要なツールのみをロードすることで起動時間を短縮
  • 未使用のチェーンを無効にしてセキュリティサーフェスエリアを最小限に抑える
  • 特定のユースケースに合わせてサーバーをカスタマイズする
  • アクティブな接続を制限してリソースの使用を制御する

使用例

Claude (または選択した MCP クライアント) に問い合わせてください。

Solana 操作 (ENABLE_SOLANA_TOOLS=true の場合)

  • 「私のSolanaアドレスは何ですか?」 - .env内の秘密鍵から導出されたアドレスを表示します
  • 「62QXuWZ3WT6ws1ZFxJobVDVXn6bEsiYpLo5yG612U6u3の残高はいくらですか?」
  • 「0.001 SOLをCg6cVS4tjkxHthm3K9BHhmvqF7kSz8GnXqqYXnHBzGXdに送金する」
  • 「SPLトークンの残高を見せてください」
  • 「0.1 SOLをUSDCにスワップ」(最安価格ルーティングにJupiterを使用)

EVM 操作 (ENABLE_ETHEREUM_TOOLS=true の場合)

  • 「0x556437c4d22ceaeebf82006b85bdcc0ae67d933 の ETH 残高はいくらですか?」
  • 「イーサリアムのUSDC残高0x556437c4d22ceaeebf82006b85bdcc0ae67d933を確認してください」
  • 「0.1 ETHを0x556437c4d22ceaeebf82006b85bdcc0ae67d933に送信」
  • 「Arbitrumの現在のガス価格はいくらですか?」
  • 「Polygon の 0x556437c4d22ceaeebf82006b85bdcc0ae67d933 に 100 USDC を送信します」

Cardano操作(ENABLE_CARDANO_TOOLS=trueの場合)

  • あらゆるCardanoの残高を取得する
  • ウォレット情報を表示する
  • ADAを別の住所に送る
  • ネイティブトークンを別のアドレスに送信する

ビットコイン操作(ENABLE_BITCOIN_TOOLS=trueの場合)

  • 「1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa のBTC残高はいくらですか?」
  • 「bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlhの取引履歴を表示してください」
  • 「このビットコインアドレスを検証してください: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa」

ライトコイン操作(ENABLE_LITECOIN_TOOLS=trueの場合)

  • 「LM2WMpR1Rp6j3Sa59cMXMs1SPzj9eXpGc1 の LTC 残高はいくらですか?」
  • 「このライトコインアドレスの取引履歴を表示してください」
  • 「現在のライトコインネットワーク手数料はいくらですか?」

Dogecoin 操作 (ENABLE_DOGECOIN_TOOLS=true の場合)

  • 「このDOGEアドレスの残高を確認してください:D8vFz4p1L37jdg47HXKtSHA5uYLYxbGgPD」
  • 「最近のDogecoin取引を表示」
  • 「現在のDOGEネットワーク手数料はいくらですか?」

Bitcoin Cash 操作 (ENABLE_BITCOINCASH_TOOLS=true の場合)

  • 「このアドレスのBCH残高はいくらですか?」
  • 「BCHの取引履歴を見せてください」
  • 「このビットコインキャッシュアドレスを検証する」

THORChain 操作 (ENABLE_THORCHAIN_TOOLS=true の場合)

  • 「thor13zpdckczd0jvyhwxmrwnpap8gmy9m5kk2gzum3 の RUNE 残高はいくらですか?」
  • 「BTC.BTCのプール情報を表示してください」
  • 「0.1 BTC.BTCからETH.ETHへのスワップ見積もりを取得」

XRP元帳操作(ENABLE_RIPPLE_TOOLS=trueの場合)

  • 「rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe の XRP 残高はいくらですか?」
  • 「rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYeの取引履歴を表示してください」
  • 「rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYeは有効なXRPアドレスですか?」
  • 「10 XRPをrPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYeに送信してください」
  • 「現在のXRP Ledger情報は何ですか?」
  • 「rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYeのトークン残高を表示」
  • 「発行者 rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe の USD のトラストラインを 1000 の制限付きで作成します」

TON 操作 (ENABLE_TON_TOOLS=true の場合)

  • 「EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZのTON残高はいくらですか?」
  • 「EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZの取引履歴を表示してください」
  • 「UQD0BRQt-QdIEbsjuRsMqzDlBkUAEfQixShDECoKEOXRc4eR は有効な TON アドレスですか?」
  • 「EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZに0.1トンを送る」
  • 「0.01 TONをUQD0BRQt-QdIEbsjuRsMqzDlBkUAEfQixShDECoKEOXRc4eRに「テスト支払い」というコメントを付けて送信してください」
  • 「現在のTONネットワーク情報は何ですか?」

セキュリティノート

  1. 環境変数: すべての秘密鍵は.envファイルに保存され、会話履歴に公開されることはありません。
  2. 秘密鍵: 少額の資金が入っているテストウォレットでのみ使用してください
  3. RPC エンドポイント: 信頼性とレート制限を向上させるために、.env ファイルでカスタム RPC エンドポイントを設定できます。
  4. .env セキュリティ: .env ファイルは、秘密鍵の偶発的な漏洩を防ぐため、git によって自動的に無視されます。
  5. ツール登録: ツール登録コントロールを使用して、必要なチェーンのみを有効にすることでセキュリティサーフェス領域を最小限に抑えます。

詳細設定

カスタム RPC エンドポイント

.env ファイルでカスタム RPC エンドポイントを設定することで、信頼性とレート制限を高めることができます。指定されていない場合は、ツールはパブリック RPC エンドポイントにフォールバックします。

ネットワーク選択

EVM操作では、ネットワーク名(ethereum、base、arbitrum、optimism、bsc、polygon、avalanche、berachain)を指定できます。ツールは適切なRPCエンドポイントとネットワーク設定を自動的に使用します。

カルダノの設定

このツールは、Blockfrost API と Lucid ライブラリを使用して、Cardano ブロックチェーンと対話します。

  • BLOCKFROST_API_KEY : 必須 - Blockfrost API キー ( https://blockfrost.io/で登録)
  • CARDANO_NETWORK : オプション - 使用するCardanoネットワーク(メインネット、テストネット、プレビュー、プレプロダクション)。デフォルトは「メインネット」
  • CARDANO_MNEMONIC : トランザクションに必須 - Cardanoウォレットのニーモニックフレーズ(15または24語)
  • CARDANO_ACCOUNT_INDEX : オプション - 使用するアカウントインデックス(デフォルトは0)

ニーモニックから派生したウォレットは、トランザクションの署名と送信に使用されます。

THORChain 構成

このツールはデフォルトで Nine Realms パブリック エンドポイントを使用しますが、信頼性とレート制限を向上させるために、.env ファイルでカスタム THORChain ノード URL を構成できます。

XRP元帳の設定

このツールは、XRPトランザクションに秘密鍵またはニーモニックフレーズのいずれかを使用できます。.envファイルでこれらを設定してください。

  • XRP_PRIVATE_KEY : 16進形式のXRP秘密鍵
  • XRP_MNEMONIC : 秘密鍵の代替 - 12語のリカバリフレーズ
  • XRP_ADDRESS : オプション - XRPアカウントアドレス(派生アドレスの検証に使用)
  • XRP_RPC_URL : オプション - カスタム XRP 元帳ノード URL (デフォルトはパブリックエンドポイント)

TON 構成

このツールはデフォルトでTON CenterのAPIを使用し、TONトランザクション用のニーモニックフレーズが必要です。.envファイルで以下の設定を行ってください。

  • TON_MNEMONIC : 必須 - TONウォレットの24語の回復フレーズ
  • TON_ADDRESS : 必須 - TONウォレットアドレス
  • TON_API_KEY : 推奨 - Telegram の @tonapibot からの API キー (レート制限を高くするため)
  • TON_RPC_URL : オプション - カスタム TON RPC URL (デフォルトは TON Center API)

実装には、レート制限処理のための指数バックオフを備えた自動再試行ロジックが含まれています。

UTXOチェーンデータプロバイダー

このツールは、UTXO チェーンにいくつかのデータ プロバイダーを使用します。

  • ブロックサイファー
  • ソチェーン
  • Haskoin(ビットコインキャッシュ用)

レート制限をより適切に設定するために、.env ファイルでこれらのプロバイダーの API キーを設定できます。

発達

ツールを変更または拡張するには:

  1. ソースコードはsrcディレクトリにあります
  2. src/chains内のチェーン固有のコード
  3. 変更を加えたらnpm run build実行します。
  4. すべての新しいコードにTypeScriptを使用する

貢献

貢献を歓迎します!改善点やバグ修正があればプルリクエストを送信してください。

ライセンス

ISCライセンス

ID: an8x6gmzdn