@aurracloud/etherscan-mcp
v1.0.6
Published
Model Context Protocol (MCP) server for Etherscan API integration. Provides tools for querying Ethereum blockchain data including balances, transactions, contracts, and token information.
Maintainers
Readme
Etherscan MCP Server
A Model Context Protocol (MCP) server that provides tools for querying Ethereum blockchain data through the Etherscan API. This server enables AI assistants like Claude to interact with Ethereum blockchain data including account balances, transactions, smart contracts, and token information.
Features
- Account Operations: Get ETH balances, transaction lists, and ERC20/ERC721 token transfers
- Contract Information: Retrieve contract ABIs, source code, and execution status
- Block Data: Access block rewards, transaction counts, and timestamps
- Token Analytics: Query token supplies, balances, and holder information
- Event Logs: Search and filter blockchain event logs
- Multi-chain Support: Works with Ethereum mainnet and testnets
Installation
npm install @aura/etherscan-mcpUsage
CLI Server (Recommended)
Run the MCP server directly with npx:
npx @aura/etherscan-mcpThis starts a stdio-based MCP server that can be used with Claude Desktop or other MCP clients.
Claude Desktop Configuration
Add to your Claude Desktop configuration:
{
"mcpServers": {
"etherscan": {
"command": "npx",
"args": ["-y", "@aurracloud/etherscan-mcp"],
"env": {
"ETHERSCAN_API_KEY": "ETHERSCAN_API_KEY_GOES_HERE"
}
}
}
}Programmatic Usage
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { registerEtherscanMcpTools } from "@aura/etherscan-mcp";
const server = new McpServer({
name: "etherscan-server",
version: "1.0.0"
}, {
capabilities: {
tools: {},
},
});
// Register Etherscan tools
registerEtherscanMcpTools(server);
// Create transport and connect
const transport = new StdioServerTransport();
await server.connect(transport);Environment Variables
Set your Etherscan API key:
export ETHERSCAN_API_KEY=your_api_key_hereAvailable Tools
Account Tools
ETHERSCAN_getEthBalance- Get ETH balance for an addressETHERSCAN_getEthBalanceMulti- Get ETH balances for multiple addressesETHERSCAN_getListOfTxs- Get transaction list for an addressETHERSCAN_getErc20TransfersByAddress- Get ERC20 token transfers
Contract Tools
ETHERSCAN_getContractABI- Get contract ABIETHERSCAN_getContractSourceCode- Get contract source codeETHERSCAN_getContractExecutionStatus- Get transaction execution status
Block Tools
ETHERSCAN_getBlockAndUncleRewardByBlockNo- Get block rewards
Token Tools
ETHERSCAN_getErc20TokenSupply- Get ERC20 token total supplyETHERSCAN_getErc20TokenBalance- Get ERC20 token balance for addressETHERSCAN_getTokenHolderList- Get list of token holders
Log Tools
ETHERSCAN_getEventLogsByAddress- Get event logs for an address
Chain Support
The server supports multiple Ethereum networks:
- Ethereum Mainnet (chainId: 1)
- Goerli Testnet (chainId: 5)
- Sepolia Testnet (chainId: 11155111)
API Key
You'll need an Etherscan API key to use this server. Get one for free at etherscan.io/apis.
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
For issues and questions, please use the GitHub Issues page.
