eth-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| stack_install_foundryA | Install the Foundry toolchain (forge, anvil, cast, chisel). Call this tool if stack_init or stack_start fails with "Foundry not installed" error. This downloads and runs the official Foundry installer (foundryup). Requires curl and bash to be available. |
| stack_initA | Initialize a new Scaffold-ETH 2 project with Foundry, configured for a specific mainnet chain. IMPORTANT: The chain parameter specifies which MAINNET to fork for local development. All development happens on a LOCAL Anvil fork (chainId 31337) - you never deploy directly to mainnet from here. Supported chains: mainnet, base, optimism, arbitrum, polygon. NO TESTNETS - use fork workflow instead (fork gives you real mainnet state for free). Development workflow after init:
The workspace path should be an empty directory. Requires Foundry CLI tools (forge, anvil) - call stack_install_foundry first if not installed. |
| stack_installA | Install dependencies for the Scaffold-ETH project. This runs 'yarn install' in the workspace. Must run stack.init first. |
| stack_startA | Start one or more stack components for LOCAL development. Components:
IMPORTANT: All deployment via this tool goes to localhost:8545 (the local fork). This is the development workflow - test everything locally before mainnet. For MAINNET deployment (after testing):
You can start multiple components at once. Order matters: fork should start before deploy. |
| stack_stopB | Stop one or more running stack components (fork, frontend). |
| stack_statusA | Get the current status of the Scaffold-ETH stack. Returns initialization state, component status, URLs, and deployed contracts. |
| stack_generateAccountA | INTERACTIVE COMMAND - Returns instructions for the user to run manually. 'yarn generate' creates an encrypted deployer keystore but REQUIRES interactive password input. AI tools CANNOT run this command - it will hang waiting for input. This tool returns step-by-step instructions for the user to run in their terminal. |
| stack_checkAccountA | INTERACTIVE COMMAND - Returns instructions for the user to run manually. 'yarn account' shows the deployer address and balances but MAY prompt for the keystore password. AI tools should NOT run this command as it may hang waiting for password input. This tool returns step-by-step instructions for the user to run in their terminal. |
| stack_configureExternalContractsA | Configure external contracts for the Scaffold-ETH debug UI. Adds contract addresses and ABIs to packages/nextjs/contracts/externalContracts.ts so you can interact with external protocols (USDC, Aave, Uniswap) in the debug UI. WHEN TO USE: When building projects that interact with external contracts:
BUNDLED ABIs (no external fetch needed):
If a contract type is not bundled and no ABI is provided:
CHAIN IDs: Adds entries for BOTH 31337 (local fork) AND the real chainId, so contracts work during local dev and after mainnet deployment. |
| stack_checkProductionReadinessA | Check if the project is ready for production deployment. CRITICAL: Call this BEFORE deploying to Vercel or any production hosting. This tool verifies:
For chains like Base, Optimism, Arbitrum, Polygon:
Returns a pass/fail checklist with specific instructions for any failed items. |
| process_listA | List all managed processes and their status. Shows process ID, command, status, PID, and start time. |
| process_logsB | Get stdout and stderr logs for a managed process. Use tail parameter to get only the last N lines. |
| process_stopC | Stop a specific managed process by ID. |
| project_readFileA | Read a file from the Scaffold-ETH project. Path should be relative to the project root. Cannot read .env files or files containing private keys. |
| project_writeFileA | Write content to a file in the Scaffold-ETH project. Path should be relative to the project root. Cannot write to .env files or write content containing private keys. Creates parent directories if they don't exist. IMPORTANT: After writing frontend files, you MUST review the code against critical rules. The response will include a REVIEW_REQUIRED section with instructions. |
| project_listFilesA | List files in a project directory. Path should be relative to the project root. Use to explore the project structure. |
| frontend_lintDesignA | Scan frontend files for banned design patterns (purple gradients, glassmorphism, etc.). Use this tool to verify frontend code follows eth-mcp design guidelines BEFORE finishing any frontend work. Scans for:
Returns errors and warnings with line numbers and suggested fixes. |
| frontend_validateAllA | Scan entire frontend for ALL critical rule violations. This tool performs a comprehensive scan of your frontend code for: CRITICAL (would block writes):
WARNINGS (non-blocking):
Use this tool to audit your codebase before deployment or to find existing issues. |
| addresses_getTokenA | Get a token's contract address on a specific chain. Examples:
Supported chains: mainnet, base, optimism, arbitrum, polygon Common tokens: WETH, USDC, USDT, DAI, WBTC, wstETH, rETH, cbETH |
| addresses_getProtocolA | Get contract addresses for a DeFi protocol on a specific chain. Examples:
Supported protocols by chain:
Infrastructure (same address all chains):
|
| addresses_listTokensA | List all known token addresses on a specific chain. Returns symbols, addresses, decimals for all tokens in the registry. |
| addresses_listProtocolsA | List all known DeFi protocols and their addresses on a specific chain. |
| addresses_findTokenA | Search for a token symbol across all chains. Useful when you need to find where a token exists. Returns all chains where the token is available with addresses. |
| addresses_getWhaleA | Get whale addresses for funding test wallets with tokens on Anvil forks. WHEN TO USE: When users need tokens (USDC, WETH, DAI) to test their DeFi apps. Returns protocol contract addresses (Morpho, Aave) that hold large token balances. Protocol contracts are more reliable than EOAs because they hold funds as their core function. Also returns one-shot cast commands to transfer tokens from the whale to a recipient. Example usage flow:
|
| addresses_listWhalesA | List all available token whales on a specific chain. Shows which tokens have known whale addresses for funding test wallets. |
| defi_getYieldsA | Query DefiLlama for top yield opportunities. Filter by chain, protocol, or asset. Returns APY, TVL, and pool details. Examples:
|
| defi_compareYieldsA | Compare yields for a specific asset across protocols on a chain. Useful for finding the best place to deposit a specific token. Example: Compare USDC yields on Base to find best lending rate. |
| defi_getProtocolTVLA | Get Total Value Locked (TVL) for a DeFi protocol across all chains. Use to assess protocol health and trustworthiness. Higher TVL generally means more battle-tested. |
| defi_getTopProtocolsA | Get top DeFi protocols by TVL on a specific chain. Useful for discovering what protocols are most used on a chain. |
| education_getChecklistA | Get an interactive checklist of Web3 considerations for a specific category. Use this to walk developers through important concepts as teaching moments. Categories:
Returns questions with short warnings. Use education_explainLesson for deep dives. |
| education_explainLessonA | Get the full explanation and code examples for a specific lesson. Use this when a developer wants to understand the "why" behind a warning, or when you need to show them correct vs incorrect code patterns. Includes:
|
| education_suggestLessonsA | Given a project description or plan, suggest which lessons are most relevant. Use this at the START of a project to identify potential pitfalls early. Example inputs:
Returns the most relevant lessons based on keywords, prioritized by severity. |
| education_listCategoriesA | List all available lesson categories with descriptions. Use this to understand what topics are covered and help developers choose which checklist to work through. |
| education_getCriticalLessonsA | Get all CRITICAL severity lessons - the most important gotchas that cause major bugs. These are the lessons that, if ignored, lead to:
ALWAYS review critical lessons before deploying any contract. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| deployment-workflow | CRITICAL: The correct deployment workflow for Scaffold-ETH - fork first, test locally, then mainnet. NEVER use testnets. |
| blockchain-exploration | Guidance on using Blockscout MCP alongside eth-mcp for blockchain exploration, transaction analysis, and contract verification |
| recommended-setup | Recommended MCP configuration for comprehensive Ethereum development with eth-mcp and companion servers |
| development-workflow | Best practices for using eth-mcp with other MCP servers in a complete development workflow |
| companion-mcps | Guide on using eth-mcp with ENS MCP and Blockscout MCP for complete Ethereum development - when to use each server |
| vault-building | Guide for building ERC-4626 yield vaults with eth-mcp - strategy patterns, yield sources, and security considerations |
| yield-comparison | How to find and compare the best yields using eth-mcp's DefiLlama tools - APY research for vault strategies |
| education-workflow | How to use eth-mcp's education tools to surface Web3 gotchas and teaching moments during development |
| frontend-design | CRITICAL: How to create professional frontends - NO purple gradients. Use DaisyUI themes, context-appropriate styling, and proper design systems. |
| rpc-configuration | CRITICAL: How to configure RPC endpoints for production. Public RPCs fail with 429 errors - use BuidlGuidl for Ethereum, get Alchemy keys for other chains. |
| test-wallet-funding | CRITICAL: How to fund test wallets with tokens (USDC, WETH, etc.) on Anvil forks. Use whale impersonation from Morpho/Aave protocol contracts. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Scaffold-ETH 2 Rules | CRITICAL: Official SE2 development patterns - hooks, components, and deployer security. READ THIS FIRST. |
| Scaffold-ETH 2 Full Documentation | Complete SE2 documentation for LLMs - all hooks, components, deployment guides |
| Frontend Design System | CRITICAL: UI design rules - NO purple gradients. Use DaisyUI themes, closed palettes, context-appropriate styling. |
| Deployment Workflow | CRITICAL: The correct deployment workflow - fork first, test locally, then mainnet with ENCRYPTED deployer. |
| Stack Status | Current status of the Scaffold-ETH stack including components, URLs, and deployed contracts |
| Stack Configuration | Current stack configuration including chain, RPC URL, and workspace path |
| Address Registry | Complete DeFi protocol and token address registry across all supported chains |
| Fork Process Stdout | Standard output from the Anvil fork process |
| Fork Process Stderr | Standard error from the Anvil fork process |
| Frontend Process Stdout | Standard output from the Next.js dev server |
| Frontend Process Stderr | Standard error from the Next.js dev server |
| Deployed Contracts | List of deployed contracts with addresses |
| Token Whale Registry | CRITICAL: Whale addresses for funding test wallets with tokens (USDC, WETH, etc.) on Anvil forks. Includes one-shot cast commands. |
| Uniswap V4 Integration Guide | CRITICAL: Complete V4 swap integration guide with gotchas, correct patterns, and addresses. READ THIS before building any V4 integration. Includes the #1 bug: settle() has NO parameters! |
| Critical Rules for Code Review | REVIEW REQUIRED: Read this after writing frontend code. Contains rules for hardcoded addresses, wagmi hooks, infinite approvals, and other critical patterns. The AI should review code against these rules. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/austintgriffith/eth-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server