🚀 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 许可证。