🚀 Grove MCP 服務器
Grove MCP 服務器是一個基於 Model Context Protocol (MCP) 的服務器,可通過 Grove 的公共端點,跨 70+ 網絡 實現區塊鏈數據訪問。它並非獨立的命令行工具,需要搭配 MCP 客戶端使用,如 Claude Desktop、Claude Code CLI 或 MCP Inspector。藉助該服務器,可將 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 獲取 GROVE_APP_ID
。
- 配置 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+ 網絡:包括以太坊、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 等) 的解析。
- 交易分析:提供完整的交易細節、收據和 gas 估算。
- 代幣操作:可查詢 ERC - 20 代幣餘額和元數據(名稱、符號、小數位數、供應量)。
- 多鏈分析:可比較所有 EVM 鏈上的餘額。
- 區塊探索:提供詳細的區塊數據和事件日誌搜索功能。
- 智能合約:支持只讀合約調用。
- 歷史查詢:可查詢任意區塊高度的餘額。
- 實用工具:支持單位轉換(wei/gwei/eth)、地址驗證和十六進制解碼。
Solana
- SPL 代幣:可查詢代幣餘額和元數據。
- 交易:提供完整的交易細節,包括計算單元和費用。
- 優先費用:即時估算費用。
- 賬戶數據:可查詢程序賬戶、可執行狀態和數據所有者。
Sui
- 餘額與代幣:可查詢 SUI 餘額、所有代幣餘額並支持分頁查詢。
- 對象:提供對象詳情、擁有的對象列表以及類型/內容顯示。
- 交易:支持區塊查詢和事件查詢。
- Gas:提供參考價格和檢查點信息。
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
💻 使用示例
區塊鏈查詢
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 historical balance of 0x... at block 18000000 on ethereum
Get gas price 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。
📚 詳細文檔
可用工具
提供 40+ 種專門用於跨 EVM、Solana 和 Cosmos 鏈進行區塊鏈分析的工具:
核心區塊鏈工具(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 文本記錄(頭像、電子郵件、網址、推特、GitHub 等)
交易與區塊工具(5 種)
get_transaction
- 通過哈希獲取交易詳細信息
get_transaction_receipt
- 獲取包含狀態、已使用 gas、日誌和事件的收據
estimate_gas
- 估算交易所需的 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
- 獲取當前 gas 價格,並支持 gwei/eth 轉換
智能合約工具(1 種)
call_contract_view
- 執行只讀合約函數
實用工具(3 種)
convert_units
- 在 wei、gwei 和 eth 之間進行單位轉換
validate_address
- 驗證地址格式(EVM/Solana/Cosmos)
decode_hex
- 將十六進制字符串解碼為 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
- 獲取 SOL 餘額,並支持 lamports/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 # 文檔檢索
開發
支持的區塊鏈
通過 Grove 的公共端點可訪問 70 個區塊鏈網絡:
- EVM 鏈:以太坊、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
- 測試網:以太坊、Polygon、Arbitrum、Optimism、Base、Taiko、XRPL EVM、Giwa
大多數鏈使用公共端點 ID 01fdb492
。由基金會贊助的端點(Kaia、XRPL EVM、Radix)性能更好,會自動優先使用。
📄 許可證
本項目採用 MIT 許可證。