@@ -40,6 +40,12 @@ Set your Etherscan API key as an environment variable:
4040export ETHERSCAN_API_KEY=" your_api_key_here"
4141```
4242
43+ Or create a ` .env ` file:
44+ ``` bash
45+ cp .env.example .env
46+ # Edit .env and add your API key
47+ ```
48+
4349## Usage
4450
4551### Standalone Server
@@ -58,6 +64,21 @@ etherscan_mcp = MCPTools(
5864)
5965```
6066
67+ ## Testing Tools
68+
69+ To test all tools and generate recommendations for Agent development:
70+
71+ ``` bash
72+ # Setup
73+ cp .env.example .env
74+ # Add your API key to .env file
75+
76+ # Run comprehensive test
77+ python test_all_tools.py
78+ ```
79+
80+ This will test 39+ tools and generate detailed analysis for Agent development. See [ ` TESTING_SETUP.md ` ] ( TESTING_SETUP.md ) for details.
81+
6182## Complete Tool Reference
6283
6384### 🏦 Account Tools (12 tools)
@@ -151,6 +172,82 @@ etherscan_mcp = MCPTools(
151172| ` proxy_eth_gasPrice ` | Get current gas price | ` chainid ` |
152173| ` proxy_eth_estimateGas ` | Estimate gas for transaction | ` data ` , ` to ` , ` value ` , ` gas ` , ` gasPrice ` |
153174
175+ ## 🤖 Essential Tools for Building Agents
176+
177+ * Based on comprehensive testing of all tools using test_all_tools.py*
178+
179+ ### Quick Reference for Agent Development
180+
181+ | Category | 🟢 Essential | 🟡 Situational | 🔴 Not Recommended |
182+ | ----------| -------------| ----------------| -------------------|
183+ | ** Account** | 7 tools | 5 tools | 1 tool |
184+ | ** Block** | 3 tools | 0 tools | 1 tool |
185+ | ** Contract** | 1 tool | 2 tools | 0 tools |
186+ | ** Transaction** | 2 tools | 0 tools | 0 tools |
187+ | ** Token** | 2 tools | 0 tools | 0 tools |
188+ | ** Gas** | 2 tools | 0 tools | 1 tool |
189+ | ** Statistics** | 2 tools | 0 tools | 4 tools |
190+ | ** Logs** | 0 tools | 2 tools | 0 tools |
191+ | ** RPC** | 4 tools | 1 tool | 0 tools |
192+ | ** TOTAL** | ** 24 tools** | ** 7 tools** | ** 8 tools** |
193+
194+ #### Complete Essential Tools List
195+
196+ ** Account Tools (7/13)**
197+ - ✅ ` account_balance ` - ETH balance
198+ - ✅ ` account_balancemulti ` - Multiple balances
199+ - ✅ ` account_txlistinternal ` - Internal transactions
200+ - ✅ ` account_txlistinternal_byhash ` - Internal tx by hash
201+ - ✅ ` account_fundedby ` - Funding source
202+ - ✅ ` account_getminedblocks ` - Mined blocks
203+ - ✅ ` account_txsBeaconWithdrawal ` - Beacon withdrawals
204+
205+ ** Block Tools (3/4)**
206+ - ✅ ` block_getblockreward ` - Block rewards
207+ - ✅ ` block_getblocknobytime ` - Block by timestamp
208+ - ✅ ` block_getblocktxnscount ` - Transaction count
209+
210+ ** Contract Tools (1/4)**
211+ - ✅ ` contract_getcontractcreation ` - Contract creation info
212+
213+ ** Transaction Tools (2/2)**
214+ - ✅ ` transaction_getstatus ` - Contract execution status
215+ - ✅ ` transaction_gettxreceiptstatus ` - Receipt status
216+
217+ ** Token Tools (2/2)**
218+ - ✅ ` stats_tokensupply ` - Token total supply
219+ - ✅ ` account_tokenbalance ` - Token balance
220+
221+ ** Gas Tools (2/3)**
222+ - ✅ ` gas_gasoracle ` - Current gas prices
223+ - ✅ ` gas_gasestimate ` - Gas time estimate
224+
225+ ** Statistics Tools (2/6)**
226+ - ✅ ` stats_ethprice ` - ETH price
227+ - ✅ ` stats_nodecount ` - Network node count
228+
229+ ** RPC Tools (4/5)**
230+ - ✅ ` proxy_eth_blockNumber ` - Latest block
231+ - ✅ ` proxy_eth_gasPrice ` - Gas price
232+ - ✅ ` proxy_eth_getTransactionByHash ` - Transaction details
233+ - ✅ ` proxy_eth_getTransactionCount ` - Address nonce
234+
235+ ### 🟡 Situational Tools (7 tools)
236+ * Larger outputs or specific use cases, use carefully*
237+
238+ ** Large Output Tools (require careful context management)**
239+ - ⚠️ ` account_txlist ` - Normal transactions - Use pagination
240+ - ⚠️ ` account_tokentx ` - ERC20 transfers - Use pagination
241+ - ⚠️ ` account_tokennfttx ` - NFT transfers - Use pagination
242+ - ⚠️ ` account_token1155tx ` - ERC1155 transfers - Use pagination
243+ - ⚠️ ` contract_getabi ` - Contract ABI - Very technical
244+ - ⚠️ ` contract_getsourcecode ` - Source code - Extremely large
245+
246+ ** Slower Response Tools**
247+ - ⚠️ ` account_txlistinternal_byblock ` - Internal tx by block
248+ - ⚠️ ` logs_getLogsByAddress ` - Event logs - Use small ranges
249+ - ⚠️ ` logs_getLogsByTopics ` - Event logs - Use small ranges
250+
154251## 🎯 Use Cases & Examples
155252
156253### Basic Balance Check
0 commit comments