🚀 Grove MCP Server
Model Context Protocol (MCP) サーバーは、Groveの公開エンドポイントを介して 70以上のネットワーク のブロックチェーンデータにアクセスできます。
これはスタンドアロンのCLIではなく、Claude Desktop、Claude Code CLI、またはMCP InspectorなどのMCPクライアントが必要です。
自然言語クエリ、トークン分析、トランザクション検査、ドメイン解決、およびマルチチェーン比較を使用して、Claudeをブロックチェーン分析ツールに変えます。
⚠️ 重要提示
デフォルトではGroveの無料公開RPCエンドポイントを使用します(レート制限が適用される場合があります)。https://grove.city/public-endpoints を参照してください。より高いレート制限が必要な場合は、GROVE_APP_ID
を設定してください(portal.grove.city で取得できます)。
🚀 クイックスタート
前提条件: Node.js 18+ と npm
-
インストールとビルド:
npm install
npm run build
-
オプション: GROVE_APP_ID
を設定する (より高いレート制限を得るため):
export GROVE_APP_ID=your_app_id
デフォルトでは公開エンドポイントを使用します(レート制限が適用される場合があります)。portal.grove.city で取得してください。
-
MCPクライアントを設定する:
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"grove": {
"command": "node",
"args": ["/absolute/path/to/mcp-grove/dist/index.js"]
}
}
}
Claude Code CLI:
claude mcp add grove node /absolute/path/to/mcp-grove/dist/index.js
MCP Inspector (テスト用):
npx @modelcontextprotocol/inspector node dist/index.js
-
クライアントを再起動してクエリを開始する:
"Get the balance of vitalik.eth"
"Compare balances for 0x... across all EVM chains"
"What's the current gas price on Ethereum?"
✨ 主な機能
コアブロックチェーンアクセス
- 70以上のネットワーク: Ethereum、Polygon、Arbitrum、Optimism、Base、Solana、NEAR、Suiなど
- 自然言語クエリ: "get the latest height for ethereum" → 直接結果を取得
- 無料公開アクセス: APIキーは不要(レート制限が適用される場合があります)
- オプションのレート制限回避:
GROVE_APP_ID
を設定すると、より高い制限が適用されます
- ライブJSON-RPC: 任意のブロックチェーンRPCメソッドを直接実行できます
💡 使用建议
GROVE_APP_ID
を一度設定すると、すべてのチェーン(EVM、Solana、Cosmos、Sui)に適用されます。
チェーン固有の機能
EVMチェーン:
- ドメイン解決: ENS (.eth) ↔ アドレス、Unstoppable Domains (.crypto, .nftなど)
- トランザクション分析: 完全な詳細、レシート、ガス推定
- トークン操作: ERC-20残高、メタデータ(名前、シンボル、小数点以下桁数、供給量)
- マルチチェーン分析: すべてのEVMチェーンでの残高を比較
- ブロック探索: 詳細なブロックデータ、イベントログ検索
- スマートコントラクト: 読み取り専用のコントラクト呼び出し
- 履歴クエリ: 任意のブロック高での残高チェック
- ユーティリティ: 単位変換(wei/gwei/eth)、アドレス検証、16進デコード
Solana:
- SPLトークン: 残高とメタデータ
- トランザクション: コンピュートユニットと手数料を含む完全な詳細
- 優先手数料: リアルタイムの手数料推定
- アカウントデータ: プログラムアカウント、実行可能ステータス、データ所有者
Sui:
- 残高とコイン: SUI残高、すべてのコイン残高、ページネーション
- オブジェクト: 詳細、所有オブジェクト、タイプ/内容表示
- トランザクション: ブロック、クエリ、イベント
- ガス: 参照価格、チェックポイント
Cosmos SDK:
- マルチデノミ残高: ネイティブトークンとIBCアセット
- ステーキング: 委任、バリデータ、報酬
- ガバナンス: 提案、投票
- IBCサポート: REST APIを介したクロスチェーンクエリ
📦 インストール
完全なセットアップ手順については、CLAUDE_DESKTOP_SETUP.md を参照してください。
手動セットアップ
git clone https://github.com/buildwithgrove/mcp-grove.git
cd mcp-grove
npm install
npm run build
💻 使用例
利用可能なツール
EVM、Solana、およびCosmosチェーンのブロックチェーン分析に40以上の専用ツールが用意されています:
コアブロックチェーンツール (5つのツール)
query_blockchain
- 自然言語クエリ (例: "get the latest height for ethereum")
list_blockchain_services
- すべての 70以上の利用可能なネットワーク をリストする
get_blockchain_service
- ブロックチェーンの詳細とサポートされるメソッドを取得する
call_rpc_method
- 任意のJSON-RPCメソッドを直接呼び出す
get_supported_methods
- ブロックチェーンのすべての利用可能なRPCメソッドを取得する
ドメイン解決 (3つのツール)
resolve_domain
- ENS (.eth) またはUnstoppable Domains (.crypto, .nftなど) を解決する
reverse_resolve_domain
- イーサリアムアドレスをENS名に逆解決する
get_domain_records
- ENSテキストレコード(アバター、メール、URL、Twitter、GitHubなど)を取得する
トランザクションとブロックツール (5つのツール)
get_transaction
- ハッシュでトランザクションの詳細を取得する
get_transaction_receipt
- ステータス、使用されたガス、ログ、イベントを含むレシートを取得する
estimate_gas
- トランザクションに必要なガスを推定する
get_block_details
- オプションの完全なトランザクションリストを含むブロック情報を取得する
search_logs
- アドレス、トピック、ブロック範囲でイベントログを検索する
トークンツール (2つのツール)
get_token_balance
- ERC-20トークンの残高を取得する
get_token_metadata
- トークンの名前、シンボル、小数点以下桁数、総供給量を取得する
マルチチェーンと履歴分析 (3つのツール)
compare_balances
- すべてのEVMチェーンでのネイティブ残高を比較する
get_historical_balance
- 特定のブロック高での残高を取得する
get_gas_price
- gwei/eth変換を含む現在のガス価格を取得する
スマートコントラクトツール (1つのツール)
call_contract_view
- 読み取り専用のコントラクト関数を実行する
ユーティリティツール (3つのツール)
convert_units
- wei、gwei、およびethの間で変換する
validate_address
- アドレス形式(EVM/Solana/Cosmos)を検証する
decode_hex
- 16進文字列からUTF-8、ASCII、バイト配列にデコードする
エンドポイント管理 (5つのツール)
list_endpoints
- すべてのエンドポイントをリストする (カテゴリでフィルタリング可能)
get_endpoint_details
- エンドポイントの詳細を取得する
call_endpoint
- カスタムパラメータでエンドポイントを実行する
list_categories
- エンドポイントカテゴリをリストする
add_endpoint
- 実行時に新しいエンドポイントを追加する
Solanaツール (11つのツール)
SPLトークン:
get_solana_token_balance
- SPLトークンの残高を取得する
get_solana_token_metadata
- トークンの小数点以下桁数、供給量、権限を取得する
アカウントと残高:
get_solana_balance
- lamports/SOL変換を含むSOL残高を取得する
get_solana_account_info
- アカウントデータ、所有者、実行可能ステータスを取得する
ブロックとトランザクション:
get_solana_block
- オプションの完全なトランザクションリストを含むブロックを取得する
get_solana_transaction
- 署名でトランザクションの詳細を取得する
get_solana_signatures
- トランザクション履歴を取得する
手数料:
get_solana_prioritization_fees
- 最近の優先手数料を取得する
get_solana_fee_for_message
- シリアル化されたメッセージの手数料を推定する
ネットワークとプログラム:
get_solana_block_height
- 現在のブロック高を取得する
get_solana_program_accounts
- プログラムが所有するアカウントをリストする
Suiツール (11つのツール)
残高とコイン:
get_sui_balance
- SUI残高を取得する
get_sui_all_balances
- すべてのコイン残高を取得する
get_sui_coins
- タイプでコインをページネートする
オブジェクト:
get_sui_object
- オブジェクトの詳細を取得する
get_sui_owned_objects
- 所有オブジェクトをリストする
トランザクション:
get_sui_transaction
- ダイジェストでトランザクションブロックを取得する
query_sui_transactions
- フィルターを使用してトランザクションをクエリする
イベントとチェーン:
query_sui_events
- フィルターを使用してイベントをクエリする
get_sui_latest_checkpoint
- 最新のチェックポイントを取得する
get_sui_checkpoint
- IDでチェックポイントを取得する
Cosmos SDKツール
アカウントと残高:
get_cosmos_balance
- デノミネーションの残高を取得する
get_cosmos_all_balances
- すべてのトークン残高を取得する
get_cosmos_account
- アカウント情報(シーケンス、番号)を取得する
ステーキング:
get_cosmos_delegations
-委任を取得する
get_cosmos_validators
- バリデータをリストする
get_cosmos_validator
- バリデータの詳細を取得する
get_cosmos_rewards
- ステーキング報酬を取得する
トランザクション:
get_cosmos_transaction
- ハッシュでトランザクションを取得する
search_cosmos_transactions
- イベントでトランザクションを検索する
ガバナンス:
get_cosmos_proposals
- 提案を取得する(ステータスでフィルタリング可能)
get_cosmos_proposal
- 提案の詳細を取得する
get_cosmos_proposal_votes
- 提案の投票を取得する
ブロック:
get_cosmos_latest_block
- 最新のブロックを取得する
get_cosmos_block
- 高さでブロックを取得する
チェーン情報:
get_cosmos_params
- チェーンパラメータを取得する
ドキュメント (3つのツール)
get_doc_page
- docs.grove.city からドキュメントページを取得する
get_endpoint_docs
- エンドポイントのドキュメントを取得する
search_docs
- Groveのドキュメントを検索する
新しいブロックチェーンの拡張
src/config/blockchain-services.json
を編集することで、新しいブロックチェーンネットワークを追加できます:
{
"id": "newchain-mainnet",
"name": "New Chain Mainnet",
"blockchain": "newchain",
"network": "mainnet",
"rpcUrl": "https://newchain.rpc.grove.city/v1/01fdb492",
"protocol": "json-rpc",
"category": "evm",
"supportedMethods": [
{
"name": "eth_blockNumber",
"description": "Returns the latest block number",
"params": [],
"category": "block"
}
]
}
その後、再ビルド (npm run build
) してMCPクライアントを再起動してください。
詳細については、EXTENDING.md を参照してください。
🔧 技術詳細
src/
├── index.ts # MCPサーバーのエントリポイント (40以上のツール)
├── types.ts # TypeScriptの型定義
├── config/
│ ├── blockchain-services.json # 70のブロックチェーンネットワーク構成
│ └── endpoints.json # HTTPエンドポイント構成
├── handlers/ # 機能別に整理されたツールハンドラー
│ ├── blockchain-handlers.ts # コアブロックチェーンツール
│ ├── domain-handlers.ts # ENSとドメイン解決
│ ├── transaction-handlers.ts # トランザクションとブロックツール
│ ├── token-handlers.ts # ERC-20トークンツール
│ ├── multichain-handlers.ts # マルチチェーン比較
│ ├── contract-handlers.ts # スマートコントラクトの相互作用
│ ├── utility-handlers.ts # 変換と検証ユーティリティ
│ ├── endpoint-handlers.ts # HTTPエンドポイント管理
│ ├── solana-handlers.ts # Solana固有のツール
│ ├── cosmos-handlers.ts # Cosmos SDKツール
│ ├── sui-handlers.ts # Suiブロックチェーンツール
│ └── docs-handlers.ts # ドキュメントツール
└── services/
├── blockchain-service.ts # コアRPC呼び出しと自然言語クエリ
├── advanced-blockchain-service.ts # EVM: トランザクション、トークン、ブロック、ユーティリティ
├── solana-service.ts # Solana: SPLトークン、アカウント、トランザクション、手数料
├── sui-service.ts # Sui: 残高、コイン、オブジェクト、トランザクション、チェックポイント
├── cosmos-service.ts # Cosmos SDK: ステーキング、ガバナンス、IBC
├── domain-resolver.ts # ENSとUnstoppable Domainsの解決
├── endpoint-manager.ts # 汎用HTTPエンドポイントマネージャー
└── docs-manager.ts # ドキュメントの取得
開発
ビルド:
npm run build
ウォッチモード:
npm run watch
テスト:
npm test
npm run test:watch
npm run test:ui
npm run test:coverage
スモークテスト (チェーンタイプ全体のエンドツーエンドテスト):
npm run build
npm run smoke
EVM (Ethereum、Polygon、Base)、Solana、Sui、Cosmos (Osmosis、Persistence)、およびRadixをテストします。
サポートされるブロックチェーン
Groveの公開エンドポイントを介して 70のブロックチェーンネットワーク が利用可能です:
EVMチェーン:
Ethereum、Polygon、BSC、Avalanche、Gnosis、Celo、Fantom、Harmony、Moonbeam、Moonriver、Fuse、IoTeX、Oasys、Kaia、Berachain、Sonic、Ink、XRPL EVM
レイヤー2ソリューション:
Arbitrum、Optimism、Base、zkSync Era、zkLink Nova、Scroll、Linea、Mantle、Blast、Boba、Metis、Taiko、Unichain、opBNB、Fraxtal、Polygon zkEVM
Cosmosエコシステム:
Osmosis、Juno、Akash、Kava、Persistence、Stargaze、AtomOne、Cheqd、Chihuahua、Fetch.ai、Hyperliquid、Jackal、Pocket Network、Seda、Sei、Shentu
非EVM:
Solana、NEAR、Sui、Tron、Radix
テストネット:
Ethereum、Polygon、Arbitrum、Optimism、Base、Taiko、XRPL EVM、Giwa
ほとんどのチェーンは公開エンドポイントID 01fdb492
を使用します。ファウンデーションが支援するエンドポイント(Kaia、XRPL EVM、Radix)は、より高いパフォーマンスを提供し、自動的に優先されます。
ブロックチェーンクエリ
Get the latest height for ethereum
List all available blockchain services
Show me supported methods for solana
Call eth_getBalance on ethereum for address 0x...
ドメイン解決
Resolve vitalik.eth
Reverse resolve address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
Get domain records for vitalik.eth with keys ["avatar", "url", "com.twitter"]
トランザクション分析
Get transaction 0xabc123... on ethereum
Get transaction receipt for 0xabc123... on ethereum
Estimate gas for transferring 1 ETH from 0x... to 0x... on ethereum
トークン操作
Get USDC balance for address 0x... on ethereum
Get token metadata for USDC on ethereum (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48)
マルチチェーン分析
Compare balances for address 0x... across all EVM chains
Get gas price on ethereum
Get historical balance of 0x... at block 18000000 on ethereum
ユーティリティ
Convert 1000000000 wei to eth
Validate address 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb for ethereum
Decode hex 0x48656c6c6f
Solana
Get SOL balance for address ABC123...
Get all SPL token balances for wallet DEF456...
Get USDC balance for Solana wallet (mint: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v)
Get transaction details for signature 5a1b2c3d...
Get recent prioritization fees for Solana
Cosmosエコシステム
Get OSMO balance for osmo1abc... on osmosis
Get all delegations for osmo1abc... on osmosis
Get list of validators on juno
Get staking rewards for akash1xyz... on akash
Get governance proposals on osmosis
Search transactions by event on kava
GROVE_APP_ID
の使用
環境変数を設定することでレート制限を回避できます:
export GROVE_APP_ID=your_id_from_portal
MCPサーバーはすべてのリクエストに自動的に GROVE_APP_ID
を使用します。portal.grove.city で取得してください。
ドキュメント
Show me all available Grove endpoints
Search the Grove documentation for "authentication"
Get the public endpoints page
詳細な例については、BLOCKCHAIN_USAGE.md を参照してください。
📄 ライセンス
MIT