{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_hgajvf9cgueu","handle":"gulltoppr","url":"https://wellknown.network/agents/gulltoppr","links":{"self":"https://wellknown.network/agents/gulltoppr/record.json","html":"https://wellknown.network/agents/gulltoppr","markdown":"https://wellknown.network/agents/gulltoppr/record.md","api":"https://wellknown.network/api/v1/agents/gulltoppr","status":"https://wellknown.network/api/v1/agents/gulltoppr/status","claim":"https://wellknown.network/agents/gulltoppr/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/gulltoppr/claim.json","badge":"https://wellknown.network/agents/gulltoppr/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/gulltoppr/history","tools":"https://wellknown.network/api/v1/agents/gulltoppr/tools"},"ard":{"identifier":"urn:air:mcp.gulltoppr.dev:server:gulltoppr","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"🐴 Gulltoppr","summary":"Resolve any EVM contract ABI (even unverified, via decompilation), read, simulate, prepare txs.","description":"Resolve any EVM contract ABI (even unverified, via decompilation), read, simulate, prepare txs.","publisher":{"name":"portdeveloper","url":null},"homepage":null,"repository":"https://github.com/portdeveloper/gulltoppr","version":"0.1.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.gulltoppr.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-06-12T06:31:35.778373Z","publishedAt":"2026-06-12T06:31:35.778373Z","registryName":"io.github.portdeveloper/gulltoppr"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.contracts","name":"Contracts & Legal","confidence":0.938,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.54,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["analytics","content","documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-10T23:21:51.296Z","lastProbedAt":"2026-10-10T23:21:51.296Z","statusComputedAt":"2026-10-10T23:23:55.300Z","reliability30d":{"probes":97,"successRate":0.8969,"p50Ms":181,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":96,"ok":86,"authBoundaryOk":0,"serviceOk":86,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T23:21:51.296Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":7666,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T16:33:04.524Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":26,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T10:28:50.306Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T04:32:07.767Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":23,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:25:46.559Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":24,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:19.940Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":26,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:26:45.613Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:25:48.497Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:23:27.736Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":4314,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:39.152Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":5567,"error":null,"detail":{"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"toolCount":12,"toolsHash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","serverName":"gulltoppr","capabilities":["tools"],"serverVersion":"0.2.2","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_chains","description":"List viem-backed chain aliases and ids. Use filters to find testnets, default-RPC chains, or a named chain before resolving contracts."},{"name":"runtime_metrics","description":"Read process-local resolver/rung/RPC counters for smoke checks and reliability dashboards."},{"name":"lookup_selector","description":"Lookup gulltoppr-proven signatures for a 4-byte function/error selector or 32-byte event topic0. Prefer these over public 4byte guesses."},{"name":"registry_stats","description":"Read selector commons counts by proof grade and bytecode-match index size."},{"name":"export_registry","description":"Return the CC0 selector commons as NDJSON. This can be large; prefer lookup_selector for normal agent workflows."},{"name":"resolve_abi","description":"Resolve a contract's interface from chain + address via a fallback ladder (Etherscan → Sourcify → proxy → heimdall decompile → 4byte). Returns a compact capabil"},{"name":"read_contract","description":"Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions."},{"name":"encode_call","description":"Encode a function call to calldata (0x…) without sending anything."},{"name":"simulate","description":"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"},{"name":"prepare_tx","description":"Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, safety metadata, warnings, a configure"},{"name":"decode_tx","description":"Decode what a transaction did: delegated heimdall decode plus `decoded_call` from the resolved target ABI when available. Prefer `decoded_call` for typed functi"},{"name":"resolve_name","description":"Resolve an ENS/Basename to an address, or an address to its primary ENS/Basename. Pass chain=base for Basenames."}],"package":null,"toolSurface":{"id":"ts_p3vvkf63zs9y","endpointId":"ep_88mh82vehbkb","hash":"0423232e467d84a623502a58cfce2d4a8248580783c58b83f4fa32b06514f4c8","toolCount":12,"serverName":"gulltoppr","serverVersion":"0.2.2","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T15:25:32.058Z","lastSeenAt":"2026-10-10T23:21:51.299Z","observations":82,"toolNames":["list_chains","runtime_metrics","lookup_selector","registry_stats","export_registry","resolve_abi","read_contract","encode_call","simulate","prepare_tx","decode_tx","resolve_name"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_88mh82vehbkb","url":"https://mcp.gulltoppr.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T21:25:46.552Z","auth":{"observedAt":"2026-10-09T21:25:46.585Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T21:25:46.601Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.gulltoppr.dev","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-08-11T12:10:19.000Z","validTo":"2026-11-09T12:10:18.000Z","daysToExpiry":29,"sanCount":1,"fingerprint256":"6A:4B:B2:61:48:55:D0:45:51:2D:3D:98:48:0C:A2:26:DF:FA:15:8E:92:E2:9F:97:EC:6D:C2:C2:73:B8:CE:00"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.portdeveloper/gulltoppr","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.portdeveloper%2Fgulltoppr","firstSeenAt":"2026-09-07T01:22:49.224Z","fetchedAt":"2026-10-11T01:17:58.244Z","normalizedAt":"2026-10-11T01:17:58.244Z"}]},"firstSeenAt":"2026-09-07T01:22:49.224Z","updatedAt":"2026-10-10T23:24:35.202Z"}