
π΄ Gulltoppr
Resolves EVM contract ABIs through a four-rung ladder: Etherscan verification, Sourcify, proxy detection, and Heimdall decompilation. When you point it at an address, even an unverified MEV bot, it returns a working ABI plus provenance metadata so you know what you're calling. Seven tools cover the full interaction cycle: resolve_abi, read_contract, simulate, encode_call, prepare_tx, decode_tx, and resolve_name. The prepare_tx flow generates unsigned transaction payloads with abi.ninja deeplinks instead of signing anything. Built on viem and Hono, runs over stdio or remote HTTP, and maintains an open selector registry as a byproduct of verified resolutions. Useful when you need to interact with contracts that have no published source.
- tools
- 12
- transport
- HTTP
- last updated
- Jun 12, 2026
Install
From registry metadata$ npx add-mcp https://mcp.gulltoppr.dev/mcp --name gulltopprRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http gulltoppr https://mcp.gulltoppr.dev/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live Β· 12 toolsVerified live against the running server on Nov 6, 2026.
list_chainsList viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts.3 params
List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts.
has_default_rpcbooleanqstringtestnetsbooleanruntime_metricsRead process-local resolver/rung/RPC counters for smoke checks and reliability dashboards.
Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards.
No parameters. Call it with no arguments.
lookup_selectorLookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses.1 params
Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses.
selector*stringregistry_statsRead selector commons counts by proof grade and bytecode-match index size.
Read selector commons counts by proof grade and bytecode-match index size.
No parameters. Call it with no arguments.
export_registryReturn the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows.
Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows.
No parameters. Call it with no arguments.
resolve_abiResolve a contract's interface from chain + address via a fallback ladder (Etherscan β Sourcify β proxy β heimdall decompile β 4byte). Returns a compact capability manifest (read vs write functions, the 'buttons'), proxy chain, token metadata, and PROVENANCE. ALWAYS read `prov...6 params
Resolve a contract's interface from chain + address via a fallback ladder (Etherscan β Sourcify β proxy β heimdall decompile β 4byte). Returns a compact capability manifest (read vs write functions, the 'buttons'), proxy chain, token metadata, and PROVENANCE. ALWAYS read `prov...
address*stringchain*valuemethod_kindstringread Β· write Β· allmethod_limitintegermethod_qstringrpc_urlstringread_contractCall a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.5 params
Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.
address*stringargsarraychain*valuefunction*stringrpc_urlstringencode_callEncode a function call to calldata (0xβ¦) without sending anything.6 params
Encode a function call to calldata (0xβ¦) without sending anything.
address*stringargsarraychain*valuefunction*stringrpc_urlstringvaluestringsimulateSimulate a call and return success, gas, decoded return, and best-effort state diff / asset changes / logs. Provide a high-level call (address + function + args) or raw (to + data), never both.9 params
Simulate a call and return success, gas, decoded return, and best-effort state diff / asset changes / logs. Provide a high-level call (address + function + args) or raw (to + data), never both.
addressstringargsarraychain*valuedatastringfrom*stringfunctionstringrpc_urlstringtovaluevaluestringprepare_txPrepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configured signing deeplink, and an EIP-1193 wallet request when signing is recommended. IMPORTANT: this tool NEVER signs or b...7 params
Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configured signing deeplink, and an EIP-1193 wallet request when signing is recommended. IMPORTANT: this tool NEVER signs or b...
address*stringargsarraychain*valuefrom*stringfunction*stringrpc_urlstringvaluestringdecode_txDecode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed function/arg names, and read its provenance.3 params
Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed function/arg names, and read its provenance.
chain*valuerpc_urlstringtx_hash*stringresolve_nameResolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames.2 params
Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames.
chainvaluename*stringSponsors
Readme
π΄ gulltoppr
An agent resolving a live unverified MEV bot via gulltoppr: decompiled ABI, provenance warning, registry-proven name, live read
A real session: an unverified MEV bot that traded seconds earlier (no source, no ABI anywhere) resolved to a full interface in two MCP tool calls.
The REST engine for gulltoppr: the resolution ladder + verb surface
that lets an AI agent go from (chain, address) to a correct, simulated, safe
contract interaction. This is "the engine" of the four faces (REST β MCP β SDK β
Skill); see ../SPEC.md for the full contract and ../IDEATION.md
for the strategy.
TypeScript + viem + Hono. The heimdall decompile rung is delegated over HTTP to gulltoppr (kept out-of-process by design).
Run
Details
- Repository
- github.com/portdeveloper/gulltoppr
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026