๐ด Gulltoppr
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Resolve any EVM contract ABI (even unverified, via decompilation), read, simulate, prepare txs.
| Author | io.github.portdeveloper |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 200 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"๐ด Gulltoppr": {
"url": "https://mcp.gulltoppr.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (12)
list_chainsread-onlyList viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts.
Parameters:
qโ string โ Search by chain id, name, alias, or native symbol; multi-word queries also match token-by-token and without whitespace.testnetsโ boolean โ When true, only testnets; when false, only mainnets.has_default_rpcโ boolean โ When true, only chains gulltoppr can query without rpc_url.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
runtime_metricsread-onlyRead process-local resolver/rung/RPC counters for smoke checks and reliability dashboards.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
lookup_selectorread-onlyLookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses.
Parameters:
selector(required) โ string โ 4-byte function/error selector or 32-byte event topic0.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
registry_statsread-onlyRead selector commons counts by proof grade and bytecode-match index size.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
export_registryread-onlyReturn the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
resolve_abiread-onlyResolve 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 `provenance`: a `decompiled` ABI has synthetic function names โ treat it with care and confirm intent before writing. Partial, proxy, and bytecode-match results lead with a WARNING before the JSON. The compact manifest/provenance is also returned as structuredContent. Use method_q/method_kind/method_limit for large ABIs. Raw ABI is omitted from MCP output to save tokens; use REST/SDK resolve_abi with include_abi=true if needed.
Parameters:
chain(required) โ Chain alias from GET /v1/chains (for example "ethereum", "base", "monad", "bsc") or numeric EIP-155 chain id.address(required) โ string โ 0x contract address.rpc_urlโ string โ Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.method_qโ string โ Case-insensitive manifest method search across names, signatures, parameters, outputs, and hints.method_kindโ string โ Restrict manifest methods to read, write, or all.method_limitโ integer โ Maximum number of manifest methods to return after filtering.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
read_contractread-onlyCall a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.
Parameters:
chain(required) โ Chain alias from GET /v1/chains (for example "ethereum", "base", "monad", "bsc") or numeric EIP-155 chain id.address(required) โ string โ 0x contract address.function(required) โ string โ Function name, or full signature like "transfer(address,uint256)" if overloaded.argsโ array โ Function arguments, in order. Pass uint values as decimal strings.rpc_urlโ string โ Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
encode_callread-onlyEncode a function call to calldata (0xโฆ) without sending anything.
Parameters:
chain(required) โ Chain alias from GET /v1/chains (for example "ethereum", "base", "monad", "bsc") or numeric EIP-155 chain id.address(required) โ string โ 0x contract address.function(required) โ string โ Function name, or full signature like "transfer(address,uint256)" if overloaded.argsโ array โ Function arguments, in order. Pass uint values as decimal strings.valueโ string โ Native value in wei (decimal string), for payable functions.rpc_urlโ string โ Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
simulateread-onlySimulate 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.
Parameters:
chain(required) โ Chain alias from GET /v1/chains (for example "ethereum", "base", "monad", "bsc") or numeric EIP-155 chain id.from(required) โ string โ The sender address (the user's wallet). No key is needed โ nothing is signed.toโ Raw form: target address.argsโ array โ Function arguments, in order. Pass uint values as decimal strings.dataโ string โ Raw form: calldata (0x-prefixed hex bytes).valueโ string โ Native value in wei (decimal string), for payable functions.addressโ string โ 0x contract address.rpc_urlโ string โ Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.functionโ string โ Function name, or full signature like "transfer(address,uint256)" if overloaded.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
prepare_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 broadcasts. Present the summary + simulation + warnings to the user. Only hand them the `deeplink` or `wallet_request` when `safety.signing_recommended` is true. If `safety.risk_level` is high or blocked, make that explicit; blocked means do not send.
Parameters:
chain(required) โ Chain alias from GET /v1/chains (for example "ethereum", "base", "monad", "bsc") or numeric EIP-155 chain id.address(required) โ string โ 0x contract address.function(required) โ string โ Function name, or full signature like "transfer(address,uint256)" if overloaded.from(required) โ string โ The sender address (the user's wallet). No key is needed โ nothing is signed.argsโ array โ Function arguments, in order. Pass uint values as decimal strings.valueโ string โ Native value in wei (decimal string), for payable functions.rpc_urlโ string โ Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.
Hints: read-only no ยท destructive no ยท idempotent not declared ยท open-world yes
decode_txread-onlyDecode 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.
Parameters:
chain(required) โ Chain alias from GET /v1/chains (for example "ethereum", "base", "monad", "bsc") or numeric EIP-155 chain id.tx_hash(required) โ string โ 0x transaction hash.rpc_urlโ string โ Override HTTP(S) RPC URL. Required for chains with no default (e.g. local/31337) or custom EVM chain ids.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
resolve_nameread-onlyResolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames.
Parameters:
name(required) โ string โ An ENS/Basename (vitalik.eth, name.base.eth) or a 0x address.chainโ Chain alias from GET /v1/chains (for example "ethereum", "base", "monad", "bsc") or numeric EIP-155 chain id.
Hints: read-only yes ยท destructive not declared ยท idempotent not declared ยท open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.