Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool targets a distinct operation: log decoding, calldata decoding, selector/topic resolution, and ABI fetching. The inputs and outputs are clearly differentiated, so an agent would have no trouble selecting the right tool for a given task.

    Naming Consistency4/5

    All tool names use lowercase snake_case, but the verb/noun order is inconsistent: decode_log and decode_calldata are verb_noun, while selector_lookup and abi_fetch are noun_verb. This is a minor deviation from a uniform pattern, but the names still read predictably.

    Tool Count5/5

    With 4 tools, the server is well-scoped for its purpose of decoding EVM data. Each tool covers a distinct aspect of the decoding workflow, and there is no redundancy or bloat.

    Completeness5/5

    The tool set covers the full decoding lifecycle: fetching ABIs, resolving selectors/topics, decoding calldata, and decoding event logs. There are no obvious gaps for typical EVM decoding tasks, and the tools work together as a complete pipeline.

  • Average 4.3/5 across 4 of 4 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the burden. It discloses the paid nature ($0.002), the x402 challenge when unpaid, and the resolution order (ABI, verified source, 4byte.directory). It also highlights nested argument support, which is behavioral context beyond a simple decode.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences with no fluff. The payment warning is front-loaded, followed by purpose and behavior.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With no output schema, the description explains the result includes selector signature and typed arguments. It covers payment behavior and resolution order but does not explicitly describe the response JSON shape or error cases, which would make it fully complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    All 5 parameters have schema descriptions (100% coverage), so the baseline is 3. The description adds a compact input template ('Give {chain, to?, data, abi?}') but does not substantively explain parameter meaning beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool decodes a contract function call, resolving the 4-byte selector and producing typed arguments. It distinguishes itself from siblings like decode_log (events) and selector_lookup by focusing on calldata decoding.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this vs sibling tools is given. The description implies usage by explaining input format and payment behavior, but does not mention alternatives or exclusions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries full disclosure burden. It transparently covers the paid nature ($0.001, x402, USDC), external data sources (4byte.directory + openchain.xyz), collision behavior ('all matches (selectors can collide)'), and the verified flag. It does not describe failure modes or rate limits, but key behavioral traits are disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is three sentences, front-loaded with the cost and payment context, followed by operation and output/payment behavior. It is efficient and every sentence earns its place, though it is slightly dense with technical details.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description covers input formats, external services, collision handling, verified flag, and the two-step payment challenge flow. Since there is no output schema, it gives a sufficient sense of what is returned. It omits the exact response shape and edge-case handling, but is adequate given the tool's scope.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with detailed descriptions for both 'selector' and 'x_payment'. The description restates the payment flow but adds no unique parameter semantics beyond what the schema already provides. Baseline 3 is appropriate because the schema handles the parameter documentation fully.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly names the action ('Resolve') and the exact resource ('4-byte function selector (0x + 8 hex) OR a 32-byte event topic hash (0x + 64 hex)') to 'human-readable signature(s)'. This distinguishes it from sibling decoder tools like decode_calldata or decode_log by focusing on hash-to-signature lookup.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear context on when to use the tool (you have a selector or event topic hash) and explains the payment workflow ('Without payment returns the x402 challenge; pass x_payment to settle'). However, it does not explicitly mention alternatives or when not to use it, so it lacks explicit exclusions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description fully discloses the paid nature ($0.002 USDC on Base), the x402 challenge when payment is omitted, the need to pass x_payment to settle, and the proxy-resolution behavior returning implementation ABI. It also lists verification sources (Sourcify/Blockscout). This is comprehensive.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is front-loaded with the critical payment notice, then delivers the purpose and output summary in a compact, well-organized manner. Every sentence contributes meaningful information; no filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Even with no output schema, the description enumerates what will be returned (ABI JSON, verification status/source, signatures, proxy implementation) and explains the 402 challenge flow. This gives the agent a full picture of expected behavior and edge cases.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema already has 100% coverage with detailed descriptions for chain, address, and x_payment. The description adds context about proxy resolution and verification metadata but does not introduce new parameter meaning. Baseline 3 applies.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Fetch the verified ABI + metadata for a contract' with a specific verb and resource. It also explicitly lists expected outputs (ABI JSON, verification status, function/event signatures, proxy resolution), distinguishing it from sibling decode/selector tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides clear context: provide {address, chain} to get the ABI. It explains the payment flow and challenge behavior. However, it does not explicitly mention when not to use this tool versus the decode or selector siblings, though the purpose is distinct enough.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are present, so the description carries the full burden. It thoroughly discloses payment requirements (x402 challenge, x_payment settlement), ABI resolution behavior (Sourcify/Blockscout + 4byte), and edge-case handling (tuples, arrays, anonymous events, indexed vs non-indexed). This is exceptionally transparent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is dense but front-loaded with the crucial 'PAID' flag. Each sentence adds necessary information: payment, input modes, return details, ABI resolution, and 402 behavior. No filler or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    There is no output schema and no annotations, so the description must fully explain behavior and return values. It does so: it describes the return fields (name, canonical signature, named/typed args), covers complex ABI cases, explains payment flow, and identifies the ABI resolution path. This is complete for a moderately complex paid tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, so baseline is 3. The description adds value by explaining how parameters combine (tx_hash vs address+topics+data), what 'data' means (non-indexed args), and the x_payment flow (omitting returns 402 challenge, supplying settles via X-PAYMENT header). This goes beyond schema descriptions without being redundant.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: decode EVM event logs into typed JSON. It specifies two input modes (tx_hash or address+topics+data) and what it returns (event name, signature, args), distinguishing it from sibling tools like decode_calldata by explicitly targeting event logs.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Usage guidance is clear: it tells you exactly when to pass tx_hash vs address/topics/data, and when abi is optional. It does not explicitly mention alternatives or exclusion cases, but the 'FLAGSHIP' framing and event-log focus imply when to choose it over decode_calldata.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

onchain-decode-mcp MCP server

Copy to your README.md:

Score Badge

onchain-decode-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zvmzaretsky/onchain-decode-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server