Information
MCP Etherscan 服务器
一个通过 Etherscan 的 API 提供以太坊区块链数据工具的 MCP(Model Context Protocol)服务器。功能包括检查 ETH 余额、查看交易历史记录、跟踪 ERC20 转账、获取合约 ABI、监控 gas 价格和解析 ENS 名称。
功能
余额检查:获取任何以太坊地址的 ETH 余额
交易历史记录:查看带有详细信息的最近交易
代币转账:跟踪带有代币详情的 ERC20 代币转账
合约 ABI:为开发获取智能合约 ABI
Gas 价格:监控当前 Gas 价格(安全低、标准、快速)
ENS 解析:将以太坊地址解析为 ENS 名称
前提条件
Node.js >= 18
一个 Etherscan API 密钥(在 https://etherscan.io/apis 获取)
安装
克隆仓库:
git clone [your-repo-url]
cd mcp-etherscan-server
安装依赖项:
npm install
在根目录中创建一个 .env 文件:
ETHERSCAN_API_KEY=your_api_key_here
构建项目:
npm run build
运行服务器
启动服务器:
npm start
服务器将在 stdio 上运行,使其与 Claude Desktop 等 MCP 客户端兼容。
工作原理
此服务器实现了 Model Context Protocol (MCP),通过 Etherscan 的 API 提供与以太坊区块链数据交互的工具。每个工具都作为 MCP 端点公开,可以由兼容的客户端调用。
可用工具
check-balance
输入:以太坊地址
输出:以 Wei 和 ETH 为单位的 ETH 余额
get-transactions
输入:以太坊地址,可选限制
输出:带有时间戳、金额和地址的最近交易
get-token-transfers
输入:以太坊地址,可选限制
输出:带有代币详情的最近 ERC20 代币转账
get-contract-abi
输入:合约地址
输出:JSON 格式的合约 ABI
get-gas-prices
输入:无
输出:以 Gwei 为单位的当前 Gas 价格
get-ens-name
输入:以太坊地址
输出:如果有的话,关联的 ENS 名称
与 Claude Desktop 配合使用
要将此服务器添加到 Claude Desktop:
使用 npm start 启动服务器
在 Claude Desktop 中:
转到设置
导航到 MCP 服务器部分
单击“添加服务器”
输入以下配置:
\{
"name": "Etherscan Tools",
"transport": "stdio",
"command": "node /path/to/mcp-etherscan-server/build/index.js"
\}
保存配置
Etherscan 工具现在将在您的 Claude 对话中可用
在 Claude 中的示例用法
您可以使用如下命令:
Check the balance of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e
或
Show me recent transactions for vitalik.eth
开发
要添加新功能或修改现有功能:
主服务器逻辑在 src/server.ts 中
Etherscan API 交互在 src/services/etherscanService.ts 中处理
修改后构建:npm run build
许可证
MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件