LabscoMCP early access ↗
ACaiSecMCP SERVER

Contract Inspector

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

by ACaiSec ↗Chain State, Explorers & Contract ToolingCommunity

LABSCO 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.

Setup effort

Build from source