Skip to main content
Glama

Crypto Bot Audit + Market Data (x402 paid)

Live head across chains

chain_heads
Read-onlyIdempotent

Latest block, its age in seconds, base fee and block fullness for up to 4 chains in one paid call — the fastest answer to 'which of these chains is actually caught up right now'. Costs $0.001 USDC per call. Chains: base, ethereum, arbitrum, bsc, polygon, optimism, avalanche. Byte-identical to GET /chain/heads?chains=base,ethereum.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainsNocomma list, up to 4: base, ethereum, arbitrum, bsc, polygon, optimism, avalanche (default ["base"])

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tsNo
noteNo
rowsNoone entry per chain
chainNo
staleNo
caveatNo
chainsNo
reasonNo
sourceNo
chainIdNo
chainLabelNo
observedAtNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "caveat": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "chain": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "chainId": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "chainLabel": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "chains": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "observedAt": {
      +      "type": "string"
      +    },
      +    "reason": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "rows": {
      +      "description": "one entry per chain",
      +      "items": {},
      +      "type": "array"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "stale": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "ts": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, so the description is free to add non-safety traits. It discloses the cost ($0.001 USDC per call) and the byte-identical endpoint equivalence, both valuable for the agent. No contradictions with annotations; no side effects need mentioning since it's read-only.

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?

Two sentences with zero waste. The core output is front-loaded ('Latest block... block fullness'), followed by the use case, cost, supported chains, and API equivalence. Every clause contributes value, making it highly efficient for an agent to parse.

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?

For a single-parameter, read-only tool with an output schema, the description covers what it returns, cost, supported chains, and exact API mapping. It doesn't mention error handling or rate limits, but those are minor for such a simple call. The presence of an output schema covers return structure.

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 provides 100% coverage of the 'chains' parameter (comma list, up to 4, allowed values, default). The description merely repeats this list and limit without adding new meaning like formatting examples or edge-case behavior. Baseline 3 is appropriate given high schema coverage.

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 precisely states the resource ('Latest block, its age in seconds, base fee and block fullness') and scope ('for up to 4 chains'), making it distinct from sibling tools like chain_block or chain_fee_data. It even frames the use case ('fastest answer to which chain is caught up'), so an agent can immediately tell this is a multi-chain head-status aggregator.

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?

It gives a clear situational trigger ('fastest answer to which of these chains is actually caught up right now') and mentions the paid nature, but does not explicitly name alternatives or state when NOT to use it. The specific use case effectively separates it from other chain_* tools, though a direct comparison would strengthen it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources