Labsco
MCP SERVER

Contract Inspector

by ACaiSec

Reads an Ethereum contract's on-chain state — it calls every no-argument view function and returns the results as structured JSON.

Chain State, Explorers & Contract Tooling
Summary
One call, the whole readable surface.

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.

What it is

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.

What you get
  • 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
Requirements

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.