A comprehensive toolkit for Ethereum blockchain analysis directly within Claude AI using Model Context Protocol (MCP).
- Smart Contract Audit: Analyze contracts for security issues, verify source code, and detect token standards
- Wallet Analysis: Check ETH balances, token holdings, and transaction history
- Profitability Tracking: Calculate wallet profit/loss across tokens and trades
- Blockchain Data: Fetch and analyze on-chain data with simple commands
- Token Analysis: Get comprehensive token details, price history, and trading patterns
- Twitter Search: Find tweets by keywords, usernames, dates, or complex search criteria with natural language processing
- Node.js v16+
- Claude for Desktop
- Free API keys:
-
Clone this repository:
git clone https://github.com/0xGval/evm-tools-mcp cd evm-tools-mcp
-
Install dependencies:
npm install
-
Create your configuration:
- Copy
mcp.json.example
tomcp.json
- Edit
mcp.json
to include your API keys and correct file paths
{ "mcpServers": { "ethereum-tools": { "command": "node", "args": ["YOUR_ABSOLUTE_PATH_TO/main.js"], "env": { "ETH_RPC_URL": "https://eth.llamarpc.com", "MORALIS_API_KEY": "your_moralis_api_key", "ETHERSCAN_API_KEY": "your_etherscan_api_key", "CODEX_API_KEY": "your_codex_api_key", "RAPIDAPI_KEY": "your_rapidapi_key" } } } }
- Copy
-
Configure Claude for Desktop:
- On Windows: Create/edit
%APPDATA%\Claude\claude_desktop_config.json
- Copy the contents of your
mcp.json
file into this configuration
- On Windows: Create/edit
auditContract(address: "0x...")
: Perform security audit on a smart contract
getEthBalance(address: "0x...")
: Get ETH balancegetTransactionCount(address: "0x...")
: Get transaction count (nonce)getTokensBalance(address: "0x...", chain: "eth", excludeSpam: true)
: Get all token balances
getWalletPnl(address: "0x...", chain: "eth")
: Analyze wallet profit/loss
getTokenInfo(address: "0x...", networkId: 1)
: Get basic token information including name, symbol, and supplygetTokenPriceHistory(address: "0x...", networkId: 1, days: 7, resolution: "1D")
: Get historical price dataanalyzeToken(address: "0x...", networkId: 1, days: 30)
: Perform comprehensive token analysis including volatility and trading patterns
-
searchTwitter(query: "ethereum", section: "top", limit: 5)
: Intelligent Twitter search with natural language processing- Automatically formats natural language queries into proper Twitter syntax
- Understands user queries like "Find tweets by _gval about hyperliquid"
- Supports advanced Twitter search operators:
from:username
,has:links
, etc. - Optional parameters: min_likes, min_retweets, min_replies, start_date, end_date, language
-
twitterSearchHelp(topic: "general")
: Get help with Twitter search syntax- Available topics: "general", "user", "date"
- Provides examples and explanations of Twitter search operators
add(a: 1, b: 2)
: Simple utility function example
Common issues:
- Environment variables not found: Make sure your API keys are correctly set in
mcp.json
- Provider errors: Check that your ETH_RPC_URL is valid and accessible
- Path errors: Ensure you're using full absolute paths with proper escaping in Windows (
\\
) - Codex API issues: Verify your Codex API key is valid and has permission to access token data
- Twitter search errors: Make sure your RapidAPI key has access to the Twitter154 API
To add new tools:
- Create or modify files in the
tools/
directory - Register your tools in
main.js
- Restart Claude for Desktop to see changes
This project is licensed under the MIT License.