Skip to main content
Glama

Server Details

Pay-per-call x402 Base/Ethereum prices, DEX, ENS, gas, tokens, holders, balances, txs.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.7% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a clearly different onchain primitive: wallet holdings (balances), token metadata (token), holder distribution (holders), oracle prices (price), pool-derived prices (dex_price), name resolution (ens), fee estimation (gas), and transaction lookup (tx). The only near-overlap, price vs dex_price, is explicitly partitioned by the descriptions (Chainlink feed vs no-feed long-tail tokens, Uniswap v3 only).

Naming Consistency4/5

Seven of eight tools are single lowercase nouns (balances, ens, gas, holders, price, token, tx), which is a consistent and readable convention. dex_price is the lone compound using an underscore prefix, a minor deviation that actually helps signal its relationship to price.

Tool Count5/5

Eight tools is well within the ideal 3-15 range for a read-only onchain data server, and each covers a distinct primitive that an agent would plausibly need. No tool feels like filler or a duplicate of another.

Completeness4/5

Core read primitives (balances, token metadata, holders, prices, gas, tx, ENS/basenames) are covered with sensible 404/503 non-charging behavior, so there are no dead ends on the covered paths. Gaps remain for historical/block-level lookups and address transaction history, which an agent would have to assemble elsewhere.

Available Tools

8 tools
balancesScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: Wallet balancesA
Read-onlyIdempotent
Inspect

Use when you need what a wallet or contract holds: reads the native ETH balance and ERC-20 balances (a default set of major tokens, or up to 20 token symbols/addresses you pass) for one address on Base or Ethereum in a single multicall, with human-readable amounts and USD values from Chainlink feeds, plus a total. Zero balances are omitted unless asked. Paid tool: x402 USDC on Base, $0.003 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
chainNoChain.base
tokensNoComma-separated token symbols (from the default list) or 0x token addresses, max 20. Default: major tokens of the chain.
addressYesWallet or contract address (0x…).
includeZeroNoAlso list zero balances (true/false).false

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent annotations, the description discloses the multicall execution model, Chainlink price sourcing, the zero-balance omission default, and — critically — the paid x402 USDC model at $0.003 per successful call with the unpaid PaymentRequired response. That payment/auth behavior cannot be inferred from annotations or schema and is exactly what an agent needs before invoking.

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 usage trigger is front-loaded and the single long sentence packs purpose, scope, return shape, and defaults without filler; the payment sentence is separated for emphasis. It is dense but every clause carries information, with only mild redundancy against the schema.

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?

With no output schema, the description compensates by describing the return shape (human-readable amounts, USD values from Chainlink, plus a total) and the omission rule for zero balances. Combined with explicit payment semantics, an agent has everything needed to call and interpret this 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 the baseline is 3, but the description adds real meaning: the tokens parameter defaults to a chain-specific major-token set versus up to 20 symbols/addresses, and includeZero's default omission behavior is stated explicitly rather than implied by a "false" default.

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?

States a specific verb and resource — reads native ETH and ERC-20 balances for one address on Base or Ethereum — and adds scope details (multicall, default token set, USD values, total). This clearly distinguishes it from siblings like holders, tx, token, and price, which cover different resources.

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?

"Use when you need what a wallet or contract holds" gives explicit context for selecting this tool, and the zero-balance behavior narrows it further. It does not name alternatives (e.g. use holders for token holder lists, token for metadata), so routing between siblings is left to inference.

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

dex_priceScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: DEX price (Uniswap v3, on-chain)A
Read-onlyIdempotent
Inspect

Use when a token has no Chainlink feed (long-tail, new or memecoins) and you need its current market price: finds every Uniswap v3 pool of the token against WETH, USDC (and USDT on Ethereum) across fee tiers, reads each pool's price (slot0) and reserves in one multicall, converts to USD with Chainlink, and returns the price from the deepest pool plus all pools with their depth. Flags thin liquidity. Uniswap v3 only (Aerodrome and other DEXs not included). Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
chainNoChain.base
tokenYesERC-20 contract address.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, openWorld), so the bar is lower, yet the description adds substantial behavior: a single multicall batched across fee tiers, thin-liquidity flagging, deepest-pool selection logic, and the x402 USDC-on-Base paid model at $0.002 per successful call. That is materially more than the annotations convey.

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?

Front-loaded with the usage trigger ('Use when...') followed by mechanism, then constraints, then pricing — a sensible ordering with little filler. It is dense and long, but nearly every clause carries operational information an agent needs (pool set, exclusion, payment protocol).

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?

With no output schema, the description carries the return contract and does so: the deepest-pool price plus all pools with their depth, plus a thin-liquidity flag. Combined with the coverage/exclusion caveats and payment behavior, nothing an agent needs to call this correctly is missing.

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% and both parameters are documented there (token as ERC-20 contract address, chain enum with default), so the schema does the heavy lifting. The description adds only indirect meaning — that USDT pairs exist on Ethereum, implying chain-dependent pool sets — but no param-specific syntax or format detail. 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?

States a specific verb and resource: finds every Uniswap v3 pool for a token against WETH/USDC(/USDT), reads slot0 and reserves, converts to USD, returns price from deepest pool. It also distinguishes itself from the sibling `price` tool by scoping to tokens with no Chainlink feed. An agent can tell exactly what it gets without opening the schema.

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

Usage Guidelines5/5

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

Explicit when-to-use (token has no Chainlink feed — long-tail, new, memecoins) and when-not (Uniswap v3 only; Aerodrome and other DEXs excluded). It also documents the payment flow — call without payment to receive the PaymentRequired object — which is exactly the prerequisite an agent needs before invoking.

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

ensScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: ENS / Basename resolutionA
Read-onlyIdempotent
Inspect

Use before sending funds or when you only have a human-readable name: resolves ENS names (.eth and DNS names on ENS, including offchain/wildcard resolvers via CCIP-Read such as .cb.id) and Basenames (.base.eth, read directly on Base) to a checksummed address; or, given an address, returns its primary ENS name and primary Basename, each forward-verified (the name must resolve back to the address). Names are normalized per ENSIP-15. Unresolvable names are not charged. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
nameNoENS name or Basename to resolve, e.g. vitalik.eth or jesse.base.eth. Give name or address.
addressNoAddress to reverse-resolve (0x… 40 hex). Give name or address.

TDQS

A4.4/5.0
Behavior5/5

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

With annotations already covering read-only/idempotent/open-world, the description adds substantial non-obvious context: ENSIP-15 normalization, forward-verification of primary names, CCIP-Read offchain resolution, and a paid x402 USDC pricing model with unresolvable names uncharged and a PaymentRequired handshake for unpaid calls.

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?

Front-loaded with the usage trigger, then the resolution semantics, then payment terms; every clause carries information. It is dense and semicolon-heavy, which slightly hurts scannability.

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?

With no output schema, the description still explains what comes back (checksummed address; forward-verified primary ENS name and Basename). Payment, normalization, and failure handling are all covered, leaving nothing an agent needs to call it correctly.

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 description coverage is 100%, so both parameters are already documented with examples. The description confirms the name/address duality and what name formats are acceptable, but adds no syntax or validation detail beyond the schema, matching the baseline 3.

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?

States a precise bidirectional verb+resource: resolves ENS names (.eth, DNS, offchain/wildcard CCIP-Read names, *.cb.id) and Basenames (*.base.eth) to a checksummed address, or reverse-resolves an address to primary ENS/Basename. This is unmistakably distinct from siblings like balances, tx, or price.

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?

Gives an explicit trigger scenario ('Use before sending funds or when you only have a human-readable name') and clarifies both directions of use. It does not name a sibling alternative or state when not to use it, so it stops short of the top score.

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

gasScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: Gas & fee estimatesA
Read-onlyIdempotent
Inspect

Use before sending a transaction or to tell a user what it will cost: reads eth_feeHistory over the last 20 blocks (10th/50th/90th percentile tips), the next base fee and gas price, on Base also the L1 data fee upper bound from the OP-stack GasPriceOracle, and prices typical actions (ETH transfer 21k gas, ERC-20 transfer 65k, DEX swap 180k) in ETH and USD (Chainlink ETH/USD). Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
chainNoChain.base

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing that this is a paid tool: x402 USDC on Base at $0.001 per successful call, and that calling without payment returns a PaymentRequired object. That payment flow is exactly the kind of behavioral detail an agent must know before invoking.

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?

Front-loads the call-to-action ("Use before sending a transaction") before the technical detail, and every clause carries information. The single dense sentence stacks many clauses, which slightly hurts scannability, but there is 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?

Covers purpose, trigger condition, data sources, output content (percentiles, base fee, gas price, L1 fee, action cost table in ETH and USD), and the payment mechanics. With no output schema, this is sufficient for an agent to call and interpret the tool correctly.

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% for the single optional chain parameter, so the baseline is 3. The description adds chain-conditioned behavior the schema does not capture — the L1 data fee upper bound applies only on Base — which meaningfully informs parameter choice.

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?

States the exact resource — gas and fee estimates — and enumerates the underlying reads: eth_feeHistory over 20 blocks, next base fee and gas price, L1 data fee via the OP-stack GasPriceOracle, and USD pricing of typical actions. This clearly separates it from siblings like dex_price, price, and tx.

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?

"Use before sending a transaction or to tell a user what it will cost" gives a concrete triggering condition. It does not name an alternative tool or a when-not case, but the usage context is unambiguous for so focused a tool.

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

holdersScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: Top ERC-20 token holdersA
Read-onlyIdempotent
Inspect

Use when you need who holds a token (concentration, whales, treasury): returns the top N holders of an ERC-20 contract on Base or Ethereum with rank, checksummed address, raw and formatted balance, and share of total supply when the explorer provides it. Public name tags and ENS from the explorer are included as labels; no personal identity is invented and emails are stripped. Ethereum prefers Blockscout, falls back to Ethplorer. Base uses Blockscout; if that explorer blocks the request, the call returns 503 and is not charged. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
chainNoChain. The example address is on Ethereum, so it needs chain=ethereum.base
limitNoMax holders to return (1-50).10
addressYesToken contract address (0x…) on the chosen chain. Example: USDT on Ethereum (use with chain=ethereum).

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: discloses provider routing per chain (Blockscout preferred, Ethplorer fallback, Base uses Blockscout), the exact failure mode (503 if the explorer blocks, and not charged), the paid access model (x402 USDC on Base, $0.002 per successful call, PaymentRequired object on unpaid calls), and privacy handling (public tags/ENS only, emails stripped). This is unusually rich operational context.

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?

Front-loads the use case and return shape, then layers routing, privacy, and pricing. Every sentence carries information, though the payment and provider-routing clauses make it longer than typical; it stays readable and non-redundant.

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, yet the description enumerates the returned fields and notes the caveat that supply share appears only 'when the explorer provides it.' Combined with the routing, failure, and pricing details, an agent has everything needed to call it correctly and interpret the response.

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 description coverage is 100%, so chain, limit, and address are already documented in the schema. The description reinforces semantics ('top N', 'on Base or Ethereum') but adds no format or edge-case detail beyond what the schema provides, so 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?

States a specific verb and resource: returns the top N holders of an ERC-20 contract on Base or Ethereum, and enumerates the returned fields (rank, address, raw/formatted balance, supply share). The opening clause distinguishes it from address-centric siblings like balances by framing it as token-holder concentration analysis.

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?

Gives explicit triggering context: 'Use when you need who holds a token (concentration, whales, treasury).' That is clear positive guidance, but it never names a sibling alternative (e.g., balances for a single address's holdings) or states when not to use it.

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

priceScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: Chainlink USD pricesA
Read-onlyIdempotent
Inspect

Use when you need a trustworthy USD price for crypto assets (ETH, BTC, cbBTC, SOL, LINK, AAVE, stablecoins), fiat FX rates (EUR, GBP, JPY…) or metals (XAU, XAG): reads the Chainlink price feed contracts directly from Base or Ethereum in one multicall and returns price, last update time, age in seconds, a stale flag and the feed address so the value is verifiable on-chain. Up to 10 symbols per call. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
chainNoChain to read the feeds from.base
symbolsYesComma-separated asset symbols (max 10), e.g. "ETH,BTC,USDC,EUR". GET / lists all supported symbols per chain.

TDQS

A4.7/5.0
Behavior5/5

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

With annotations only covering read-only/idempotent/open-world, the description carries the rest: it discloses batching via multicall, the exact return fields (price, last update time, age in seconds, stale flag, feed address), the 10-symbol cap, and the paid x402 USDC model at $0.002 per successful call including the PaymentRequired response when unpaid.

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?

Front-loads the trigger and the value proposition, then packs scope, return shape, limits, and cost into two dense sentences with no filler. Nothing is repeated from the schema or annotations.

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, yet the description enumerates the return fields and the stale-flag semantics, and it explains the payment failure path. For a two-parameter read tool this is complete enough to invoke confidently.

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 the baseline is 3, but the description adds real meaning: the 10-symbol limit, the comma-separated format, and the supported symbol universe (ETH, BTC, cbBTC, SOL, LINK, AAVE, stablecoins, EUR/GBP/JPY, XAU/XAG). The chain parameter's effect is left to 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?

States a specific action (reads Chainlink price feed contracts directly in one multicall) and resource (USD prices for crypto, FX rates, metals) on Base or Ethereum. The 'verifiable on-chain' oracle framing implicitly distinguishes it from the sibling dex_price, so an agent can pick correctly.

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?

"Use when you need a trustworthy USD price for..." gives an explicit trigger, and the enumeration of asset classes (crypto, fiat FX, metals) sharpens the context. It never states when to prefer the sibling dex_price instead, so the alternative is left to inference.

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

tokenScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: ERC-20 token infoA
Read-onlyIdempotent
Inspect

Use when you have a token contract address and need to know what it is: reads name, symbol, decimals and totalSupply straight from the contract (one multicall) on Base or Ethereum, confirms there is contract code at the address, and adds a Chainlink USD price when one exists for the symbol. Answers 404 (not charged) when the address is not a token. Paid tool: x402 USDC on Base, $0.001 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
chainNoChain.base
addressYesToken contract address (0x…).

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnly/openWorld/idempotent annotations: one multicall execution, contract-code existence check, 404 is not charged, x402 USDC payment on Base at $0.001 per successful call, and the pay-without-payment flow returns a PaymentRequired object. That is unusually rich operational context.

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?

Front-loaded with the trigger condition and the returned fields before moving to pricing mechanics. Three dense sentences with little waste, though the payment clause is packed and slows the read slightly.

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?

With no output schema, the description compensates by enumerating return fields (name, symbol, decimals, totalSupply, optional Chainlink USD price). Between that, the failure mode (404), and the payment flow, an agent has everything needed to invoke it correctly.

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% and both parameters are described in the schema, so baseline is 3. The description reinforces that the address is a token contract and that chain is Base or Ethereum, but adds no format, validation, or edge-case detail beyond the enum already in 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?

States a specific verb+resource — reads name, symbol, decimals and totalSupply from a token contract — and enumerates the exact fields returned. It also differentiates from the sibling price/dex_price tools by noting it only 'adds a Chainlink USD price when one exists for the symbol.'

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?

'Use when you have a token contract address and need to know what it is' gives an explicit trigger condition, and the 404-when-not-a-token note clarifies when the tool will not answer. It never names an alternative sibling for the price-lookup case, so routing is implied rather than stated.

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

txScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum: Transaction lookupA
Read-onlyIdempotent
Inspect

Use when you need to confirm or explain a transaction (e.g. verify a payment arrived): fetches the transaction, its receipt and block from Base or Ethereum and returns success/failed/pending, confirmations, timestamp, from, to, native value, gas used and fee, the 4-byte method selector, contract created, and every ERC-20 Transfer log decoded with token symbol and human amount. 404 (not charged) if the hash is unknown. Paid tool: x402 USDC on Base, $0.002 per successful call; call without payment to receive the PaymentRequired object.

NameRequiredDescriptionDefault
hashYesTransaction hash (0x + 64 hex).
chainNoChain.base

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover safety (readOnly, idempotent, openWorld), but the description adds substantial behavior beyond them: status tri-state (success/failed/pending), confirmations, decoded ERC-20 Transfer logs, and crucially the commercial model (x402 USDC on Base, $0.002 per successful call, PaymentRequired object on unpaid call) plus the 404-not-charged semantics. This is exactly the operational detail an agent needs and cannot get from structured fields.

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?

Front-loaded with the trigger condition, then the return payload, then the pricing caveat — a sensible ordering. The middle sentence is long and heavily enumerated, but every clause carries distinct information (status, confirmations, decoded logs), so little is wasted.

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, so the description must carry the return contract, and it does: status, confirmations, timestamp, from/to, value, gas used and fee, method selector, contract created, and decoded Transfer logs. Combined with the payment and 404 behavior, an agent has everything needed to call and interpret this tool.

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 description coverage is 100% and both parameters are documented in the schema, including the chain enum and hash format. The description only restates 'Base or Ethereum', adding no format, default, or edge-case semantics beyond the schema, so the 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?

Names a specific verb and resource ('fetches the transaction, its receipt and block from Base or Ethereum') and enumerates the decoded payload, so an agent can distinguish it from siblings like balances, holders or gas at a glance. The scope (single tx hash lookup, not a list) is unambiguous.

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?

Gives a clear triggering condition: 'Use when you need to confirm or explain a transaction (e.g. verify a payment arrived).' That is explicit context for invocation. It does not, however, name an alternative sibling or state when-not to use it, so it stops short of full routing guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedholders2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address (0x…)."New value: +"Token contract address (0x…) on the chosen chain. Example: USDT on Ethereum (use with chain=ethereum)."
      • changedInput schema / properties / chain / description
        Previous value: -"Chain."New value: +"Chain. The example address is on Ethereum, so it needs chain=ethereum."
  2. 1 tool update
    • Addedholders
  3. 7 tool updates
    • First observedbalances
    • First observeddex_price
    • First observedens
    • First observedgas
    • First observedprice
    • First observedtoken
    • First observedtx

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources