Inspecting a contract usually means reading the ABI, picking the getters, and calling them one by one. Sweeping every no-argument view function collapses that into a single request, and running them concurrently keeps it fast on contracts with dozens of them. The lighter summary exists for when you only need to know what a contract is — worth using first, since the full sweep costs RPC calls.
A local MCP service for inspecting EVM contracts, combining Etherscan metadata with direct RPC calls. Its distinguishing move is calling every view function that takes no parameters, so a contract's readable state comes back in one request rather than one call at a time.
- Full contract information: every parameterless view function invoked, with results returned as structured JSON — `ContractInfo`
- A lighter summary that reads basic contract information without invoking any functions — `ContractSummary`
- Concurrent execution across those calls, so a contract with many getters does not take proportionally longer
Two credentials in a `.env` file: `RPC_URL` for an Ethereum node such as Infura or Alchemy, and `ETHERSCAN_API_KEY`. Python 3.10 or higher plus `uv`; run `uv sync` and configure the client to launch the interpreter from the project's virtual environment with the project directory as `cwd`. It is a local server — the client starts and stops it, and there is nothing to run by hand.
