Skip to main content
Glama

Server Details

ChainRay provides multi-chain blockchain data and intelligence for AI agents through 79 MCP tools across 57 supported networks, covering gas, chain data, wallets, DeFi, market, security, monitoring, and verifiable proofs. MCP access is available at https://mcp.chainray.online/mcp; paid HTTP capabilities settle via x402 on Base.

Ownership verified
Status
Healthy
Uptime
99.8% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.1/5.0

Scored across 79 tools

Disambiguation3/5

Many tools cluster tightly: gas.tracker/gas.history/gas.predict/gas.optimize/predict.gas, and defi.yields/defi.compare/defi.aggregator/defi.tvl/defi.health all answer related yield/gas questions. The descriptions do include explicit 'Scope:' and 'not X, use Y' clauses that help an agent route correctly, which keeps this above a 2, but at 79 tools the boundaries still require careful reading and several pairs are near-duplicates (gas.predict vs predict.gas).

Naming Consistency4/5

Nearly all names use a predictable dotted snake_case namespace pattern of category.subcategory.action (e.g. chain.bridge.monitor, security.contract.scan, token.approval, wallet.credit_score). Minor deviations exist (single-word segments like defi.aggregator, or four-segment agent.card.discover), but the convention is readable and largely uniform.

Tool Count1/5

79 tools far exceeds a well-scoped surface; the set spans agents, chains, DeFi, gas, market, monitors, NFTs, oracles, prediction, security, tokens, util, and wallet domains. Many tools are thin variants of one another, indicating an aggregated multi-service surface rather than a focused, earns-its-place toolset.

Completeness4/5

Coverage is very broad: identity/reputation, wallet profiling and credit scoring, token risk and holders, contract scanning, MEV protection, gas analytics, DeFi yields/TVL, NFTs, governance, ENS, and proof verification are all present. Some lifecycle gaps exist (e.g. watch has create/diff but no delete/list), but nothing major will block typical agent workflows.

Available Tools

79 tools
agent.card.discoverAgent Card DiscoverA
Read-onlyIdempotent
Inspect

Discover AI Agents by capability, chain, or keyword. Returns matching agents with trust scores. Useful for finding agents to collaborate with. ($0.007)

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoFilter by supported chain
limitNoMax results (1-50)
keywordNoSearch keyword in agent name/description
capabilityNoFilter by capability: swap, bridge, monitor, analyze, trade

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
agentsNoDiscovered agent cards

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that results carry trust scores and discloses a cost ($0.007), which is genuinely useful context, but omits pagination/result-size behavior beyond the schema's limit.

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?

Three short sentences, front-loaded with the verb and resource; every clause carries information except the parenthetical cost, which is terse and arguably useful. No padding or repetition.

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?

An output schema exists, so return structure need not be explained, and the description still summarizes the payload (agents with trust scores). All parameters are schema-documented, leaving only sibling differentiation and pagination as minor gaps for a read-only discovery 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%, so chain, limit, keyword and capability are already documented at the field level (including the capability enum list). The description only restates the filter dimensions and adds no format or syntax detail, matching the baseline-3 expectation.

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

Purpose4/5

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

States a specific verb (Discover) and resource (AI Agents) plus the three filter facets, and adds what is returned (matching agents with trust scores). However, it does not name or contrast the sibling agent.card.lookup, so the boundary between 'discover many' and 'lookup one' is left to inference.

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?

'Useful for finding agents to collaborate with' gives an implied scenario but no explicit when-to-use versus agent.card.lookup or agent.reputation. No exclusions or alternatives are named, so routing depends on the agent's own reading of the sibling list.

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

agent.card.lookupAgent Card LookupA
Read-onlyIdempotent
Inspect

Look up a specific AI Agent's card by ID. Returns identity, capabilities, trust score, and endpoints. ($0.002)

ParametersJSON Schema
NameRequiredDescriptionDefault
agentIdYesAgent ID to look up

Output Schema

ParametersJSON Schema
NameRequiredDescription
agentNoAgent card data
foundNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds genuinely new context beyond the annotations: the returned fields and, importantly, the $0.002 cost of the call, which is not captured in any structured field.

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 tight sentences, front-loaded with the action and scope, followed by return contents and cost. No wasted words; every clause earns its place.

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 an output schema documenting the return shape and annotations covering the safety profile, the description only needs to frame purpose, scope, and cost, which it does. Minor gap: no explicit distinction from agent.card.discover within the crowded agent.card.* family.

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% for the single agentId parameter, so the schema carries the semantics. The description adds nothing about ID format or provenance (e.g., where agentId comes from), so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (look up) plus resource (AI Agent's card) and scope (by ID), and lists the returned content. It contrasts implicitly with agent.card.discover via 'specific ... by ID', but never names that sibling, so differentiation is inferential rather than explicit.

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?

The phrase 'by ID' implies the usage context (fetch one known agent), but there is no explicit when-to-use, no when-not-to-use, and no routing to agent.card.discover for browsing. Usage is implied only.

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

agent.card.registerAgent Card RegisterAInspect

Register an AI Agent in the ChainRay A2A Agent Card registry. Requires agentId, name, and capabilities array. Auto-attaches KYA trust score if paymentAddress provided. Returns registration status. ($0.05)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable agent name
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
chainsNoSupported chains
agentIdYesUnique agent identifier (address, ENS, or custom ID)
descriptionNoWhat the agent does
updateTokenNoPrivate ownership token returned when this agent was first registered
capabilitiesYesAgent capabilities: swap, bridge, monitor, analyze, trade, etc.
paymentAddressNoWallet address for receiving payments (triggers KYA scoring)

Output Schema

ParametersJSON Schema
NameRequiredDescription
cardNo
agentIdNo
successYesRegistration success

TDQS

A3.6/5.0
Behavior4/5

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

Annotations declare mutation (readOnlyHint=false), non-idempotent, and open-world behavior. The description adds real context beyond that: the auto-attachment of a KYA trust score when paymentAddress is supplied, the returned registration status, and the $0.05 cost. It stops short of describing auth/ownership implications of updateToken.

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?

Four tight sentences, front-loaded with the action and resource. Every sentence carries information (required inputs, KYA trigger, return, cost) with little waste.

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 registration mutation with an output schema present, the description covers required inputs, the notable side effect (KYA scoring), and the response. It does not address ownership/update semantics of updateToken, a minor gap given the schema documents it.

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. The description goes further by naming the three required params and, importantly, explaining the behavioral consequence of paymentAddress (triggers KYA scoring) beyond the schema's own text.

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

Purpose4/5

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

States a specific verb+resource: 'Register an AI Agent in the ChainRay A2A Agent Card registry.' This clearly distinguishes it from siblings like agent.card.discover and agent.card.lookup (read operations). It does not explicitly name siblings, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description explains what is required to register but gives no when-to-use guidance, no when-not conditions, and no alternatives among the sibling tools (e.g., when to register vs. look up an existing card). Usage is only implied by the tool name.

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

agent.erc8004ERC-8004 ReputationB
Read-onlyIdempotent
Inspect

Get agent reputation in ERC-8004 standard format (Identity + Reputation + Validation Registry schema). Same KYA analysis but formatted for on-chain registry compatibility. ($0.025)

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesWallet or agent address (0x...)

Output Schema

ParametersJSON Schema
NameRequiredDescription
addressNoAddress
reputationNoERC-8004 reputation data

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds real value beyond the schema by disclosing the ERC-8004 output composition and the $0.025 cost, but says nothing about latency, data freshness, or what an unknown address returns.

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?

Three tight sentences, front-loaded with the core action and format, with the cost tacked on at the end. No filler, though the parenthetical schema enumeration is slightly dense.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the low parameter complexity is well handled. The main gap is the missing routing signal against the agent.reputation sibling, which an agent would need to pick correctly between the two.

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 only 2 parameters (address required, chain enum with default), so the schema already documents everything. The description adds no parameter-level meaning, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Get agent reputation') plus the output format (ERC-8004 standard: Identity + Reputation + Validation Registry schema). The phrase 'same KYA analysis but formatted for on-chain registry compatibility' implicitly differentiates it from the agent.reputation sibling, though it never names that sibling explicitly.

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?

The format contrast ('same KYA analysis but formatted for on-chain registry compatibility') implies when to pick this over the plain reputation tool, but no alternative is named and there is no explicit when-to-use/when-not guidance. Usage 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.

agent.reputationAgent ReputationA
Read-onlyIdempotent
Inspect

KYA (Know Your Agent): 10-factor on-chain reputation scoring. Evaluates transaction volume, balances, token diversity, DeFi interactions, cross-chain intel, and risk flags. Returns trust score (0-100) and trust level. ERC-8004 compatible. Scope: Agent or wallet collaboration trust and reputation signals, including ERC-8004-compatible evidence. Use this before relying on another Agent. It is not a wallet's financial activity score (wallet.credit_score), a registered identity card (agent.card.lookup), or proof that the subject is a verified person or organization.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesAgent/wallet address to evaluate

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
agentIdYesAddress
factorsYes
verdictYes
maxScoreYes
standardYes
riskFlagsYes
timestampYesUnix timestamp ms
oracleTypeYes
trustLevelYes
trustScoreYes
methodologyYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds useful context: the scoring inputs, the 0-100 trust score output, trust level, and ERC-8004 compatibility. It does not add auth/rate-limit or data-freshness details, keeping it short of a 5.

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?

Purpose is front-loaded, followed by use case, then scope exclusions. The final negation sentence packs three exclusions but remains parseable. Slightly dense, though every clause carries routing value.

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 an output schema present, the description needn't explain return structure; it still mentions outputs briefly. Annotations cover safety, schema covers params, and the description covers purpose, inputs, and sibling disambiguation. Nothing an agent needs to invoke it 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 description coverage is 100% and the chain enum with its default is fully documented in the schema, so the baseline is 3. The description adds no addressing or chain-selection nuance beyond what the structured fields already carry.

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 ('KYA: 10-factor on-chain reputation scoring') and enumerates the exact factors evaluated. It explicitly names the siblings it is not (wallet.credit_score, agent.card.lookup), so an agent can distinguish it without opening any 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?

Gives an explicit trigger ('Use this before relying on another Agent') and negative routing with named alternatives ('It is not a wallet's financial activity score (wallet.credit_score), a registered identity card (agent.card.lookup)'). When-to-use and when-not-to-use are both spelled out.

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

analyze.recent_interactionsRecent InteractionsB
Read-onlyIdempotent
Inspect

Show addresses that interacted with a target in recent ~2000 blocks. Labels known entities (CEX, DEX, bridges). EVM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesTarget wallet address

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
chainYesBlockchain queried
targetYesAddress
summaryYes
chainNameYes
timestampYesUnix timestamp ms
blocksScannedYes
knownEntitiesYes
topInteractionsYes
uniqueAddressesYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds the ~2000-block lookback window and the entity-labeling behavior (CEX, DEX, bridges), which are useful traits beyond the annotations, but it omits pagination limits, result caps, and whether results are sorted or truncated.

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?

Three short sentences, front-loaded with the core action and scope, then the labeling behavior, then the chain constraint. No filler or redundancy.

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 an output schema present, return values need not be explained. The description covers scope, labeling, and chain restriction, which is sufficient for a read-only analysis tool, though a note on result limits or ordering 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?

Schema description coverage is 100%, and the chain enum with its default is fully documented in the schema. The description adds no parameter-level detail beyond restating the EVM-only restriction, so the schema carries the burden and baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb ('Show'), a precise resource ('addresses that interacted with a target'), and a bounded scope ('recent ~2000 blocks'). It also notes the labeling behavior and the EVM-only constraint, so an agent can distinguish it from generic label or portfolio tools, though it does not explicitly name a sibling alternative.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. 'EVM only' is a hard constraint rather than usage guidance, so the agent must infer the appropriate context from the tool name and description alone.

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

analyze.risk_dashboardRisk DashboardA
Read-onlyIdempotent
Inspect

Get a unified risk assessment for any address: combines contract security scan, token approval risks, and market liquidation stress into one composite risk score. Scope: composite decision view for one wallet or contract, combining contract, approval, and liquidation-risk signals. Use this when the agent wants one prioritized address risk summary. Use security.contract.scan, token.approval, or wallet.credit_score when it needs one focused dimension instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesWallet or contract address to assess

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
risksNoRisk indicators
overallRiskNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly=true, destructive=false, idempotent=true, and openWorld=true, so the safety profile is covered. The description adds meaningful behavioral context beyond that: this tool fans out across contract security, approval risk, and liquidation stress to produce a composite score, which tells the agent the call is heavier/aggregated rather than a single-dimension lookup.

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 core capability and tightly scoped, but the first sentence and the 'Scope:' sentence overlap ('combines contract security scan, token approval risks, and market liquidation stress' vs. 'combining contract, approval, and liquidation-risk signals'), so some content is restated rather than earned twice.

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 an aggregating read tool with an output schema present, the description needn't explain return values, and it adequately covers scope, decision use-case, and sibling alternatives. It stops just short of 5 only because it doesn't note latency/cost implications of a multi-source composite call.

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 (address, chain with its full enum list) are already fully documented in the schema. The description adds no format hints or constraints beyond 'one wallet or contract', which merely restates the address parameter. Baseline 3 is appropriate when the schema carries the parameter burden.

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?

Starts with a specific verb+resource ('Get a unified risk assessment for any address') and enumerates the three constituent signals it composes. It explicitly distinguishes itself from security.contract.scan, token.approval, and wallet.credit_score, so an agent can route without opening any 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?

'Use this when the agent wants one prioritized address risk summary' states the selecting condition, and 'Use security.contract.scan, token.approval, or wallet.credit_score when it needs one focused dimension instead' names the alternatives and the condition that favors them. This is explicit when-to-use and when-not-to-use guidance.

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

analyze.tx_decodeTransaction DecodeC
Read-onlyIdempotent
Inspect

Decode a transaction: value, gas cost, status, method ID, and whether it's a contract call.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
txHashYesTransaction hash

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainNoBlockchain queried
valueNo
methodNo
statusNo
txHashYes
gasUsedNo
isContractCallNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is fully covered elsewhere. The description adds no behavioral context beyond that — no error behavior for unknown hashes, no rate/latency notes — and the field list it does give duplicates the output schema.

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?

A single front-loaded sentence with no filler; the verb and resource lead and the field list follows. Slightly compressed to the point of omitting usage context, but nothing is wasted.

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

Completeness3/5

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

With 100% schema coverage, an output schema, and annotations carrying the safety profile, the essentials are covered. However a decode tool with no note on invalid/missing hash handling or which chain defaults apply leaves small gaps an agent may need to discover at call time.

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% with only two parameters, both documented in the schema (chain default: base, txHash). The description adds nothing about parameter semantics, so the baseline 3 for high coverage applies.

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

Purpose4/5

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

States a specific verb ('Decode') and resource ('a transaction') and enumerates the decoded fields, so the agent knows exactly what comes back. It does not differentiate itself from nearby read tools like chain.block or security.contract.events, but no sibling is a true duplicate.

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

Usage Guidelines2/5

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

There is no statement of when to reach for this tool versus alternatives, and no prerequisites or input-format guidance. The agent must infer usage purely from the name and one-line purpose.

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

chain.blockBlock InfoA
Read-onlyIdempotent
Inspect

Get latest or specific block data including gas, transactions, and timestamps. Use for exact latest or historical block facts on one chain, including block number, gas, transactions, and timestamps. Do not use it for an aggregate chain health view; use chain.health for a single chain or oracle.chain_status for multi-chain status.

ParametersJSON Schema
NameRequiredDescriptionDefault
blockNoBlock number (omit for latest)
chainNoEVM chain (default: base)

Output Schema

ParametersJSON Schema
NameRequiredDescription
hashYes
sizeYes
chainYesBlockchain queried
minerYes
numberYes
gasUsedYes
gasLimitYes
fetchedAtYesUnix timestamp ms
timestampYes
parentHashYes
timestampISOYes
baseFeePerGasYes
transactionCountYes

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint, so the safety profile is covered. The description adds the single-chain scope constraint, which is useful, but says nothing beyond that about behavior since an output schema documents the return shape. Adequate but not rich.

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 core action and the alternative-tool routing is at the end where it belongs. The field list ('gas, transactions, and timestamps') is stated twice across the first two sentences, which is a small redundancy.

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 an output schema covering return values and annotations covering the safety profile, the description only needs purpose and routing, both of which it supplies. The duplicated payload enumeration is the only slack.

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 document their defaults ('omit for latest', 'default: base'). The description repeats the field list rather than adding syntax or format detail 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?

States a specific verb and resource ('Get latest or specific block data') and enumerates the payload (gas, transactions, timestamps). It names the sibling tools it is not (chain.health, oracle.chain_status), so an agent can distinguish it without opening schemas.

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?

Explicitly states when to use it ('exact latest or historical block facts on one chain') and when not to ('Do not use it for an aggregate chain health view'), naming the two alternative tools by name. Routing is unambiguous.

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

chain.bridge.flowBridge FlowA
Read-onlyIdempotent
Inspect

Analyze cross-chain bridge capital flow direction. Determines if a chain is seeing net capital inflow (bullish) or outflow (bearish). Use for directional net capital flow across bridges on one chain. For large bridge-transfer detection, use chain.bridge.monitor; use chain.compare when choosing between chains.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
flowsNoBridge flow data

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine interpretive context beyond the annotations: inflow reads bullish, outflow reads bearish. It stops short of describing refresh cadence or how the directional signal is computed, so not a 5.

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?

Three tight sentences: purpose, interpretation, then routing. Front-loaded with the core action and zero filler or repetition of the title.

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?

A read-only, single-parameter analytical query with an output schema that carries the return values, so the description need not explain response shape. Purpose, interpretation, and sibling routing are all present, leaving nothing an agent needs before calling it.

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 the single chain parameter is fully documented with an enum and default, so the schema does the heavy lifting. The description adds no filtering syntax or format guidance beyond what the schema already provides, which is the correct baseline here.

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 (analyze) and resource (cross-chain bridge capital flow direction), and immediately distinguishes itself from the two nearest siblings by name. An agent can select it without opening any other 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?

Explicitly states when to use it ('directional net capital flow across bridges on one chain') and routes the agent elsewhere with conditions: chain.bridge.monitor for large transfer detection, chain.compare when choosing between chains. Both the usage condition and the exclusions are present.

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

chain.bridge.monitorBridge MonitorA
Read-onlyIdempotent
Inspect

Detect large token transfers involving known bridge contracts (Across, Wormhole, official bridges). EVM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
minAmountNoMinimum USD value

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
bridgesNoBridge activity data
totalVolumeNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds useful scope context (EVM-only, which bridge contracts are watched), but says nothing about what 'large' means operationally, whether results are pushed as alerts versus returned, or any cadence/rate behavior.

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 compact sentences, front-loaded with the core detection purpose and immediately followed by the scope constraint. Zero filler or restated title text.

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 an output schema present and 100% parameter description coverage, the definition needn't explain return values, and it correctly limits itself to purpose plus scope. The one remaining gap is sibling disambiguation from chain.bridge.flow, which would make routing unambiguous.

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% for both parameters, including the chain enum list and the minAmount default/minimum, so the schema carries the parameter burden. The description's phrase 'large token transfers' loosely maps to minAmount but adds no threshold or format detail beyond what the schema already provides; baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Detect') and resource ('large token transfers involving known bridge contracts') and names concrete protocols (Across, Wormhole, official bridges), so the subject matter is unambiguous. It does not, however, distinguish itself from the very similar sibling chain.bridge.flow, leaving the agent to guess which bridge tool applies.

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?

The 'EVM only' clause functions as an implicit exclusion (don't use for non-EVM chains), and the monitoring intent is implied by the tool name. But there is no explicit when-to-use guidance and no mention of the overlapping sibling chain.bridge.flow, which an agent would need in order to choose correctly.

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

chain.compareChain CompareA
Read-onlyIdempotent
Inspect

Side-by-side comparison of EVM chains — gas costs, block time, and best DeFi yields. Helps choose the optimal chain for transactions. Use to compare a bounded set of EVM chains when selecting a network for an action. It is a decision aid, not an outage monitor or transaction executor; use chain.health for a single-chain snapshot, gas.tracker for a live fee quote, or oracle.chain_status for multi-chain status.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainsNoUp to 15 EVM chains to compare. Defaults to base, ethereum, arbitrum, optimism.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rankingsYes
timestampYesUnix timestamp ms
comparisonYes
chainsComparedYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral framing by labeling itself a decision aid rather than a monitor or executor, which prevents misuse. It stops short of describing comparison recency or data-source freshness.

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?

Three sentences, front-loaded with the comparison scope before the routing guidance. The middle sentence ('Use to compare a bounded set of EVM chains when selecting a network for an action') partially repeats the opening sentence's scope, a minor redundancy in an otherwise tight definition.

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?

An output schema exists, so return-value detail is not owed here. Between the stated dimensions, the usage boundaries, and the named alternatives, an agent has everything needed to decide when and how to call 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?

With one parameter and 100% schema description coverage, the schema already documents the chain enum, the default set, and the maxItems cap. The description's only added signal is 'bounded set of EVM chains', which restates the maxItems constraint the schema already encodes. Baseline 3 is appropriate.

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 ('side-by-side comparison of EVM chains') and enumerates the compared dimensions (gas costs, block time, DeFi yields). It explicitly contrasts itself with chain.health, gas.tracker, and oracle.chain_status, so an agent can route without opening a sibling 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?

Gives an explicit when ('selecting a network for an action') and explicit when-not ('not an outage monitor or transaction executor'), naming three alternative tools for adjacent needs. Nothing 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.

chain.crossCross-Chain ProfileB
Read-onlyIdempotent
Inspect

Cross-chain wallet correlation: queries all supported EVM chains in parallel to show balance, nonce, and activity. Includes diversity score and classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address to analyze across all EVM chains

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
chainsYes
addressYesAddress
summaryYes
timestampYesUnix timestamp ms
chainsQueriedYes
chainsSuccessfulYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive, so the safety profile is covered. The description adds a useful behavioral detail — that it fans out across all supported EVM chains in parallel — but says nothing about rate limits, latency, or failure handling for a multi-chain fan-out.

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 tightly written sentences with the scope and outputs front-loaded and no filler; every clause earns its place.

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 an output schema covering the return shape and annotations covering safety, the description is nearly complete for a single-parameter read tool. The remaining gap is routing guidance versus the many chain.* and wallet.* siblings, which the description omits.

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 the single address parameter is fully documented in the schema, so the baseline of 3 applies. The description adds no format or validation detail (e.g., checksummed vs lowercase) beyond what the schema provides.

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

Purpose4/5

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

States a specific verb and resource ('Cross-chain wallet correlation') and enumerates the outputs (balance, nonce, activity, diversity score, classification), which is far more than a name restatement. It doesn't, however, differentiate itself from overlapping siblings like wallet.profile or chain.compare, so an agent can't fully disambiguate without opening schemas.

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

Usage Guidelines2/5

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

The description explains what the tool does but gives no when-to-use guidance, no prerequisites, and never names an alternative such as wallet.profile or chain.compare. Usage is only implied by the tool's scope.

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

chain.healthChain HealthA
Read-onlyIdempotent
Inspect

Chain health score aggregating gas data, protocol TVL, and stablecoin stability. Use for a single-chain operating snapshot before choosing where to act. The score is not a contract audit or a transaction guarantee; use security.contract.scan or token.risk for safety analysis and chain.block for block facts.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)

Output Schema

ParametersJSON Schema
NameRequiredDescription
gasNo
tvlNo
chainNoBlockchain queried
stabilityNo
healthScoreNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond that: it clarifies the score's scope boundaries (not an audit, not a transaction guarantee) and what feeds it, which prevents misreadings. It stops short of detailing freshness, coverage latency, or scoring methodology, so it is not a 5.

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?

Three sentences with zero filler, front-loaded with the definition, then the use case, then the exclusions. Each sentence earns its place and the ordering follows the reader's decision path.

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?

An output schema exists, so return-value detail is not needed. For a one-parameter, read-only aggregate the description supplies purpose, usage trigger, exclusions, and scope limits, leaving nothing an agent needs in order 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% with a single optional 'chain' parameter defaulting to base, so the schema carries the parameter documentation. The description's 'single-chain' framing implies exactly one chain is scoped, but it adds no syntax, default, or accepted-value detail beyond the schema. Baseline 3 is appropriate.

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 resource and scope: a 'chain health score' aggregating three named inputs (gas data, protocol TVL, stablecoin stability). It also distinguishes itself from siblings by explicitly excluding contract audits, transaction guarantees, risk analysis, and block facts, so an agent can route correctly without opening a 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?

Gives an explicit when-to-use ('single-chain operating snapshot before choosing where to act') plus when-not-to-use, naming concrete alternatives: security.contract.scan and token.risk for safety, chain.block for block facts. Both the trigger and the exclusions are spelled out.

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

defi.aggregatorYield AggregatorA
Read-onlyIdempotent
Inspect

Cross-chain DeFi yield ranking: scans Aave V3 across all supported chains to find the best supply APY and cheapest borrow rates. Use for a cross-chain ranking of configured DeFi lending opportunities. For a chain-specific protocol comparison, use defi.compare; for one protocol's rates, use defi.yields.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
tipYes
byChainYes
rankingYes
timestampYesUnix timestamp ms
highlightsYes
chainsScannedYes
tokensScannedYes
totalOpportunitiesYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral scope: the scan is limited to Aave V3 across supported chains and returns a ranking of supply APY vs borrow rates. It omits freshness/caching and rate-limit behavior, which keeps it short of a 5.

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?

Three tight sentences with zero filler: capability first, then usage, then routing to alternatives. Every sentence earns its place and the scoping statement is front-loaded.

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?

For a zero-parameter, read-only ranking tool with a declared output schema, the description covers what it does, its data source scope, and its sibling boundaries. Nothing needed to call it correctly is missing.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. It correctly avoids inventing parameter guidance that does not exist.

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+scope: cross-chain yield ranking that scans Aave V3 for best supply APY and cheapest borrow rates. It explicitly distinguishes itself from defi.compare (chain-specific protocol comparison) and defi.yields (one protocol's rates), so an agent can route without opening any 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?

Gives an explicit when-to-use ('cross-chain ranking of configured DeFi lending opportunities') plus two named alternatives with the exact condition that selects each. Nothing 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.

defi.compareDeFi CompareA
Read-onlyIdempotent
Inspect

Compare DeFi lending rates across protocols. EVM: Aave V3 vs Compound V3 side-by-side. Solana: Kamino + staking yield.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
comparisonNoProtocol comparison data

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description usefully narrows behavior to fixed protocol pairs per chain (only Aave V3 vs Compound V3 on the ~44 EVM chains, Kamino + staking on Solana), which is non-obvious context, but says nothing about data freshness or response shape.

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?

Three short fragments, front-loaded with the core purpose, zero filler. The terse protocol/chain notation ('EVM: Aave V3 vs Compound V3 side-by-side') is efficient but slightly telegraphic.

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 an output schema present, return values need no explanation, and the single enum parameter is fully documented in schema. The description supplies the missing scoping context (which protocols are compared on which chain family), leaving little an agent needs beyond whether it should prefer defi.yields instead.

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?

Single optional 'chain' parameter with 100% schema description coverage, so the schema fully documents the enum and default ('base'). The description's breakdown of what each chain family returns is protocol context rather than parameter semantics, so the baseline 3 applies.

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

Purpose4/5

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

Clear verb+resource: 'Compare DeFi lending rates across protocols', then names the concrete protocol pairs per ecosystem (Aave V3 vs Compound V3 on EVM, Kamino + staking yield on Solana). This is specific and distinguishes it from a generic yields tool, though it does not explicitly contrast itself with siblings like defi.yields or defi.aggregator that also deal with protocol rates.

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?

Usage is implied — the tool exists to do side-by-side protocol rate comparison — but there is no explicit 'use this when... / instead of defi.yields' routing. With nine defi.* siblings, a sentence naming the alternative would materially help selection.

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

defi.farmingYield FarmingB
Read-onlyIdempotent
Inspect

Get Uniswap V3 LP pool statistics including liquidity, fee tiers, and current tick data.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
farmsNoYield farming opportunities

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered structurally. The description adds the shape of the returned data (liquidity, fee tiers, tick), but says nothing about chain-dependent coverage, rate limits, or empty/missing-pool behavior beyond what annotations carry.

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?

A single front-loaded sentence with no filler, and the resource is stated before the enumerated data fields. It is efficiently sized, though it leaves room for a routing sentence that would cost little.

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 one-parameter read-only tool with an output schema and full annotations, the description covers the essentials: what is fetched and what fields it contains. The main gap is disambiguation from defi.liquidity/defi.yields and the mismatch with the 'Yield Farming' title, which could misroute an agent expecting yield opportunities.

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 the single 'chain' parameter has a documented enum plus a default, so the schema does the heavy lifting; baseline 3 applies. The description contributes nothing about the chain parameter or the default of 'base', nor which chains actually have Uniswap V3 pools despite the 44-chain enum.

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

Purpose4/5

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

The description gives a clear verb + resource ('Get Uniswap V3 LP pool statistics') and names the data scope (liquidity, fee tiers, current tick). It is specific enough to distinguish the resource from most siblings, but it never addresses the tension with its own name/title 'Yield Farming' nor differentiates itself from near-neighbors like defi.liquidity and defi.yields, which overlap heavily with 'LP pool statistics'.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no mention of alternatives such as defi.liquidity or defi.yields that an agent would plausibly consider for the same question. The only usage signal is implied by the resource name.

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

defi.healthProtocol HealthA
Read-onlyIdempotent
Inspect

Assess DeFi protocol health: combines TVL, utilization rates, and liquidation frequency into a composite health score (0-100). Use for protocol-level DeFi health and stress signals on one chain. It does not rank yields or inspect a token contract; use defi.aggregator for cross-chain lending rankings, defi.compare for protocol rates, or token.risk for token risk.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
metricsNo
protocolNo
healthScoreNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: the tool is a composite/derived metric rather than raw data, the score range is 0-100, and the scope is single-chain. It does not mention latency, rate limits, or data freshness, which keeps it short of a 5.

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?

Three sentences, each earning its place: definition and output, positive use case, then negative routing. The core capability is front-loaded and the sibling disambiguation is packed into one clause rather than padding.

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 an output schema present, the return shape needn't be described, and annotations cover the safety profile. The description supplies the derived-metric framing, chain scope, and full routing context, leaving no gap an agent needs to call this 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% and the single chain enum is fully enumerated with a description, so the schema carries the parameter burden; baseline 3 applies. The description only reinforces the single-chain scoping ('on one chain') and adds no format or default guidance beyond what the schema already states.

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 (assess) and resource (DeFi protocol health) and spells out exactly what the tool computes: a composite 0-100 score from TVL, utilization rates, and liquidation frequency. It explicitly contrasts itself with defi.aggregator, defi.compare, and token.risk, so an agent can distinguish it from siblings without opening any 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?

Provides both positive guidance ('use for protocol-level DeFi health and stress signals on one chain') and explicit exclusions ('does not rank yields or inspect a token contract'), each paired with the named alternative that covers that case. Nothing about routing 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.

defi.liquidityLiquidity DepthA
Read-onlyIdempotent
Inspect

Read Uniswap V3 pool state for a token pair: current price, active liquidity, fee tier. EVM only. Use when a known token pair needs pool-depth and active-liquidity context. It requires both token addresses and does not rank lending yields; use defi.aggregator or defi.compare for rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
tokenAYesFirst token address
tokenBYesSecond token address

Output Schema

ParametersJSON Schema
NameRequiredDescription
poolNo
chainYesBlockchain queried
depthNoLiquidity depth data

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description still adds meaningful scope constraints: Uniswap V3 only and EVM-only chains, which the agent cannot infer from annotations. It stops short of saying what happens when no pool exists for the pair or how the default chain is applied.

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?

Three short sentences with no padding: the operation and return fields come first, the platform constraint second, and routing guidance last. Every sentence carries information the agent needs.

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?

An output schema exists, so return values need no explanation, and the description covers scope, chain restriction, prerequisites, and sibling routing. It is slightly thin on edge behavior for unknown pairs or unsupported chains with no active pool, which is the remaining gap.

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 the chain enum and both token address parameters are already documented in the schema. The description only restates what the schema supplies ('requires both token addresses', 'EVM only'), adding no format, ordering, or resolution details for symbols vs. addresses. Baseline 3 is appropriate.

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 ('Read Uniswap V3 pool state') plus the exact payload (current price, active liquidity, fee tier), and scopes it with 'EVM only'. It also explicitly contrasts itself with defi.aggregator/defi.compare, so an agent can route without opening schemas.

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?

Gives an explicit use condition ('Use when a known token pair needs pool-depth and active-liquidity context'), a prerequisite ('requires both token addresses'), and names the alternatives for what it is not ('does not rank lending yields; use defi.aggregator or defi.compare for rates').

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

defi.opportunityDeFi OpportunityB
Read-onlyIdempotent
Inspect

Find the best DeFi yield opportunity combined with optimal gas timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
gasAdviceNo
opportunityNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds only that the result blends yield discovery with gas timing — useful context but no detail on freshness of data, chain coverage, or how the two signals are combined.

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?

A single front-loaded sentence with no filler or repetition. It is appropriately sized, though it could spend a few more words on the routing conditions that the sibling list makes necessary.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, with ~70 sibling tools and several near-neighbours, the definition omits the routing guidance and scope detail an agent needs to pick it confidently.

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?

Only one optional parameter (chain) with 100% schema description coverage ('EVM chain (default: base)'), so the schema already carries the semantics. The description adds nothing about supported chains or what happens when chain is omitted, which is exactly the baseline-3 situation.

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

Purpose4/5

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

States a specific verb ('Find') and a composite resource ('best DeFi yield opportunity combined with optimal gas timing'), which distinguishes it from single-purpose siblings like defi.yields or gas.optimize. The word 'best' is left undefined, so the exact optimisation criterion is not clear, but the tool's role as a yield+gas synthesiser is legible.

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

Usage Guidelines2/5

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

No indication of when to prefer this over the many adjacent siblings (defi.yields, defi.farming, defi.compare, gas.optimize, gas.predict). An agent must guess whether this is an aggregate entry point or a narrow query. No prerequisites or exclusions are given.

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

defi.tvlProtocol TVLB
Read-onlyIdempotent
Inspect

Calculate total value locked (TVL) in DeFi protocols (Aave V3, Compound V3) directly from on-chain aToken and Comet supplies.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
marketNo
onChainYes
timestampYesUnix timestamp ms

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds one genuinely useful behavioral detail beyond the annotations: that values are read directly from on-chain aToken and Comet supplies (i.e., live protocol state, not an aggregated/indexed source). It says nothing about refresh timing, rate limits, or how unsupported protocol positions are handled.

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?

A single well-formed sentence with the action, scope, and data source front-loaded and no filler. It is efficient, though the parenthesis-heavy construction packs in detail that could be slightly tighter.

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 tool is simple (one optional parameter) and has an output schema, so return-value documentation is not needed. The description covers what is computed, which protocols are supported, and where the data comes from. The main remaining gap is the absence of any routing guidance relative to its many defi.* siblings.

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 the single 'chain' parameter is fully enumerated with a default in the schema, so the baseline of 3 applies. The description adds no format or semantic detail beyond what the schema already provides.

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

Purpose4/5

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

States a specific verb ('Calculate'), a specific resource ('total value locked (TVL)'), and even names the protocols and data sources ('Aave V3, Compound V3... aToken and Comet supplies'). This is far more specific than a tautology. It stops short of distinguishing itself from defi.liquidity or defi.health, which could plausibly overlap.

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

Usage Guidelines2/5

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

The description never states when to use this tool versus alternatives such as defi.liquidity, defi.aggregator, or defi.health, and offers no exclusions or prerequisites. Usage is only implied by the nature of the calculation, leaving the agent to infer routing among eight defi.* siblings.

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

defi.yieldsDeFi YieldsB
Read-onlyIdempotent
Inspect

Get live DeFi lending rates. EVM: Aave V3 supply/borrow APY. Solana: Kamino KLend reserves + native staking yield.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
yieldsNoDeFi yield opportunities
protocolNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds the per-chain source breakdown (Aave on EVM vs Kamino plus staking on Solana), but discloses nothing about caching, freshness, rate limits, or empty-result behavior for an open-world live-data call.

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, front-loaded with the core action and then the per-chain source detail. Every clause carries information and nothing is wasted.

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 an output schema present, return values need not be described, and annotations cover safety. The source/chain mapping is a nice completeness touch, but the absence of any routing guidance against the many sibling defi tools leaves a small gap.

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 the single chain parameter is fully enumerated with its default, so the schema carries all parameter meaning. The description mentions chain families (EVM vs Solana) but adds no syntax or usage detail beyond what the schema already provides, making 3 the correct baseline.

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

Purpose4/5

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

Specific verb+resource ('Get live DeFi lending rates') with named data sources (Aave V3 supply/borrow APY, Kamino KLend reserves, native staking yield), so the agent knows exactly what it returns. However, it offers no differentiation from close siblings such as defi.opportunity, defi.farming, or defi.liquidity, so an agent cannot tell them apart from the description alone.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative guidance. In a cluster of defi.* tools (opportunity, compare, farming, liquidity, health), the description never says when yields is the right pick versus those siblings.

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

gas.historyGas HistoryA
Read-onlyIdempotent
Inspect

Get 6-hour gas fee trend with 36 sampled data points. EVM: base fee per block. Solana: TPS performance samples. Scope: recent sampled fee history and trend. Use this for 'how have fees behaved recently?'. It is not a current quote (gas.tracker), a forecast (gas.predict), or a submission recommendation (gas.optimize).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
periodNo
historyNoHistorical gas data points

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/open-world safety, so the description's added value is the data shape: a fixed 6-hour window with 36 samples, base fee per block on EVM, TPS samples on Solana. That is real behavioral context beyond the annotations, though it says nothing about pagination, staleness or latency.

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 core capability and window, then scope, then the use-case question, then exclusions. Every sentence earns its place with 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?

With an output schema present, return values need not be explained; the description covers window, sampling density, per-chain semantics and sibling differentiation. Nothing needed to call it correctly is missing.

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% and the enum description already enumerates chains, so the baseline is 3. The description earns a bump by explaining what the chain parameter actually yields per family (base fee per block for EVM, TPS samples for Solana), which the schema does not convey.

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 (get gas fee trend) plus scope (6-hour window, 36 sampled points) and chain-specific semantics for EVM vs Solana. An agent can immediately distinguish this from gas.tracker, gas.predict and gas.optimize.

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?

Explicitly names the natural-language question it answers ('how have fees behaved recently?') and enumerates the three sibling tools it is NOT, with the role each plays (current quote, forecast, submission recommendation). Routing is unambiguous.

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

gas.optimizeGas OptimizationA
Read-onlyIdempotent
Inspect

Gas price optimization advisor: analyzes recent block patterns to recommend the best time to transact. Includes savings estimate. Scope: read-only submission-timing advice derived from current and recent fee conditions. Use this for 'when should I submit?'. It is not the raw current quote (gas.tracker), a history response (gas.history), or a standalone forecast (gas.predict).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
currentCostNo
recommendationsNoGas optimization suggestions

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered structurally. The description adds real context beyond that: it is advisory/derived, based on 'current and recent fee conditions', and includes a savings estimate. It stops short of describing how the recommendation is derived or its confidence, which keeps it out of 5 territory.

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?

Three tight sentences: purpose, scope, and disambiguation, front-loaded so the core purpose lands first. The negative enumeration is compact and each clause carries distinct routing value; 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?

For a read-only advisory tool with an output schema (so return values need not be explained) and annotations covering the safety profile, the description supplies everything an agent needs: what it does, when to use it, and which siblings to prefer instead.

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?

There is a single optional 'chain' parameter with 100% schema description coverage, so the schema fully documents it (including the base default). The description adds no meaning about the parameter, which is acceptable given full coverage — 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?

The description states a specific resource and verb ('Gas price optimization advisor') plus the concrete action ('analyzes recent block patterns to recommend the best time to transact'). It explicitly names the sibling tools it is not (gas.tracker, gas.history, gas.predict), so an agent can distinguish it without opening any 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?

It gives an explicit trigger phrase ('Use this for "when should I submit?"') and enumerates the three sibling tools whose use cases it does NOT cover, with the reason for each (raw quote, history response, standalone forecast). Nothing 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.

gas.predictGas PredictionA
Read-onlyIdempotent
Inspect

Predict near-future gas prices using moving average and trend analysis of recent block base fees. Returns prediction, trend, and recommendation. Scope: short-horizon fee forecast from recent samples. Use this for 'what may fees be soon?'. It is not a live quote (gas.tracker), historical data (gas.history), or a timing recommendation (gas.optimize), and it never executes a transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
errorNo
statsNo
trendNo
currentNo
forecastNo
timestampYesUnix timestamp ms
dataSourceNo
methodologyNo
recommendationNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds real context beyond that: the analytical technique (moving average/trend of base fees), the short-horizon scope, and the explicit statement that it never executes a transaction. It doesn't mention accuracy caveats or refresh/cadence behavior, keeping it just short of a 5.

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 purpose, method, and return shape, followed by scope and routing. Well structured and readable, though the "Scope: short-horizon fee forecast from recent samples" clause partially re-states the opening sentence, and the "Returns prediction, trend, and recommendation" line overlaps with the output 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?

For a single-optional-parameter, read-only forecast tool this is complete: only one input is fully documented in the schema, return values are covered by the output schema, and annotations handle the safety profile. The description's remaining job — routing and method disclosure — is done.

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 single chain parameter has 100% schema description coverage with a fully enumerated list of supported chains, so the schema carries the semantics. The description adds no chain-specific guidance, 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?

States a specific verb and resource ("Predict near-future gas prices") plus the method used (moving average and trend analysis of recent block base fees). It explicitly names the siblings gas.tracker, gas.history, and gas.optimize and how this tool differs from each, so an agent can disambiguate without opening schemas.

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?

Gives an explicit trigger phrase ("what may fees be soon?") and negative routing for each close alternative: not a live quote (gas.tracker), not historical data (gas.history), not timing advice (gas.optimize). When-to-use and when-not-to-use are both covered.

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

gas.trackerGas TrackerA
Read-onlyIdempotent
Inspect

Get current gas/fee data. EVM: base fee, priority fee, predictions. Solana: priority fees, TPS, congestion level. Scope: current fee snapshot for a transaction decision. Use this for 'what are fees now?'. It is not a historical series (gas.history), a short-horizon forecast (gas.predict), or timing advice (gas.optimize).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
trendNoGas trend direction
currentNo
timestampNoUnix timestamp ms
congestionNoNetwork congestion level

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false and openWorld=true, so the safety profile is covered. The description adds genuine behavioral context beyond that by disclosing the shape of the returned data per chain family (base fee, priority fee, predictions for EVM; priority fees, TPS, congestion for Solana). It stops short of stating freshness/latency or rate-limit behavior, so it is not a full 5.

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?

Four tight sentences, each earning its place: capability, per-chain payload, scope trigger, then exclusions. Front-loaded with the verb+resource and no redundant restatement of the title or 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?

An output schema exists, so return values need not be described, and the description instead supplies the routing context (scope plus the three sibling exclusions) an agent needs to call it correctly. Nothing material is missing for a single-parameter read 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?

Only one parameter (chain) and schema description coverage is 100%, with a fully enumerated set of values and a documented EVM/non-EVM split, so the schema carries the semantics. The description restates the EVM vs Solana distinction but adds no new per-parameter meaning, which is the baseline-3 case.

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 (get current gas/fee data) and immediately scopes what the payload contains per ecosystem (EVM base/priority fee/predictions; Solana priority fees/TPS/congestion). It explicitly names the sibling tools it is not, so an agent can distinguish it from gas.history, gas.predict and gas.optimize without opening any 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?

Gives an explicit trigger phrase ("what are fees now?") and then enumerates the excluded use cases with their correct alternatives: historical series -> gas.history, short-horizon forecast -> gas.predict, timing advice -> gas.optimize. This is exactly the when/when-not/alternative structure that removes routing ambiguity.

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

market.dex_tradesDEX TradesA
Read-onlyIdempotent
Inspect

Get recent DEX swap trades from a Uniswap V3 pool. Use for recent swaps in a known Uniswap V3 pool. It is pool-specific and read-only; use market.overview for a broad snapshot or defi.liquidity for pool state and depth.

ParametersJSON Schema
NameRequiredDescriptionDefault
poolYesUniswap V3 pool address
chainNoEVM chain (default: base)

Output Schema

ParametersJSON Schema
NameRequiredDescription
poolNo
chainNoBlockchain queried
countNo
tradesNo

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description restates 'read-only' and adds the pool-scoping constraint, which is mildly useful, but discloses nothing beyond the annotations about return limits, pagination, or rate constraints. Baseline 3 given annotation coverage.

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?

Three short sentences, front-loaded with the core action and scope. Minor redundancy between 'Get recent DEX swap trades' and 'Use for recent swaps,' but nothing wasted overall.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. The description covers what, when, and alternatives, leaving only minor gaps around result limits or time windows.

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 (pool, chain) are already documented in the schema, including the chain default of base. The description adds no syntax or format 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+resource ('Get recent DEX swap trades') scoped precisely to a Uniswap V3 pool. It explicitly distinguishes itself from market.overview and defi.liquidity, so an agent can differentiate it from siblings without reading 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?

Gives an explicit when-to-use condition ('recent swaps in a known Uniswap V3 pool') and names two alternative tools with the different purposes they serve. Routing is unambiguous.

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

market.new_pairsNew Pair DiscoveryA
Read-onlyIdempotent
Inspect

Discover recently created Uniswap V3 pools and inspect token metadata. Returns an explicit unavailable result when the selected chain has no configured factory.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
hoursNoLookback period in hours (1-168)
withRiskNoInclude token risk scoring

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
chainYesBlockchain queried
errorNo
pairsNo
statusNo
availableNo
timestampNoUnix timestamp ms
capabilityNo
periodHoursNo
supportedChainsNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and openWorldHint, so the safety profile is covered. The description adds a genuinely useful behavioral fact beyond them: the tool returns an explicit unavailable result when the chain has no configured factory, which tells the agent how to interpret a non-data response. Rate limits, pagination, and result caps are still unstated.

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, no filler, and the core capability is front-loaded ahead of the edge-case degradation note. Everything stated earns its place.

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?

An output schema exists, so return shape need not be explained, and the failure mode on unconfigured chains is covered. The only real gap is routing guidance against the many market.* and token.* siblings, which the description leaves entirely to inference.

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%, with chain enum values, the hours 1-168 range, and withRisk all documented in the schema itself. The description only alludes to 'the selected chain' and 'token metadata', adding no syntax or meaning beyond what the schema already provides. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: discovering recently created Uniswap V3 pools plus token metadata inspection. That is far more precise than the title 'New Pair Discovery'. It does not, however, contrast itself with nearby siblings like market.dex_trades, market.overview, or token.trending, so an agent must still infer the boundary.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no named alternative. 'Recently created' hints at the lookback intent, but the agent is never told when this tool beats market.dex_trades or defi.liquidity for the same question.

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

market.overviewMarket OverviewA
Read-onlyIdempotent
Inspect

Get a cross-chain market snapshot: ETH price, gas costs, and DeFi TVL across Base, Ethereum, Arbitrum, and Optimism in one call. Use for a fixed broad snapshot of major market, gas, and TVL signals. It is not a chain health verdict, token price lookup, or custom chain comparison; use chain.health, token.price, or chain.compare for those questions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainsYes
sourcesYes
summaryYes
timestampYesUnix timestamp ms
topTokensYes
globalMarketYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive). The description adds useful context beyond them: it is a 'fixed' snapshot delivered 'in one call', implying no customization and a single aggregated fetch. It does not discuss freshness or rate limits, so not a full 5.

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?

Three sentences, front-loaded with the payload contents, then usage, then exclusions. Every sentence carries distinct information with no waste.

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 an output schema present, the description need not explain return values, and annotations carry the safety profile. The description supplies scope, contents, and sibling routing, so an agent has everything needed to select and call it 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?

The tool takes zero parameters, so the baseline is 4. The description's 'fixed broad snapshot' reinforces that there is nothing to configure, consistent with the empty 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 ('Get') and resource ('cross-chain market snapshot') and enumerates the exact contents (ETH price, gas costs, DeFi TVL) and the four chains covered. It is immediately distinguishable from siblings like token.price or gas.tracker.

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?

Explicitly says when to use it ('fixed broad snapshot of major market, gas, and TVL signals') and when not to, naming three concrete alternatives (chain.health, token.price, chain.compare) with the question each answers. Nothing 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.

market.solver_feedSolver FeedA
Read-onlyIdempotent
Inspect

Intent Solver decision intelligence. Provides profitability analysis, gas costs, competition level, and recommendations for ERC-7683 cross-chain intent execution. ($0.007) Use before evaluating an ERC-7683 cross-chain intent to compare gas, liquidity, competition, and estimated profitability. It does not execute the intent and should not be treated as a guaranteed quote; both source and destination must be supported EVM chains.

ParametersJSON Schema
NameRequiredDescriptionDefault
toChainNoDestination chainarbitrum
tokenInNoInput tokenUSDC
tokenOutNoOutput token symbol or 'native'native
amountUsdNoIntent amount in USD
fromChainNoSource chainbase

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
chainYesBlockchain queried
statusNo
solversNoSolver feed data
availableNo
missingDataNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior, so the safe-read profile is covered. The description adds useful context beyond that: it does not execute the intent, it is not a guaranteed quote, both chains must be supported EVM chains, and there is a $0.007 cost. That is meaningful behavioral disclosure, though nothing about rate limits or freshness of the analysis.

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?

Purpose is front-loaded in the first sentence, followed by placement guidance and caveats; the $0.007 cost is tucked in without disrupting flow. Three sentences, little waste, though the enumeration of dimensions is repeated between the first and second sentences.

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?

An output schema exists, so return-shape explanation is unnecessary, and annotations carry the safety profile. For a read-only analysis tool with 100% schema coverage, the description supplies enough scope, caveats, and cost context. It could say a bit more about what 'supported EVM chains' excludes, but overall it is 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?

Schema description coverage is 100% and two params carry enums, so the schema fully documents fromChain, toChain, tokenIn, tokenOut, and amountUsd. The description adds no syntax or format detail beyond that. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific domain (ERC-7683 cross-chain intent execution) and enumerates the outputs it produces — profitability analysis, gas costs, competition level, recommendations — so the agent knows exactly what it returns. The negative scope ('does not execute the intent') further bounds it. It does not explicitly name a sibling like util.intent_router, so sibling differentiation is implied rather than stated.

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 placement in a workflow ('Use before evaluating an ERC-7683 cross-chain intent') and lists the comparison dimensions. It also warns against misinterpreting the output as a guaranteed quote. No alternative tool is named for when this isn't the right choice, so it stops short of full when/when-not guidance.

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

market.stablecoin.monitorStablecoin MonitorA
Read-onlyIdempotent
Inspect

Monitor stablecoin peg stability. Detects USDC/USDT/DAI price deviations from $1.00 using on-chain DEX pool data.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
stablecoinsNoStablecoin status data

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, openWorld, and non-destructive behavior. The description adds useful context beyond annotations by naming the data source (on-chain DEX pool data), the monitored assets, and the $1.00 peg threshold.

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 tightly written sentences with no filler. The core purpose and the detected deviation scope are front-loaded.

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 a rich output schema, complete parameter documentation, and annotations covering safety semantics, the description provides everything needed for correct invocation. The agent need not rely on the description for return formats or chain enumeration.

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 the single chain parameter is fully documented in the schema, so the baseline is 3. The description does not add parameter-level 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?

States a specific verb and resource: monitor stablecoin peg stability. It further narrows scope to USDC/USDT/DAI deviations from $1.00 using on-chain DEX pool data, which distinguishes it from sibling market.stablecoin.supply.

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?

The monitoring purpose implies a use case, but there is no explicit when-to-use guidance, no conditions or exclusions, and no mention of the sibling market.stablecoin.supply alternative.

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

market.stablecoin.supplyStablecoin SupplyB
Read-onlyIdempotent
Inspect

Get USDC/USDT/DAI total supply across chains.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoSpecific chain or omit for multi-chain

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainNoBlockchain queried
suppliesNoStablecoin supply data

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds the asset scope and multi-chain aggregation semantics but says nothing about refresh cadence, caching, or how the cross-chain totals are composed.

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?

One short sentence, front-loaded with verb and resource, zero filler. Nothing could be removed without losing meaning.

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?

An output schema exists, so return values need not be explained, and annotations plus the schema cover the remaining structured fields. The only meaningful gap is routing guidance against market.stablecoin.monitor and other market.* siblings.

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 the single chain parameter is documented as 'Specific chain or omit for multi-chain'. The description's 'across chains' phrase echoes that behavior but adds no format, enum, or default detail beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Get) and resource (stablecoin total supply) with the exact assets covered (USDC/USDT/DAI) and cross-chain scope. An agent can distinguish it from token.supply (generic token) and from the similarly named market.stablecoin.monitor, though the latter distinction is left implicit.

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

Usage Guidelines2/5

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

No statement of when to use this versus alternatives, and the sibling market.stablecoin.monitor is not addressed despite the near-identical naming. Usage is only inferable from the name and asset list.

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

monitor.flashloanFlash Loan MonitorB
Read-onlyIdempotent
Inspect

Monitor flash loan activity on Aave V3. Detects recent flash loans with amounts and premiums paid.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
countNoEvent count
eventsNoMonitored events
timestampNoUnix timestamp ms

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds that it targets Aave V3 specifically and reports premiums, but says nothing about the lookback window implied by 'recent', rate limits, or data freshness.

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 tight sentences, no filler, with the protocol scope front-loaded ahead of what the tool returns.

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?

An output schema exists so return values need no explanation, and the tool is a one-parameter read. The only real gap is that 'recent' is undefined, so an agent cannot tell whether extra time-window arguments are needed.

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 the single 'chain' parameter is fully enumerated with a default, so the schema carries the meaning. The description adds no chain-selection guidance, leaving this at the baseline for a fully documented parameter.

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

Purpose4/5

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

States a specific verb and resource ('Monitor flash loan activity on Aave V3') plus the concrete outputs it detects (amounts and premiums paid), which separates it from generic monitor.* siblings like monitor.liquidation and monitor.whale.alerts. It does not name those alternatives, so it is clear but not maximally differentiated.

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

Usage Guidelines2/5

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

There is no guidance on when to reach for this tool versus monitor.liquidation, security.mev.detect, or defi.* siblings, and no exclusions or prerequisites. Usage must be inferred from the word 'Monitor' alone.

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

monitor.liquidationLiquidation AlertsB
Read-onlyIdempotent
Inspect

Monitor DeFi liquidation events on Aave V3. High liquidation counts indicate market stress and potential cascading risk.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
countNoEvent count
eventsNoMonitored events
timestampNoUnix timestamp ms

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds interpretive context (high counts = stress/cascading risk) but no behavioral specifics such as polling cadence, time window of returned events, or rate limits, so it adds only modest value.

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?

Two tight sentences with the verb+resource front-loaded and no filler. The second sentence is slightly tangential interpretation rather than operational detail, keeping it just short of a 5.

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

Completeness3/5

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

An output schema exists so return values need not be explained, and the single param is fully documented. However, for a monitoring tool the description omits the observation window (real-time vs historical), event volume, and threshold semantics, which an agent needs to interpret results 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?

The single 'chain' parameter has 100% schema description coverage including the full enum and a documented default of 'base', so the schema does the heavy lifting. The description adds nothing about chain selection or default behavior, making baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource (monitor DeFi liquidation events) plus a protocol scope (Aave V3), which an agent can act on. It does not explicitly distinguish itself from siblings like monitor.flashloan or monitor.whale.alerts, but the liquidation/Aave focus is distinct enough to route correctly.

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

Usage Guidelines2/5

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

No when-to-use vs when-not-to-use guidance and no named alternatives among the many monitor.* siblings. The market-stress interpretation hints at intent but never states a condition for selecting this tool over defi.health or analyze.risk_dashboard.

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

monitor.watch.addressWatch AddressAInspect

Create a watch on an address. Returns a wallet snapshot and watchId; use watch-diff later to receive only changed fields. Use to create the first address snapshot in a stateful watch workflow. Save the returned watchId and call monitor.watch.diff in the same MCP session for later changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base
addressYesWallet address to watch (EVM 0x... or Solana base58)

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeNo
chainYesBlockchain queried
addressYesAddress
watchIdYes
snapshotNo
timestampNoUnix timestamp ms
diffEndpointNo
totalWatchesNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true), so the description's added value is the stateful disclosure: the returned watchId only works within the same MCP session. That is a genuinely useful behavioral trait not derivable from the schema. It stops short of saying what happens to the watch if the session ends or whether repeated calls for the same address dedupe.

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 operation and its return value, followed by workflow routing. Mild redundancy between "Returns a wallet snapshot and watchId" and "Save the returned watchId," but each sentence carries a distinct instruction.

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 an output schema present, return values need not be explained, and the description still flags the two key outputs. For a 2-param, non-destructive-but-stateful tool it covers what an agent needs; only edge cases (session expiry, duplicate watches) go unaddressed.

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% — the chain enum with defaults and the address format (EVM 0x... or Solana base58) are already fully documented in the schema. The description adds no parameter-level semantics beyond that, 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?

States a specific verb+resource ("Create a watch on an address") and immediately names its counterpart monitor.watch.diff, so the agent can distinguish the stateful setup tool from the diff tool without opening either schema. Also names the concrete artifact produced (wallet snapshot + watchId).

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?

Explicitly says when to use it ("create the first address snapshot in a stateful watch workflow") and what to do next with the alternative ("call monitor.watch.diff in the same MCP session for later changes"). The sequencing and the session constraint are both spelled out rather than left to inference.

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

monitor.watch.diffWatch DiffAInspect

Get changes since the last check for a watched address. Returns changed fields and numeric deltas. Use only after monitor.watch.address has created a watchId in the same MCP session. It returns changes since the last check and advances the snapshot; create a new watch for a new address.

ParametersJSON Schema
NameRequiredDescriptionDefault
watchIdYesWatch ID from a previous watch-address call (e.g. w_abc123)

Output Schema

ParametersJSON Schema
NameRequiredDescription
diffNo
typeNo
chainYesBlockchain queried
addressYesAddress
watchIdYes
createdAtNo
timestampNoUnix timestamp ms
currentSnapshotNo
timeSinceLastCheckSecondsNo

TDQS

A4.3/5.0
Behavior4/5

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

The description explains the non-idempotent state mutation that the annotations only flag abstractly: it 'advances the snapshot' and is tied to a watchId created in the same MCP session. This reconciles well with readOnlyHint=false and idempotentHint=false, since the operation mutates internal state despite reading like a diff. It does not cover edge behavior such as expired/invalid watchIds or rate limits.

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?

Three short sentences with the core behavior front-loaded and the prerequisite immediately after. The 'changes since the last check' idea is stated twice (opening sentence and second-to-last clause), a minor redundancy.

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?

Covers purpose, prerequisite, session scoping, and state-advancement behavior, and an output schema exists so return-value detail is not required. Remaining gaps (error handling for a stale or foreign-session watchId) are minor for a single-parameter 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?

There is a single parameter with 100% schema description coverage, and the schema already states it is the watch ID from a previous watch-address call. The description's mention of the watchId origin duplicates that, adding no syntax or format detail 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?

States a specific verb and resource: 'Get changes since the last check for a watched address,' plus the return content (changed fields and numeric deltas). It clearly differentiates itself from its sibling monitor.watch.address by describing what happens after a watch exists.

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?

Explicitly states the prerequisite ('Use only after monitor.watch.address has created a watchId in the same MCP session') and the exclusion ('create a new watch for a new address'). An agent knows exactly when this tool is valid versus when to create a new watch.

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

monitor.whale.alertsWhale AlertsB
Read-onlyIdempotent
Inspect

Monitor large token transfers (USDC, WETH) on EVM chains or large SOL transfers on Solana. Returns recent whale movements above a threshold.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base
hoursNoLookback hours (EVM only)
minAmountNoMinimum USD value to qualify as whale transfer

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
countNoNumber of transfers
transfersNoWhale transfers detected

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety and idempotence are covered. The description adds that results are threshold-filtered and time-bound, which is useful, but does not explain rate limits, latency, pagination, or what 'recent' means operationally.

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?

Two sentences, no filler, and the supported-chains caveat is front-loaded. Could be tightened further but nothing is wasted.

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

Completeness3/5

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

Given an output schema exists, return-format explanation is not needed, and annotations carry the safety profile. The description is adequate but leaves the sibling disambiguation unresolved, which for a crowded monitor.* namespace is a meaningful gap.

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 every parameter including the 47-value enum is documented there. The description names supported asset classes (USDC, WETH, SOL) which adds marginal context, but relies on the schema for parameter meaning – appropriate baseline of 3.

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

Purpose4/5

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

The description states a specific verb (monitor), resource (large token transfers / whale movements), and scope (EVM & Solana chains). This distinguishes it clearly from siblings like monitor.whale.tracker and predict.whale_move, though it names neither directly.

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

Usage Guidelines2/5

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

No guidance is given about when this tool should be used versus the closely-named sibling monitor.whale.tracker or predict.whale_move, nor about prerequisites. The agent must infer that this monitors *current/recent* movements while 'predict' forecasts them.

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

monitor.whale.trackerWhale TrackerB
Read-onlyIdempotent
Inspect

Track a specific whale address with Address Intelligence labels and wallet profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
addressYesWhale address to track

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
labelsNo
addressYesAddress
profileNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds only the return content (labels + profile); it does not clarify whether 'Track' means a one-shot snapshot or a persistent subscription (the name and verb otherwise suggest ongoing monitoring), nor does it mention rate limits or auth. Useful but thin beyond the annotations.

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?

A single front-loaded sentence with no filler, and the resource and return payload come first. It is arguably too terse for a tool with four close siblings, but there is no wasted verbiage.

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

Completeness3/5

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

With an output schema present, the description need not explain return values, and the input schema fully documents both params. The remaining gap is routing context: nothing explains how this differs from monitor.whale.alerts / monitor.watch.address, which is the main thing an agent needs to pick 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% for both parameters, including the chain default of 'base', so the schema already carries the parameter burden and baseline 3 applies. The description adds no format hints (e.g., address casing/checksum, supported chains) beyond what the schema states.

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

Purpose4/5

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

States a specific verb (Track) plus resource (a specific whale address) and names the payload (Address Intelligence labels and wallet profile), so the agent knows what it gets back. It does not, however, distinguish itself from near-identical siblings such as monitor.whale.alerts, monitor.watch.address, or wallet.profile, which a reader would have to disambiguate from the name alone.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus monitor.whale.alerts, monitor.watch.address, or wallet.profile, and no exclusions or prerequisites. The only implied usage is the word 'specific', which is too weak to route an agent among the several overlapping whale/wallet tools.

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

nft.collectionNFT CollectionB
Read-onlyIdempotent
Inspect

Get NFT collection info: name, symbol, total supply, owner count. EVM chains only (ERC-721/1155).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain for NFT lookup.base
contractYesNFT contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
chainYesBlockchain queried
symbolYes
addressYesAddress
standardYes
analyzedAtYesUnix timestamp ms
totalSupplyYes
hasRoyaltiesYes
sampleMetadataYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds the meaningful applicability constraint that only EVM chains and ERC-721/1155 contracts are supported. It says nothing about failure modes for unsupported contracts/chains, so a 3 is appropriate.

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 short clauses with zero filler: the resource/fields first, the platform constraint second. Nothing could be removed without losing information.

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 an output schema present, return-value detail is already handled, and annotations cover the safety profile, so the description only needs to scope the tool. It does that via the field list and EVM/ERC-721/1155 constraint. A brief note on behavior for unsupported chains or missing contracts would close the remaining gap.

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% with only 2 parameters, so both `chain` (with its large enum and default of base) and `contract` are already documented in the schema. The description's 'EVM chains only' statement reinforces the chain constraint but adds no syntax, format, or address-validation detail beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Get NFT collection info') and enumerates the returned fields (name, symbol, total supply, owner count), which implicitly separates it from nft.holders, nft.floor, and nft.metadata. It never names a sibling explicitly, so the differentiation is inferred rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no routing to alternatives such as nft.floor or nft.metadata when the agent wants pricing or token-level data. The EVM/ERC-721/1155 note is a scope constraint, not usage guidance.

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

nft.floorNFT Floor ActivityB
Read-onlyIdempotent
Inspect

Analyze NFT collection activity: recent transfers, mints, burns, unique buyers, and activity level from on-chain ERC721 events.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesNFT collection contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
salesNo
contractNo
floorPriceNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds useful behavioral context by naming the data source (on-chain ERC721 events) and the derived metrics, but says nothing about rate limits, freshness, or failure modes; with annotations doing the heavy lifting a 3 is appropriate.

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?

A single front-loaded sentence with the verb and resource first, followed by the analyzed signals. No filler, though the colon-list format is dense and could be split for readability.

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 tool is low-complexity (2 params, 100% schema coverage, output schema present, rich annotations), so the description does not need to explain return values. What it states is accurate and sufficient; only the missing sibling/usage orientation keeps it from a 5.

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%: the address param is described and the chain param carries a full enum plus supported-chain list and a default of "base". The description adds no parameter-level meaning 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.

Purpose4/5

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

States a specific verb ("Analyze") and resource ("NFT collection activity"), then enumerates the concrete outputs: recent transfers, mints, burns, unique buyers, activity level, sourced from on-chain ERC721 events. It is clear what the tool returns, but it does not distinguish itself from nearby siblings nft.collection, nft.holders, or nft.metadata, and the name nft.floor vs. the title/description (activity, not floor price) creates mild ambiguity.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and never names an alternative among the NFT siblings (nft.collection, nft.holders, nft.metadata). An agent must infer usage purely from the purpose statement.

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

nft.holdersNFT HoldersA
Read-onlyIdempotent
Inspect

Analyze NFT holder distribution by scanning recent Transfer events.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
contractYesNFT contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
chainYesBlockchain queried
errorNo
statusYes
contractYesAddress
availableYes
timestampYesUnix timestamp ms
topHoldersYes
blocksScannedYes
tokensTrackedYes
uniqueHoldersYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered. The description adds a genuinely useful behavioral trait beyond that: holders are derived from scanning recent Transfer events, implying the snapshot may exclude older holdings. It stops short of mentioning chain coverage or data-window limits explicitly.

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?

A single front-loaded sentence that states the action, the object of analysis, and the data source with zero filler.

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

Completeness3/5

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

An output schema exists, so return-value explanation is unnecessary, and annotations cover safety. However, for a tool whose results depend on a 'recent' event window, the description leaves the scope of that window and per-chain support unstated, and offers no usage routing.

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%, documenting both chain (default base) and contract. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Analyze), resource (NFT holder distribution), and mechanism (scanning recent Transfer events). This is clearly distinguishable from siblings like nft.floor or nft.metadata, though it does not explicitly contrast with the closely related token.holders.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives like token.holders or nft.collection, and no exclusions or prerequisites. The agent must infer usage context entirely from the purpose statement.

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

nft.metadataNFT Token MetadataA
Read-onlyIdempotent
Inspect

Get individual NFT token metadata: owner, tokenURI, image, attributes. Resolves IPFS URIs. EVM chains only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain for NFT lookup.base
tokenIdYesToken ID within the collection
contractYesNFT contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
tokenIdNo
contractNo
metadataNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description still adds real behavioral context beyond that: it resolves IPFS URIs and restricts lookups to EVM chains, which tells the agent something the annotations do not. It lacks failure-mode detail (missing/burned tokens, off-chain metadata unavailable).

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?

Three short sentences, front-loaded with the action and returned fields, followed by the IPFS behavior and the chain restriction. Every clause carries information and there is no filler.

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?

An output schema exists, so return values need no explanation, and the annotations plus full param coverage mean the description only needs to add scope and behavior. It largely does, though it omits what happens for non-existent tokens or unresolvable metadata, which would matter for an agent handling failures.

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?

With 100% schema description coverage across all three parameters, the schema already documents contract, tokenId and chain (including the full chain enum and default). The description adds no parameter-level syntax, format, or address-normalization detail, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Get individual NFT token metadata') and enumerates the returned fields (owner, tokenURI, image, attributes), which implicitly separates it from the collection-level siblings nft.collection and nft.holders. It stops short of explicitly naming those siblings as alternatives, so an agent must infer the boundary.

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?

Usage is implied by 'individual NFT token' versus collection-level siblings, and 'EVM chains only' sets a scope constraint, but there is no explicit when-to-use, when-not-to-use, or named alternative. No prerequisite guidance (e.g., needing a contract address for a deployed ERC-721/1155) is given.

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

oracle.chain_statusOracle Chain StatusA
Read-onlyIdempotent
Inspect

Data Oracle: Real-time health and block freshness across configured EVM chains. Detects chain outages, stale blocks, and RPC degradation before agents submit transactions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
feedsYes
summaryYes
timestampYesUnix timestamp ms
oracleTypeYes
chainsMonitoredYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: real-time data, block freshness, and the specific failure modes it detects (outages, stale blocks, RPC degradation).

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 tight sentences with zero filler, and the core purpose (real-time chain health/freshness) is front-loaded ahead of the detection detail. Every clause carries information.

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 a present output schema, rich annotations, and zero params, the description needn't explain returns or arguments, and it covers what it monitors and why. The one omission is sibling differentiation from chain.health, which leaves a small ambiguity for tool selection.

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?

The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. No parameter-level detail is expected or missing.

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

Purpose4/5

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

States a specific resource and scope — real-time health and block freshness across configured EVM chains — with concrete detection targets (outages, stale blocks, RPC degradation). It is clear what the tool does, but it never distinguishes itself from the near-twin sibling chain.health, so an agent cannot tell them apart on the description alone.

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?

"before agents submit transactions" gives clear preflight context for when to call it, which is more than implied usage. However, it names no alternatives or exclusions, so the overlap with chain.health is left unresolved.

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

oracle.gas_avgOracle Gas AverageA
Read-onlyIdempotent
Inspect

Data Oracle: Multi-chain gas price aggregation. Returns gas prices across multiple chains with a cheapest-chain recommendation. Ideal for agents choosing settlement chains.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainsNoComma-separated chain names (e.g. 'base,ethereum,arbitrum'). Defaults to top 5 EVM.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
feedsYes
timestampYesUnix timestamp ms
oracleTypeYes
chainsQueriedYes
recommendationYes
chainsRespondedYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this is a read-only, idempotent, non-destructive, open-world call, so the safety profile is covered. The description adds that results include a cheapest-chain recommendation, which is useful output context, but discloses nothing about rate limits, defaults beyond the schema, or freshness of prices.

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?

Three short sentences with the core capability front-loaded and no filler. Slightly tight on elaboration, but every sentence carries information.

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?

An output schema exists, so return-value structure need not be restated, and annotations cover the interaction safety profile. For a single-parameter read-only oracle the description is essentially complete; only the sibling-differentiation gap is notable.

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 the single 'chains' parameter is fully documented in the schema (comma-separated names, defaults to top 5 EVM). The description adds no parameter-level detail, so the baseline 3 applies.

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

Purpose4/5

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

Names a specific verb and resource (multi-chain gas price aggregation) and states what is returned (gas prices plus a cheapest-chain recommendation). However, it does not distinguish itself from the many gas-related siblings (gas.tracker, gas.history, gas.optimize, gas.predict), so an agent still has to infer which gas tool is right.

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?

The phrase 'Ideal for agents choosing settlement chains' implies a usage scenario, which is more than nothing. But there is no explicit when-to-use/when-not guidance and no named alternative among the gas.* or predict.gas siblings, leaving selection ambiguous.

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

oracle.price_feedOracle Price FeedC
Read-onlyIdempotent
Inspect

Data Oracle: Verified token price feed with Chain Proof signature. Returns price, source, and confidence level. Lightweight alternative to Chainlink for agent use cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
tokenNoToken: 'native', the chain native symbol, or a 0x... ERC-20 addressnative

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
chainYesBlockchain queried
tokenYes
marketNo
sourceYes
statusNo
addressNo
decimalsNo
priceUsdYes
availableYes
priceTypeNo
timestampYesUnix timestamp ms
confidenceYes
oracleTypeNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description mentions returning price, source, and confidence, which overlaps with the output schema's job. It does not disclose rate limits, freshness/staleness, or what 'verified' guarantees beyond an annotation-level claim.

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?

A single dense sentence with no waste, and the core purpose is front-loaded. It is appropriately sized for a two-parameter read tool.

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

Completeness3/5

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

The tool has full annotations and a full output schema, so the description needn't explain returns or safety. However, given a rich sibling set including token.price and oracle.chain_status, the description should clarify how it differs and when to prefer it, which it fails to do.

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 the chain enum and token format are already fully documented in the schema. The description adds no syntax or format detail beyond what the schema provides, which is the expected baseline when the schema does the heavy lifting.

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

Purpose3/5

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

The description states the resource (token price feed) and labels it a 'Data Oracle' with verified prices, which is clear enough as a purpose. However, it does not differentiate from the obvious sibling token.price, nor does it explain what 'Chain Proof signature' adds. The purpose is understandable but sibling differentiation is absent.

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

Usage Guidelines2/5

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

The description positions it as a 'lightweight alternative to Chainlink', which implies a comparison, but gives no when-to-use guidance relative to the sibling token.price or oracle.chain_status. There are no explicit conditions or exclusions for selecting this tool.

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

predict.gasPredict GasB
Read-onlyIdempotent
Inspect

Gas price prediction: EMA-based forecast for the next 5 minutes and 1 hour using accumulated readings.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
horizonNoPrediction time horizon
timestampNoUnix timestamp ms
confidenceNoConfidence score 0-1
predictionYesPrediction result

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully carried by structured data. The description adds some genuine value by disclosing the method (EMA) and its dependence on 'accumulated readings', but says nothing about prediction reliability, required history depth, or whether it fails when no readings exist.

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?

A single sentence with no waste, front-loading the core identity ('Gas price prediction') before the qualifying detail. Every clause earns its place: method, horizons, and data dependence.

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?

An output schema exists, so return values need no explanation, and the safety profile is covered by annotations. The description is nearly complete for a one-parameter prediction tool; the only real gap is whether accumulated readings must already exist before calling, which affects whether the tool can be used cold.

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?

Only one parameter and schema description coverage is 100%, with the full enum of supported EVM chains already documented in the schema, including the EVM-only constraint and the 'base' default. The description contributes nothing about the chain parameter, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb (prediction/forecast) and resource (gas price) plus concrete horizons (next 5 minutes and 1 hour) and method (EMA). This clearly separates it from a current-price tool like gas.tracker or gas.history, but it never explicitly names which sibling it replaces or overlaps with.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no named alternatives (gas.tracker, gas.optimize, gas.history, oracle.gas_avg all sit adjacent). An agent must infer from the word 'forecast' that this is the forward-looking gas tool, which is left entirely to inference.

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

predict.liquidityPredict LiquidityB
Read-onlyIdempotent
Inspect

Liquidity prediction: TVL trend analysis with health scoring, risk factors, and a 24-hour range.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
horizonNoPrediction time horizon
timestampNoUnix timestamp ms
confidenceNoConfidence score 0-1
predictionYesPrediction result

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds the output content (health scoring, risk factors, 24h range), but with an output schema present that is partly redundant. No mention of data latency, prediction horizon beyond '24-hour range', or limitations.

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?

A single, front-loaded sentence that leads with the operation and follows with the deliverables. No filler or repetition. It is efficient, though the compressed list of outputs is only lightly structured.

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

Completeness3/5

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

With an output schema and full annotations, the definition is functional for a read-only prediction tool. Still, it omits the prediction horizon/inputs and gives no routing versus the many overlapping defi.* and predict.* siblings, leaving a gap for a tool in a dense namespace.

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?

Only one optional parameter (chain), and schema description coverage is 100% with a full enum list and default. The description adds no additional parameter meaning, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description gives a specific verb+resource (liquidity prediction) and enumerates the concrete outputs: TVL trend analysis, health scoring, risk factors, and a 24-hour range. This is clearer than a tautology and tells the agent what it gets back. However, it does not distinguish itself from siblings like defi.liquidity, defi.tvl, or chain.health, which appear to overlap.

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

Usage Guidelines2/5

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

There is no explicit when-to-use, when-not-to-use, or alternative routing. With siblings such as defi.liquidity, defi.tvl, and defi.health, the agent is left to infer why it would pick predict.liquidity over those. Only implicit usage is conveyed.

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

predict.token_momentumPredict Token MomentumB
Read-onlyIdempotent
Inspect

Token momentum prediction: BUY, SELL, or HOLD signal based on price change and trending activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
tokenNoToken symbol or 'native' for the chain gas assetnative

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
horizonNoPrediction time horizon
timestampNoUnix timestamp ms
confidenceNoConfidence score 0-1
predictionYesPrediction result

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the result is a discrete BUY/SELL/HOLD classification derived from price and trending data, which is useful, but it says nothing about data freshness, confidence, signal thresholds, or rate limits. With annotations carrying the safety burden, a 3 is appropriate.

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?

A single, front-loaded sentence with zero filler. It is tightly sized, though the extreme brevity is part of why usage and behavioral context are thin rather than a structural flaw in itself.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, for a prediction tool sitting among several closely related predict.* and token.* siblings, the definition omits the basis of the signal and any guidance that would let an agent distinguish it from token.sentiment or token.trending.

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%: both 'chain' (with its full enum list) and 'token' (symbol or 'native') are already documented in the schema, including defaults. The description adds no parameter-level detail beyond the conceptual inputs, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Token momentum prediction') and names the concrete output (BUY, SELL, or HOLD) plus its inputs (price change and trending activity). This distinguishes it from predict.gas, predict.liquidity, and predict.whale_move, though it does not explicitly contrast itself with the similarly themed token.sentiment and token.trending.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternative tools such as token.sentiment, token.trending, or the other predict.* siblings. The agent must infer the use case entirely from the one-line summary.

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

predict.whale_movePredict Whale MoveA
Read-onlyIdempotent
Inspect

Whale activity prediction: projects next-hour transfer count and volume using a frequency decay model.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
horizonNoPrediction time horizon
timestampNoUnix timestamp ms
confidenceNoConfidence score 0-1
predictionYesPrediction result

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly=true, idempotent=true, openWorld=true, destructive=false, so the safety profile is covered. The description usefully adds the prediction horizon (next hour) and methodology (frequency decay), but says nothing about confidence, limitations, or accuracy.

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?

A single tight sentence with the subject (whale activity prediction) front-loaded and no wasted words. Efficient, though it is arguably terse for a predictive tool.

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 an output schema present, return values need not be explained, and the sole parameter is fully documented. The description covers what is predicted and by what method, leaving only accuracy/limitations unaddressed – a minor gap for a read-only prediction 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?

The single chain parameter has 100% schema description coverage with a full enum, so the schema does the heavy lifting. The description adds no additional parameter semantics, matching the baseline 3 for fully documented schemas.

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

Purpose4/5

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

States a specific verb (projects) and resource (next-hour transfer count and volume) with the method named (frequency decay model). An agent can distinguish it from sibling trackers/alerts like monitor.whale.tracker or monitor.whale.alerts, though it never names them explicitly.

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?

The predictive framing implies when to use it (forecasting vs. observing), but there are no explicit when/when-not statements and no reference to the sibling monitoring tools. Usage must be inferred from the word 'projects'.

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

security.contract.eventsContract EventsA
Read-onlyIdempotent
Inspect

Read recent event logs from any smart contract. Auto-decodes Transfer, Approval, Swap events. EVM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
blocksNoNumber of blocks to scan
addressYesContract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
errorNo
contractYesAddress
chainNameYes
timestampYesUnix timestamp ms
blockRangeNo
eventTypesNo
knownLabelNo
totalEventsYes
recentEventsNo
blocksScannedYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description usefully adds that common events are auto-decoded and that the tool is EVM-restricted, but says nothing about scan limits, rate limits, or how undecoded events are returned.

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?

Three short sentences, zero filler, with the core action front-loaded and the scope restriction last. Every clause carries information an agent can use.

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 an output schema present, return values need no explanation, and all three parameters are fully documented in the schema. The description covers scope, decoding, and chain restriction, leaving only minor gaps such as pagination or handling of non-standard events.

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 the chain enum and blocks bounds are fully documented in the schema, so the baseline 3 applies. The description's 'recent' hints at the blocks window and 'any smart contract' reinforces the address parameter, but adds no syntax or format detail beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Read recent event logs from any smart contract') and adds the capability of auto-decoding Transfer/Approval/Swap events plus the EVM-only scope. It does not, however, distinguish itself from nearby siblings like security.contract.scan, security.contract.verify, or analyze.tx_decode, so an agent must infer the boundary.

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?

'EVM only' is a stated constraint and the chain enum reinforces it, which implies when the tool is applicable. However, there is no explicit when-to-use guidance versus alternatives such as analyze.tx_decode or security.contract.scan, and no exclusions beyond the chain restriction.

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

security.contract.scanContract Security ScanA
Read-onlyIdempotent
Inspect

Security scan a smart contract via bytecode analysis. Detects selfdestruct, delegatecall, proxy patterns, ownership. No external APIs. EVM only. Scope: bytecode-level inspection of one EVM contract for proxy, ownership, delegatecall, and selfdestruct signals. Use this for 'what does the deployed code expose?'. It is not a token market/liquidity assessment (token.risk), a wallet score, or a full audit, and it does not judge a trade by itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesContract address to scan

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
addressNoAddress
findingsNoSecurity findings
verifiedNoContract verification status
riskLevelNoRisk assessment

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world). The description adds real value beyond them: the data source is on-chain bytecode ('No external APIs'), scope is one EVM contract, and it is not a substitute for a full audit. Minor tension between 'No external APIs' and openWorldHint=true, but this reads as data-provenance (no third-party API providers) rather than a contradiction.

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 and appropriately sized, leading with the core action and routing exclusions. However, the four signals are listed twice ('selfdestruct, delegatecall, proxy patterns, ownership' then 'proxy, ownership, delegatecall, and selfdestruct signals') and scope is restated, which is minor redundancy.

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 an output schema present, annotations covering the safety profile, and 100% schema description coverage, the description's remaining burden is scope and disambiguation, both of which it handles thoroughly. Nothing needed to call the tool 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% with an enum on chain and a described address field, so the schema already documents both parameters. The description reinforces 'one EVM contract' and 'EVM only' but adds no format/syntax detail beyond the schema. Baseline 3 is correct when the schema does the heavy lifting.

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 ('Security scan a smart contract via bytecode analysis') and enumerates the concrete signals detected (selfdestruct, delegatecall, proxy, ownership). It explicitly distinguishes itself from siblings like token.risk and wallet.credit_score, so an agent can route without opening any 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?

Gives an explicit use cue ('Use this for what does the deployed code expose?') and clear exclusions: not a token market/liquidity assessment (token.risk), not a wallet score, not a full audit, not a standalone trade judge. Alternatives are named directly, leaving little to inference.

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

security.contract.verifyContract VerifyB
Read-onlyIdempotent
Inspect

Check if an address is a smart contract or an EOA wallet. Returns code size, balance, and classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
addressYesAddress to verify

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
isEOAYes
addressYesAddress
balanceYes
codeSizeYes
timestampYesUnix timestamp ms
balanceEthNo
isContractYes
balanceUnitYes
nativeAssetYes
balanceNativeYes
classificationYes
nativeDecimalsYes
transactionCountYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds only the returned contents (code size, balance, classification), which is mildly useful, but an output schema already exists, so the incremental behavioral disclosure is thin.

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 short sentences, zero filler, with the core question ('is this a contract or an EOA') front-loaded before the return-value detail. Nothing is wasted.

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 annotations covering safety, an output schema covering return shape, and fully described parameters, the definition gives the agent enough to call it correctly. The remaining gap is the absence of any routing guidance against the many sibling security/monitor tools.

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 the schema itself documents the chain default ('base') and the address parameter, so the description carries no additional parameter burden. It mentions 'address' only implicitly; the chain parameter is never referenced. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource ('Check if an address is a smart contract or an EOA wallet') and names the concrete output fields, so the agent knows exactly what the tool answers. It does not, however, distinguish itself from close siblings such as security.contract.scan or security.contract.events, leaving the agent to infer the boundary.

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

Usage Guidelines2/5

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

The description never states when to reach for this tool versus alternatives like security.contract.scan, monitor.watch.address, or wallet.labels. Usage is only implied by the verb 'Check', with no prerequisites, exclusions, or conditions given.

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

security.mev.detectMEV DetectionA
Read-onlyIdempotent
Inspect

Quick sandwich attack detection. Analyzes 5 transactions before/after target in the same block. EVM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
txHashYesTransaction hash to analyze

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
mevTypeNo
detectedNo
transactionsNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so the safety profile is covered. The description adds genuinely useful scope context beyond that: the analysis window is limited to 5 transactions before/after the target in the same block, and it is EVM-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?

Three short sentences, front-loaded with the core purpose and framed by the analysis constraint and platform restriction. Every sentence earns its place with no filler.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. The description is complete for invocation, with the only meaningful omission being sibling differentiation and any note on cost/latency tradeoffs versus the heavier MEV tools.

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 txHash and the fully enumerated chain list are already documented in the schema. The description's 'EVM only' restates what the chain enum conveys, adding no 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.

Purpose4/5

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

States a specific verb (detection) and resource (sandwich attacks/MEV) with the scope of analysis (5 tx before/after in the same block). Clear enough to distinguish from generic MEV tooling, but it never differentiates itself from close siblings like security.sandwich, security.mev.intel, or security.mev.shield.

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?

The word 'Quick' implies a lightweight check, but there is no explicit when-to-use, when-not-to-use, or named alternative. Given three closely related MEV/sandwich siblings, the lack of routing guidance is a real gap.

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

security.mev.intelCross-DEX Spread AnalysisB
Read-onlyIdempotent
Inspect

Cross-protocol spread analysis with chain-specific DEX names, cost estimates, and market microstructure data. This is a heuristic estimate, not real-time mempool data.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeNo
chainYesBlockchain queried
timestampNoUnix timestamp ms
viableCountNo
opportunitiesNoCross-DEX arbitrage opportunities
recommendationNo
marketMicrostructureNo

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare the safe, read-only, idempotent, open-world profile. The description adds behavior beyond that: it explicitly frames the output as a heuristic estimate rather than live mempool data, which meaningfully calibrates how much the agent should trust the result. It stops short of discussing freshness, rate limits, or cost of the estimate.

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?

Two tight sentences with no filler, and the scope statement is front-loaded. The accuracy caveat is slightly buried in the second sentence but still earns its place by setting expectations.

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 low-complexity, single-parameter, read-only tool with a rich annotation set and an output schema, the description covers purpose and the key limitation. Return values are handled by the output schema, so the only real gap is the absence of usage/routing guidance relative to sibling MEV tools.

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% for the single 'chain' parameter, including a full enum list, so the schema does the heavy lifting. The description only obliquely references the parameter via 'chain-specific DEX names' and adds no syntax or default-behavior detail beyond the schema, so baseline 3 applies.

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

Purpose3/5

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

The description names a clear resource (cross-protocol spread analysis) and enumerates its output content (DEX names, cost estimates, microstructure data), but it uses no verb and never distinguishes this tool from siblings like security.mev.detect, security.mev.shield, or security.sandwich. The name says 'mev.intel' while the body describes spread analysis, leaving the agent to reconcile the two.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no list of alternatives, and no stated trigger conditions. The only qualifier, 'this is a heuristic estimate, not real-time mempool data,' is an accuracy caveat rather than routing guidance, so an agent cannot tell when this should be selected over the other MEV/security tools.

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

security.mev.shieldPre-Trade SafetyA
Read-onlyIdempotent
Inspect

Pre-trade safety analysis. Evaluates sandwich attack risk, recommends optimal slippage, and suggests mitigations before executing on-chain trades. Every agent should call this before swapping. ($0.05) Scope: composite pre-trade decision for a proposed swap, bridge, or liquidity action, focused on MEV exposure and slippage mitigation. Use this before acting. It is not a historical sandwich scan (security.sandwich), a token due-diligence report (token.risk), or a transaction executor.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
actionNoTrade action typeswap
tokenInNoInput token symbolUSDC
tokenOutNoOutput token symbolETH
amountUsdNoTrade size in USD

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
safeNoWhether trade is safe from MEV
chainYesBlockchain queried
statusNo
warningsNo
availableNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context beyond the annotations: the $0.05 cost and the fact that this is advisory only (not an executor), which matters for a composite decision tool.

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

Conciseness3/5

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

The purpose and exclusions are front-loaded and clear, but the 'call this before' message is repeated three times ('before executing on-chain trades', 'Every agent should call this before swapping', 'Use this before acting'), so several sentences do not earn their place. Some redundancy is present.

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 composite decision tool with an output schema (so return values need no explanation) and full parameter coverage, the description adequately covers scope and exclusions. It could say more about what the composite analysis returns qualitatively or the slippage mitigation content, but the essentials for correct invocation are present.

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 the schema already documents all five parameters with enums and defaults. The description only loosely maps its scope to the action types (swap, bridge, liquidity) and adds no syntax, format, or example detail, so the baseline of 3 is appropriate.

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 states a specific verb and resource: pre-trade safety analysis that evaluates sandwich attack risk, recommends slippage, and suggests mitigations. It explicitly distinguishes itself from named siblings (security.sandwich, token.risk, and an executor), so an agent can route to it without opening any 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?

It gives explicit when-to-use ('before executing on-chain trades', 'before acting') and when-not ('not a historical sandwich scan... not a token due-diligence report... not a transaction executor'), naming the alternative tools directly. Nothing 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.

security.sandwichSandwich ScannerA
Read-onlyIdempotent
Inspect

Batch scan an address's recent transactions for MEV sandwich attacks. Checks front-run + back-run patterns in surrounding transactions. Use to inspect historical sandwich patterns around an address. It is not a pre-trade protection decision; use security.mev.shield before a swap or liquidity action.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
addressYesAddress to scan for sandwich attacks

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
countNo
sandwichesNoDetected sandwich attacks

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), and the description adds real substance: it explains the detection method (front-run + back-run in surrounding transactions) and scopes the read to "recent" history. It stops short of stating scanning depth/window limits or expected latency, so it is strong rather than exhaustive.

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?

Three short sentences, front-loaded with the core action, then the mechanism, then the routing constraint. Every sentence adds distinct information with no repetition of the schema or annotations.

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 annotations covering safety and an output schema covering return values, the description only needs to establish purpose, method and routing, which it does. Minor residual ambiguity (how far back "recent" reaches, chain default) is documented in the schema rather than here.

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% for both parameters (address and optional chain defaulting to base), so the schema already carries the parameter semantics and baseline 3 applies. The description only implies the address input and gives no detail on the chain default or the time window behind "recent transactions."

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 pair ("Batch scan an address's recent transactions") plus the exact target of the analysis (MEV sandwich attacks, front-run + back-run patterns). It explicitly distinguishes itself from the sibling security.mev.shield, so an agent can separate the two without opening either 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?

Gives both sides of the routing decision: use this for historical inspection of sandwich patterns around an address, and explicitly "It is not a pre-trade protection decision; use security.mev.shield before a swap or liquidity action." The when-not plus named alternative is exactly the guidance needed.

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

token.approvalToken Approval ScannerA
Read-onlyIdempotent
Inspect

Check a wallet's ERC20 token approvals for security risks. Flags unlimited approvals and risky spender contracts.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesWallet address to check approvals for

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
chainYesBlockchain queried
statusNo
walletYesAddress
approvalsYes
availableNo
riskLevelNo
timestampYesUnix timestamp ms
highRiskCountNo
totalApprovalsNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful detection context ('unlimited approvals and risky spender contracts') but says nothing about rate limits, latency, or required permissions, so it adds only modest value beyond the annotations.

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 tight sentences with zero filler; the core action is front-loaded and the detection behavior follows immediately. Every clause earns its place.

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?

An output schema exists, so return values need not be described, and the annotations cover safety semantics; the description supplies purpose plus what it detects. The only gap is routing guidance against the many sibling security/token tools, which keeps it from a 5.

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 (address, chain) are fully documented in the schema, so the schema does the heavy lifting. The description adds no syntax, format, or chain-selection guidance beyond what the schema already states, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb ('Check'), resource ('wallet's ERC20 token approvals'), and scope ('for security risks'), so the agent immediately knows what the tool does. It doesn't explicitly distinguish itself from nearby siblings such as token.risk or security.contract.scan, so it lands at 4 rather than 5.

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?

Usage is implied by the phrase 'for security risks' but the description never states when to reach for this tool versus alternatives like wallet.report or monitor.watch.address, and gives no exclusions or prerequisites. This is the minimum viable implied-usage level.

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

token.holdersToken HoldersA
Read-onlyIdempotent
Inspect

Analyze top token holders by recent accumulation. Scans Transfer events to identify the largest net receivers of a token. Use for token-holder concentration and recent net accumulation. Do not use it for a wallet's portfolio or token price; use wallet.report for a wallet address or token.price for a token price.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
limitNoNumber of top holders to return
addressYesERC20 token contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
chainYesBlockchain queried
errorNo
tokenYes
statusYes
availableYes
timestampYesUnix timestamp ms
topHoldersYes
blocksScannedYes
transfersAnalyzedYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the safe read-only/idempotent/non-destructive profile, so the bar is lower. The description adds real behavioral context beyond that: it discloses the underlying method ("Scans Transfer events to identify the largest net receivers"), telling the agent how the ranking is derived rather than just what it returns.

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?

Three short sentences, front-loaded with the core purpose and the method, then the routing guidance. Every sentence earns its place with no padding or repetition.

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 read-only analysis tool with an output schema, the description covers purpose, method, and alternative routing, so return values needn't be explained. It is essentially complete; only minor gaps (e.g., no hint about ordering/limit behavior) remain, which the schema largely covers.

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 the schema already documents all three parameters (including chain enum values and the address as an ERC20 contract). The description's phrases "by recent accumulation" and "largest net receivers" add framing but no syntax or format detail 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?

States a specific verb and resource ("Analyze top token holders by recent accumulation") and immediately distinguishes itself from siblings by naming wallet.report and token.price as the wrong tools for those jobs. An agent can route 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?

Gives explicit when-to-use ("token-holder concentration and recent net accumulation") and when-not-to-use with named alternatives (wallet.report for a wallet, token.price for a price). Nothing 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.

token.priceToken PriceA
Read-onlyIdempotent
Inspect

Get real-time token price. EVM: reads Uniswap V3 TWAP on-chain. Solana: reads Pyth oracle price account directly from chain. No external API.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base
tokenYesToken symbol (e.g., 'eth', 'weth', 'sol', 'usdc') or contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
tokenYesToken symbol
sourceYesPrice data source
priceUsdYesCurrent USD price
marketCapNoMarket capitalization
timestampNoUnix timestamp ms
volume24hNo24h trading volume
confidenceNoPrice confidence level
priceChange24hNo24h price change percentage

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the exact on-chain oracle mechanism per chain family and the fact that no external API is involved, which tells the agent about reliability and latency characteristics.

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?

Three short sentences with zero filler; the action is front-loaded and the mechanism detail follows. Each sentence earns its place.

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?

An output schema exists and annotations cover safety, so the description need not explain return values. What remains is minor: no freshness/staleness caveat for a 'real-time' claim and no handling note for tokens lacking an oracle or pool.

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 the enum contents and the token symbol/address formats are already documented in the schema. The description hints that a 'chain' value changes the underlying source (EVM vs Solana Pyth) but adds no syntax or format detail beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Get real-time token price') and goes further by naming the price source per chain (Uniswap V3 TWAP for EVM, Pyth for Solana). This differentiates it from adjacent oracle tools, though it never explicitly names the closest sibling (oracle.price_feed) to disambiguate.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no alternative is named despite oracle.price_feed occupying overlapping territory. The note about the data source implies a use case (on-chain-verified pricing) but leaves the selection decision to the agent's inference.

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

token.riskToken Risk AnalysisA
Read-onlyIdempotent
Inspect

Analyze a token's risk profile. EVM: checks contract verification, proxy status, ownership renouncement, liquidity. Solana: checks mint/freeze authority, supply, Metaplex metadata. Scope: asset-level token due diligence for a token contract or mint, combining market, liquidity, verification, and control signals. Use this when the question is 'is this token safe or liquid?'. It is not raw bytecode inspection (use security.contract.scan), a wallet's financial behavior (use wallet.credit_score), or a multi-signal address dashboard (use analyze.risk_dashboard).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base
addressYesToken contract address (EVM hex) or mint address (Solana base58)

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
scoreNoRisk score 0-100
addressNoAddress
factorsNoRisk factors identified
riskLevelNoOverall risk level (low/medium/high/critical)

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), so the description's job is to add surface area beyond them, which it does by enumerating the checks performed per chain family (contract verification/proxy/ownership/liquidity for EVM; mint-freeze authority/supply/Metaplex for Solana). It stops short of disclosing auth needs, rate limits, or latency, so 4 rather than 5.

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?

Four sentences, all load-bearing: purpose, per-chain checks, scope statement, then trigger and exclusions. The routing information is front-loaded and 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?

An output schema exists, so return values need not be explained. With annotations carrying the safety profile, schema carrying both params at 100% coverage, and the description carrying scope plus routing, nothing an agent needs to invoke 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% — both parameters, the chain enum, the default, and the address-format distinction are already documented in the schema. The EVM vs Solana check description adds behavioral context but little parameter syntax or format 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?

States a specific verb+resource ('Analyze a token's risk profile') and immediately narrows scope to asset-level token due diligence for a contract or mint. It differentiates itself from siblings by naming security.contract.scan, wallet.credit_score, and analyze.risk_dashboard as the tools for adjacent questions.

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?

Gives an explicit trigger question ('is this token safe or liquid?') and explicitly names three near-miss alternatives with the condition that selects each. An agent can route correctly without opening any other schema.

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

token.screenerToken ScreenerB
Read-onlyIdempotent
Inspect

Screen tokens by risk score and price. Returns sorted list of tokens matching criteria. EVM only.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
limitNoMax results
maxRiskNoMaximum risk score (0-100, lower = safer)

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
tokensNo
filtersNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so safety/idempotency are covered. The description adds only 'Returns sorted list' (return-shape nod) and 'EVM only', both of which are already implied by the output schema and chain enum. Modest added value, so a 3.

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?

Three short sentences, front-loaded with purpose then return shape then constraint; nothing is padded. The only blemish is the stray 'and price' claim, which consumes space without corresponding to any parameter.

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

Completeness3/5

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

With an output schema present, return values need not be explained, and the three params are fully covered. What remains thin is any usage context distinguishing this screener from the many adjacent token.* tools, plus the unsupported price mention. Adequate but with clear gaps.

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 maxRisk are fully documented in the schema including the 'lower = safer' hint. The description adds no parameter semantics and instead references a nonexistent price filter, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb+resource ('Screen tokens') and describes the return ('sorted list of tokens matching criteria'), which is clear on its own. However, it claims screening 'by risk score and price' while the schema exposes no price parameter, so the stated capability is partly inaccurate. It also doesn't name any sibling (token.risk, token.trending) for differentiation.

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

Usage Guidelines2/5

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

No when-to-use guidance and no alternatives named despite several overlapping siblings (token.risk, token.trending, token.price). The only scoping is a bare 'EVM only' constraint, which duplicates the chain enum rather than routing the agent between tools.

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

token.sentimentToken SentimentA
Read-onlyIdempotent
Inspect

On-chain sentiment oracle for any token/chain. Derives market sentiment from 5 on-chain signals: gas trend, gas level, momentum, chain health, ecosystem trend. No LLM. ($0.012)

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
tokenNoToken symbol or 'native' for the chain gas assetnative

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
chainNoBlockchain queried
scoreYesSentiment score -1 to 1
tokenYes
statusNo
sourcesNo
availableNo
sentimentYesSentiment direction (bullish/bearish/neutral/unavailable)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld, non-destructive, so the safety and side-effect profile is fully covered. The description adds the meaningful detail that it's a deterministic signal-based oracle with 'No LLM', which sets expectations about output. It doesn't mention caching, rate limits, or what the sentiment output looks like (though an output schema exists).

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?

Three compact sentences, front-loaded with the resource and scope, then the signal list, then the pricing note. Nothing wasteful, though the '($0.012)' cost tag is stuck at the end and could be folded in.

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 annotations, full schema coverage, and an output schema, the description only needs to convey purpose and method, which it does. It's complete enough to invoke correctly, missing only sibling differentiation and any hint of output shape.

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 carry descriptions (chain enum list plus 'native'), so the schema does the heavy lifting. The description adds only 'any token/chain' framing, not new format or semantics. Baseline 3 is appropriate.

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 noun phrase (on-chain sentiment oracle) and lists the exact 5 input signals it derives sentiment from. This distinguishes it from siblings like predict.token_momentum and token.trending by scoping it to on-chain gas/health/ecosystem signals rather than price or trade data.

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?

The description implies usage ('for any token/chain', gas/health signals) but names no alternative and gives no when/when-not guidance. Siblings such as predict.token_momentum and token.trending overlap enough that a routing sentence would help.

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

token.supplyToken SupplyA
Read-onlyIdempotent
Inspect

Get ERC20 token total supply, decimals, symbol, and name from on-chain data. Use for contract-level supply metadata such as total supply, decimals, symbol, and name. It does not assess price, token safety, or holder concentration; use token.risk, token.price, or token.holders instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
addressYesToken contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
chainYesBlockchain queried
tokenYesAddress
symbolYes
decimalsYes
timestampYesUnix timestamp ms
totalSupplyYes
totalSupplyUsdYes
totalSupplyFormattedYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds useful negative scope (no price, safety, or holder concentration assessment), which is genuine behavioral context beyond the annotations, though it doesn't discuss caching, chain support limits, or failure modes for non-contract addresses.

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?

Three sentences, front-loaded with the action and return fields. Slight redundancy: the field list ('total supply, decimals, symbol, name') is effectively restated in the second sentence, which costs a little efficiency.

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 an output schema present, the description needn't explain return values, and annotations plus 100% schema coverage carry the structural burden. The description covers purpose, scope, and routing, leaving no functional gap for an agent.

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 (address, chain with default 'base') are already documented in the schema. The description adds no format, validation, or chain-support detail beyond what the schema provides, 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?

States a specific verb ('Get') and resource ('ERC20 token total supply, decimals, symbol, and name from on-chain data'), naming the exact fields returned. It is immediately distinguishable from sibling token tools by scope.

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?

Explicitly says when to use it ('contract-level supply metadata') and names three alternatives with their conditions: token.risk, token.price, token.holders for the concerns this tool does not cover. Nothing 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.

token.trendingTrending TokensA
Read-onlyIdempotent
Inspect

Get trending tokens by on-chain transfer volume. EVM only — ranks tokens by Transfer event count in recent blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Solana is not supported for this endpoint.base
hoursNoLookback period in hours

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
tokensNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description contributes the ranking methodology (Transfer event count in recent blocks), which is real behavioral context, but the EVM-only constraint it states is already repeated verbatim in the chain parameter schema description.

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 tight sentences, front-loaded with the core purpose before the qualifying detail. Nothing is redundant or padded.

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 an output schema present and annotations covering the safety profile, the description only needs to establish scope and ranking semantics, which it does. Minor omission: no hint of result volume or ordering beyond 'recent blocks', though the output schema likely handles that.

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%: both `chain` (with its long enum and explicit Solana exclusion) and `hours` (lookback window, 1-6 bounds) are fully documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Get trending tokens') and pins the ranking mechanism to on-chain Transfer event volume, which separates it from token.price or predict.token_momentum. It doesn't explicitly name a sibling it is not, but the mechanism and EVM scoping make the tool's identity unambiguous.

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?

Usage is implied by 'trending tokens' (discovery of what's moving now), but there is no explicit when-to-use statement and no routing to alternatives like token.screener or predict.token_momentum. Adequate but leaves the agent to infer the context.

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

token.unlockToken Unlock ScheduleB
Read-onlyIdempotent
Inspect

Read token vesting/unlock schedule from on-chain contracts. Supports LinearVesting, CliffVesting, and Timelock patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
addressYesVesting/timelock contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
typeYes
chainYesBlockchain queried
tokenNo
statusNo
contractYesAddress
scheduleNo
timestampYesUnix timestamp ms
beneficiaryNo
tokenSymbolNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, open-world). The description adds value by naming the three supported vesting patterns (LinearVesting, CliffVesting, Timelock), which tells the agent what contract types it can parse. It stops short of richer behavioral context like chain coverage or failure modes, so a 3 is appropriate.

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 tight sentences with the action front-loaded and the supported patterns following; no filler or redundancy.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. Params are fully documented. The description is complete enough to call the tool, though chain scope beyond the 'base' default is left to the schema.

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 (chain, address) are fully documented in the schema. The description adds no parameter-level syntax or format detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb (read) and resource (token vesting/unlock schedule from on-chain contracts), so the agent knows exactly what it returns. It does not differentiate from adjacent siblings like util.stream_info or token.supply, which somewhat limits disambiguation, but the core purpose 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 Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as util.stream_info or token.supply, nor any preconditions. Usage is only implied by the resource named, so an agent must infer the triggering scenario.

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

util.context_briefContext BriefA
Read-onlyIdempotent
Inspect

CaaS (Context as a Service): Aggregates real-time on-chain signals into a structured context brief for agent decision-making. Intents: swap (gas+price+whales), bridge (multi-chain gas), invest (yields+trending), monitor (whales+gas), general (all signals). No LLM cost — pure data. Use at the start of a swap, bridge, invest, monitor, or general workflow to collect the relevant signals in one structured brief. Use focused tools when the agent already knows the exact data it needs.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
intentNoAgent's intent for the context briefgeneral

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
intentYes
signalsYes
advisoryYes
timestampYesUnix timestamp ms
oracleTypeYes
signalCountYes
signalQualityYes
recommendationsYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and openWorld, so the safety profile is covered. The description adds genuinely useful context beyond them: 'No LLM cost — pure data' and a per-intent breakdown of which signals are aggregated (swap = gas+price+whales, etc.). It doesn't describe pagination or freshness/latency characteristics, but the additions are substantive.

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 purpose and packs intent semantics and the use/avoid guidance densely with little waste. The intent parenthetical list is information-dense but each entry earns its place by clarifying the param.

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 an output schema present and rich annotations, the description needn't explain return values. It covers purpose, intent behavior, and routing, leaving only minor details like data freshness undisclosed — adequate for a 2-param, zero-required aggregator.

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% and both params are enums, so the schema already lists valid values. The description goes further by explaining what each intent value aggregates (swap=gas+price+whales, bridge=multi-chain gas, invest=yields+trending, monitor=whales+gas), adding meaning the terse schema description ('Agent's intent') lacks.

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 (aggregates) and resource (real-time on-chain signals into a structured context brief) and immediately frames it as 'Context as a Service' for agent decision-making. It differentiates itself from the many focused signal siblings by explicitly routing agents to 'focused tools' instead.

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?

Explicitly states when to use it ('Use at the start of a swap, bridge, invest, monitor, or general workflow') and when not to ('Use focused tools when the agent already knows the exact data it needs'). The condition selecting the alternative is spelled out, leaving nothing to inference.

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

util.ens_resolveENS ResolverA
Read-onlyIdempotent
Inspect

Resolve ENS domain names to Ethereum addresses (forward) or addresses to ENS names (reverse). Also retrieves text records.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameOrAddressYesENS name (e.g. vitalik.eth) or Ethereum address

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
addressNoAddress
resolvedNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered. The description adds the reverse-lookup and text-record behavior but says nothing about unresolvable-name errors, latency/rate limits, or how text records are requested.

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?

Two compact sentences with the core operation front-loaded and no filler. The trailing 'Also retrieves text records' is slightly unearned since no input parameter supports that path, but it is not verbose.

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?

An output schema exists and the single input parameter is fully documented, so return values need no explanation. The definition is nearly complete; it only omits error behavior for unresolvable names and how text records are selected.

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 a single well-documented parameter, so the baseline is 3. The description adds little beyond the schema, and it introduces a 'text records' capability with no corresponding parameter, leaving an unresolved ambiguity.

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 (resolve) and resource (ENS names/addresses) with both directions made explicit, plus the text-record capability. No sibling tool overlaps this function, so the agent can identify it immediately.

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?

Usage is implied by the resolver semantics and the 'forward or reverse' phrasing tells the agent both directions are accepted by the same input. However there is no explicit when-to-use/when-not guidance and no rule for how the auto-detection between name and address works.

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

util.governanceGovernanceB
Read-onlyIdempotent
Inspect

Read on-chain DAO governance proposals. Shows last 5 proposals with vote counts and states. Supported: Ethereum, Arbitrum, Optimism.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
countNo
proposalsNoGovernance proposals

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is fully covered structurally. The description adds genuinely useful behavioral context — the result is capped at the last 5 proposals and includes vote counts and states — but says nothing about ordering, freshness, or behavior on chains with no governance activity.

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?

Three short sentences, front-loaded with the core action and followed by output scope and chain support. Nothing is padded, though the final 'Supported' sentence is the one carrying the inaccurate chain list.

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

Completeness3/5

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

With an output schema present, the description need not explain return values, and annotations cover the safety profile. What is missing is accuracy on chain support, which conflicts with the schema and leaves the agent unsure whether the tool works on the 40+ other enumerated chains.

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

Parameters2/5

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

Schema coverage is 100% and the enum is fully self-documenting, so the baseline would be 3. However, the description states 'Supported: Ethereum, Arbitrum, Optimism' while the schema enum lists 44 chains and defaults to 'base' — actively misleading parameter information that could steer an agent away from valid chains, including the default.

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

Purpose4/5

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

States a specific verb and resource: 'Read on-chain DAO governance proposals', with concrete scope ('last 5 proposals with vote counts and states'). It is unambiguous what the tool returns, though it doesn't explicitly differentiate itself from siblings (no sibling covers governance, so the risk is low).

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no named alternatives. The 'Read' verb and the readOnly annotation imply a read-only inspection context, but the agent must infer that on its own.

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

util.intent_routerIntent RouterA
Read-onlyIdempotent
Inspect

Natural language intent routing: describe what you want to know and ChainRay selects a focused set of data services. Counts toward the client hourly MCP capacity policy; use the paid HTTP API for per-request settlement. Use when the agent has a natural-language data question and needs ChainRay to select a focused route. For deterministic workflows, call the specific tool directly; paid HTTP requests are separate from this MCP capacity policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
queryYesNatural language query: 'Is 0xABC safe?', 'Best yield on base?', 'Whale activity?'

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeNo
chainYesBlockchain queried
queryYes
resultsYes
summaryYes
timestampNoUnix timestamp ms
successCountYes
detectedTokenNo
detectedAddressNo
endpointsQueriedYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), so the description correctly focuses on non-obvious behavior: it counts against the client hourly MCP capacity policy and settlement differs on the paid HTTP API. This billing/capacity disclosure is genuine added value beyond structured fields; only the slightly repetitive phrasing of the policy keeps it from a 5.

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 purpose in the opening clause and every sentence carries information. Minor redundancy: the paid-HTTP settlement point is stated twice ('use the paid HTTP API for per-request settlement' and 'paid HTTP requests are separate from this MCP capacity policy'), and 'focused route/set' is repeated, costing a point.

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?

An output schema exists, so return-value explanation is rightly omitted, and annotations carry the safety profile. Usage, routing behavior, and billing context are all present; the only soft spot is that the dual-channel settlement message is split across two sentences, creating slight ambiguity about which channel this call uses.

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% – the 'query' param already ships with examples ('Is 0xABC safe?', 'Best yield on base?') and the 44-value chain enum is fully documented. The description restates the natural-language nature of the input but adds no format, constraint, or default detail 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?

States a specific verb+resource: natural-language intent routing where the agent describes a question and ChainRay 'selects a focused set of data services.' It explicitly distinguishes itself from the sibling tool family ('For deterministic workflows, call the specific tool directly'), so an agent can tell it apart from token.risk, defi.aggregator, etc. without reading any 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?

Gives clear when-to-use ('when the agent has a natural-language data question and needs ChainRay to select a focused route'), when-not ('for deterministic workflows, call the specific tool directly'), and an alternative channel (paid HTTP API for per-request settlement). All conditions are explicit rather than inferred.

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

util.multi_sigMulti-Sig AnalysisA
Read-onlyIdempotent
Inspect

Analyze a Gnosis Safe multi-sig wallet. Returns owners, threshold, nonce, modules, and security assessment.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesGnosis Safe contract address

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
chainYesBlockchain queried
ownersNo
addressYesAddress
thresholdNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety behavior is fully covered without the description. The description adds only a list of returned fields, which is largely redundant with the existing output schema, and says nothing about failure modes (non-Safe address), rate limits, or chain-dependent behavior. Some added value, but thin against annotation coverage.

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 short sentences with zero filler: the action and target come first, the output summary second. Nothing is repeated from the title, and every clause earns its place.

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 read-only, two-parameter tool with full schema coverage, complete annotations, and an output schema, the description is nearly sufficient. The only shortfall is that it does not mention what happens with a non-Safe or unsupported-chain address, leaving the error surface implicit.

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 the chain enum with 44 values plus the 'Gnosis Safe contract address' description already carry the parameter semantics. The description adds no format, validation, or default guidance beyond what the schema states, so the baseline 3 for high coverage 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 ('Analyze') and a precisely scoped resource ('Gnosis Safe multi-sig wallet'), which no sibling tool covers. The enumeration of returned fields (owners, threshold, nonce, modules, security assessment) makes the analysis output concrete and separates it from generic tools like wallet.profile or security.contract.scan.

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

Usage Guidelines2/5

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

The description never says when to choose this over alternatives (e.g. security.contract.scan or wallet.report for a Safe address) and states no prerequisites. It implies its domain via the object of the verb, but leaves all routing decisions to inference, matching the mid-tier calibration of 'no when-to-use, no prerequisites'.

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

util.stream_infoStream InfoA
Read-onlyIdempotent
Inspect

Get connection info for ChainRay real-time SSE streaming endpoints. These endpoints require a direct HTTP connection with text/event-stream Accept header, not MCP. Use this tool to learn how to connect. Use to discover the five real-time SSE streams and their connection requirements. The returned guidance is not a stream itself; connect directly over HTTP with the documented Accept and payment headers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
streamsYesAvailable SSE stream endpoints

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so safety is covered. The description adds genuine behavioral context the annotations cannot: it returns guidance/metadata rather than a live stream, and consuming the streams requires a direct HTTP connection with text/event-stream Accept and payment headers. This is valuable operational detail beyond 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.

Conciseness3/5

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

Front-loaded and reasonably tight, but three of its sentences restate the same idea: 'learn how to connect', 'discover the five real-time SSE streams', and 'connect directly over HTTP'. The guidance repeats rather than builds, so a couple of the sentences do not fully earn their place.

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?

An output schema exists, so return values need not be enumerated, and annotations cover the safety profile. The description supplies the key caveat (not a stream itself) and the connection prerequisites, leaving an agent equipped to act. It could be slightly more complete about what the guidance payload contains.

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?

The tool takes zero parameters, so there is nothing to document; the baseline for a parameterless tool is 4. The description does not invent parameter semantics and correctly implies no inputs are needed.

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: it retrieves connection info for ChainRay real-time SSE streaming endpoints. No sibling tool covers streaming, and the description makes clear this is a discovery/informational tool, not a data endpoint. An agent can tell what it produces 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 Guidelines4/5

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

Explicitly says 'Use this tool to learn how to connect' and to discover the five SSE streams, which sets clear usage context. It also warns that the returned guidance is not a stream itself, implicitly steering the agent toward direct HTTP for actual streaming. It stops short of naming a sibling alternative or a when-not-to-use condition.

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

util.verify_proofVerify ProofA
Read-onlyIdempotent
Inspect

Verify data integrity: pass a dataHash from any ChainRay response's _proof field to verify that the data was produced by ChainRay. Use after receiving a ChainRay response with _proof.dataHash to verify its integrity. It verifies a supplied hash and does not independently validate the underlying blockchain data.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashYes64-char SHA-256 hex hash from _proof.dataHash of any ChainRay response

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeNo
chainYesBlockchain queried
signedByNo
verifiedYesProof validity
inputHashYes
timestampNoUnix timestamp ms
proofVersionNo
verificationDetailYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description still adds genuine value by scoping the guarantee ('verifies a supplied hash and does not independently validate the underlying blockchain data'), heading off agent over-trust in the result.

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?

Three short sentences, front-loaded with the core action. The second sentence largely repeats the sourcing detail from the first (_proof.dataHash), which is mild redundancy, but nothing is bloated.

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?

Output schema exists, so return values need no explanation, and the single parameter is fully documented. The scope limitation and usage trigger round out what an agent needs; only a note on failure behavior would add more.

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 goes beyond the schema by telling the agent where the argument comes from (the _proof field of any ChainRay response) and that the hash is provenance-related, not arbitrary input.

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 (verify) and resource (data integrity / a supplied hash), plus the exact provenance of the input (_proof.dataHash from a ChainRay response). No sibling tool overlaps this function, so it is unambiguous without needing sibling differentiation.

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 condition: 'Use after receiving a ChainRay response with _proof.dataHash.' There is no competing alternative tool to name or exclude, so the missing exclusions cost little, but the guidance is purely a sequencing hint rather than a full when/when-not treatment.

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

util.workflow_briefWorkflow BriefA
Read-onlyIdempotent
Inspect

Multi-agent workflow intelligence. Generates differentiated context briefs for each agent role in a collaborative workflow (swap, risk, bridge, settle, monitor, analysis agents). ($0.05)

ParametersJSON Schema
NameRequiredDescriptionDefault
agentsYesAgent roles: swap-agent, risk-agent, bridge-agent, settle-agent, monitor-agent, analysis-agent
chainsNoTarget EVM chains
intentNoWorkflow intentexecute_trade

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
stepsYes
workflowYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful non-schema behavior, the $0.05 cost, which the agent needs for budgeting. It does not, however, disclose what a 'differentiated brief' actually contains or any rate limits.

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?

Two tight sentences with the core purpose front-loaded and the cost parenthetical at the end. No filler, though 'Multi-agent workflow intelligence' is a slightly jargony lead-in rather than a crisp statement.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile, leaving the description adequate for a 3-parameter tool. The remaining gap is that it never positions itself relative to util.context_brief or explains the scope of the generated briefs.

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 the schema already documents agents, chains, and intent; baseline 3 applies. The description reinforces the agent-role vocabulary but adds no syntax, format, or constraint detail beyond the schema.

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

Purpose4/5

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

The description gives a specific verb ('Generates differentiated context briefs') and resource ('each agent role in a collaborative workflow'), and enumerates the roles (swap, risk, bridge, settle, monitor, analysis). It is clear what the tool does, though it never distinguishes itself from the close sibling util.context_brief.

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?

Usage is only implied: the tool is 'for each agent role in a collaborative workflow,' so an agent can infer it applies to multi-agent setups. There is no explicit when-to-use, no when-not-to-use, and no routing to the near-identical util.context_brief alternative.

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

wallet.credit_scoreCredit ScoreA
Read-onlyIdempotent
Inspect

Calculate an on-chain credit score (0-100) for any wallet. Factors: transaction history, native balance, token diversity, stablecoin holdings, DeFi activity. Returns grade (AAA to C). Scope: wallet-level financial behavior and activity score based on transaction history, balances, token diversity, stablecoins, and DeFi use. Use this for 'how active or creditworthy is this wallet?'. It is not Agent identity/reputation (agent.reputation), a registered card (agent.card.lookup), or token/contract risk.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesWallet address to score

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
gradeYes
walletYesAddress
factorsYes
maxScoreYes
timestampYesUnix timestamp ms
creditScoreYes
descriptionYes
methodologyYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile is covered and the description does not contradict it. The description adds genuinely new behavioral context by disclosing the scoring inputs (transaction history, balance, token diversity, stablecoins, DeFi activity) and the output grade band, though the grade detail overlaps the existing output schema.

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

Conciseness3/5

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

Front-loaded and generally tight, but the five scoring factors are listed twice in near-identical form ('Factors: transaction history, native balance, token diversity, stablecoin holdings, DeFi activity' vs. 'Scope: ... based on transaction history, balances, token diversity, stablecoins, and DeFi use'). That duplication costs a sentence's worth of space without adding information.

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 annotations carrying the safety profile and an output schema covering the return shape, the description supplies the remaining essentials: scoring factors, range, grade band, and routing exclusions. Nothing critical for correct invocation 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 description coverage is 100% with only two parameters; the chain enum with default and the address field are fully documented in the schema. The description adds no format or syntax detail beyond it, so the baseline 3 is appropriate.

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 ('Calculate an on-chain credit score (0-100) for any wallet'), enumerates the scoring factors, and names the output form (grade AAA to C). It explicitly distinguishes itself from three siblings (agent.reputation, agent.card.lookup, token/contract risk), so an agent can route correctly without opening another 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?

Gives an explicit when-to-use trigger ('how active or creditworthy is this wallet?') and explicit when-not-to-use exclusions naming the alternative tools for identity/reputation, card lookup, and token risk. Both directions of routing are covered.

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

wallet.labelsAddress IntelligenceB
Read-onlyIdempotent
Inspect

Query the Address Intelligence database for labels on an address (whale, smart_money, etc). Labels are learned automatically from whale alerts and smart money tracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesAddress to look up

Output Schema

ParametersJSON Schema
NameRequiredDescription
labelsNoAddress intelligence labels
sourceNo
addressYesAddress

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds provenance context (labels are auto-learned from whale alerts and smart money tracking), which hints at freshness/reliability but does not detail it. Given rich annotations, a 3 is appropriate.

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, purpose front-loaded before the provenance detail, no filler. Every clause earns its place.

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

Completeness3/5

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

An output schema exists so return values needn't be described, and annotations are rich, lowering the burden. Still, the definition omits any usage routing against overlapping siblings and says nothing about label coverage or freshness, leaving a moderate gap.

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 a single documented 'address' parameter, so the schema carries the load. The description adds nothing about address format (checksummed vs lowercase, ENS support), which would have been useful. Baseline 3 for full schema coverage.

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

Purpose4/5

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

States a specific verb (Query) and resource (Address Intelligence database) plus concrete label examples (whale, smart_money), so the agent knows exactly what it returns. However, it does not distinguish itself from the nearby wallet.smart_money sibling, which likely overlaps in the 'smart money' concept.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no named alternative. The mention of whale alerts and smart money tracking describes data provenance, not when an agent should pick this tool over wallet.smart_money or monitor.whale.tracker.

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

wallet.portfolioPortfolio AnalysisB
Read-onlyIdempotent
Inspect

Analyze a wallet's portfolio: total USD value, token breakdown, concentration analysis, and diversification score.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base
addressYesWallet address to analyze

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
walletYesAddress
analysisYes
ethPriceYes
holdingsYes
portfolioYes
timestampYesUnix timestamp ms

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description's contribution is limited to enumerating the analysis outputs, which overlaps with the output schema. It adds no detail on rate limits, caching, or multi-chain aggregation behavior.

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?

A single front-loaded sentence with the primary action first and the returned analyses enumerated after. Nothing is wasted and there is no filler.

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 an output schema present, return values need not be explained, and annotations cover the safety profile. The remaining gap is the absence of routing guidance among the many wallet.* siblings, but for a straightforward read-only analysis tool this is largely sufficient.

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%: the chain enum lists all supported chains and states "EVM chain only," and address is documented as the wallet to analyze. The description adds no parameter semantics beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb ("Analyze") and resource ("a wallet's portfolio") and enumerates the outputs: total USD value, token breakdown, concentration analysis, diversification score. This clearly separates it from token-level tools like token.holders. However, it offers no contrast against the closest siblings (wallet.profile, wallet.report), which an agent must disambiguate on its own.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance and names no alternatives, despite wallet.profile, wallet.report, and wallet.credit_score being plausible competing choices. Usage is only inferable from the resource noun; there are no exclusions or conditions stated.

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

wallet.profileWallet ProfileB
Read-onlyIdempotent
Inspect

Profile a wallet address. EVM: ETH balance, token count, activity labels (whale/active/dormant). Solana: SOL balance, SPL token holdings, activity classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoBlockchain to query. EVM chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm. Dedicated non-EVM adapters: solana, hyperliquid, canton.base
addressYesWallet address to profile

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
addressYesAddress
balanceNoNative token balance
tokenCountNoNumber of token holdings
lastActivityNoLast activity timestamp
classificationNoWallet classification (whale/active/dormant)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety/behavior profile is covered. The description usefully adds that output shape varies by chain family, but it says nothing about rate limits, latency, caching, or whether unlabeled/new wallets return errors versus empty results.

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 short sentences, purpose front-loaded in the first clause, with the output detail compressed into parallel EVM/Solana fragments. No filler and nothing buried.

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 full schema coverage, an output schema, and annotations covering the safety profile, the description is nearly sufficient for correct invocation. The remaining hole is sibling disambiguation, which is the one thing an agent most needs given the dense wallet.* cluster.

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 the chain enum with its inline EVM/non-EVM grouping is documented in the schema itself; the description only loosely echoes this with "EVM:" and "Solana:". Baseline 3 applies since the schema does the heavy lifting and the description adds no address-format or default-chain detail.

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

Purpose4/5

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

The description gives a specific verb+resource ("Profile a wallet address") and enumerates the actual outputs per chain family (ETH balance, token count, activity labels; SOL balance, SPL holdings, classification). That is far more than a restatement of the name. It stops short of 5 because it never distinguishes itself from close siblings like wallet.portfolio, wallet.labels, or wallet.report, which an agent could easily confuse with this.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative routing guidance at all. An agent deciding between wallet.profile, wallet.portfolio, and wallet.report gets nothing from the text. The chain-specific output sketch implies context but does not state selection conditions.

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

wallet.reportAddress ReportA
Read-onlyIdempotent
Inspect

Comprehensive address report combining wallet profile, credit score, token approvals, and recent interactions in one response.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain (default: base)
addressYesAddress to analyze

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
addressYesAddress
profileNo
approvalsNo
creditScoreNo
interactionsNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the useful fact that four heterogeneous data sources are bundled into one response (implying heavier cost/latency than a single-metric sibling), but says nothing about caching, rate limits, or partial-failure behavior.

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?

A single front-loaded sentence that lists the payload components without filler. Every clause carries information and nothing is redundant with the name or title.

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 an output schema present, return values need not be described, and the annotations carry the safety profile, so the description is nearly sufficient for this read-only aggregate tool. The only real omission is guidance on when the bundled report beats calling the individual component tools.

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 the schema documents both parameters including the 'default: base' chain behavior, so the description correctly does not repeat them. No additional parameter meaning is supplied, which matches the baseline for fully documented schemas.

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

Purpose4/5

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

The description names a specific resource (address report) and enumerates exactly what it aggregates: wallet profile, credit score, token approvals, and recent interactions. This implicitly separates it from the single-purpose siblings (wallet.profile, wallet.credit_score, token.approval), though it never names those siblings explicitly.

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?

Usage is only implied: the agent can infer this tool is for a one-shot overview of an address rather than calling each component tool separately, but there is no explicit 'use this when...' or 'prefer X for a single metric' guidance. No prerequisites or exclusions are stated.

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

wallet.smart_moneySmart Money TrackerC
Read-onlyIdempotent
Inspect

Track smart money patterns by analyzing whale transfer activity. Identifies accumulation vs distribution behavior and market sentiment.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoEVM chain only. Supported chains: base, ethereum, arbitrum, optimism, polygon, bsc, avalanche, zksync, linea, scroll, blast, mantle, gnosis, polygon-zkevm, mode, sei, celo, manta, taiko, fantom, cronos, opbnb, zora, worldchain, metis, fraxtal, kava, zetachain, filecoin, core-dao, aurora, moonbeam, klaytn, bob, canto, monad, tempo, megaeth, arc, plasma, katana, robinhood, pharos, hyperevm.base

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesBlockchain queried
countNo
addressesNoSmart money addresses

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already state readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is clear. The description adds almost nothing beyond restating the general theme — it doesn't explain data source, latency, rate limits, or what pattern output looks like (though an output schema exists).

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

Conciseness3/5

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

The description is short and front-loaded, which is good, but it is essentially two vague sentences with heavy buzzwords ('smart money', 'whale activity', 'accumulation vs distribution'). It earns little of its length because it doesn't commit to actionable information.

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

Completeness2/5

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

The tool has an output schema, so return values needn't be explained. However, the description omits essential context: what data it draws from (on-chain transfers? DEX trades?), time windows, chain coverage behavior, and how it differs from sibling whale tools. For a tool with a broad context, this is incomplete.

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?

There is only one parameter (chain) and the schema description coverage is 100%, including a default and full enum list. The description adds no parameter-specific guidance, which is acceptable at baseline 3 given the schema fully documents the parameter.

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

Purpose2/5

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

The description says it tracks smart money patterns and analyzes whale activity, but it doesn't state the specific operation or input source — it reads like a marketing tagline rather than a distinguishable tool action. Sibling tools like monitor.whale.tracker and monitor.whale.alerts are much more concrete, and this description does not distinguish itself from them.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no mention of alternatives, and no exclusions. An agent cannot tell when this tool is preferred over monitor.whale.tracker or token.sentiment.

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. 41 tool updates
    • Addedagent.erc8004
    • Addedanalyze.recent_interactions
    • Addedanalyze.tx_decode
    • Addedchain.bridge.monitor
    • Addedchain.cross
    • Addeddefi.compare
    • Addeddefi.farming
    • Addeddefi.opportunity
    • Addeddefi.tvl
    • Addeddefi.yields
    • Addedmarket.stablecoin.monitor
    • Addedmarket.stablecoin.supply
    • Addedmonitor.flashloan
    • Addedmonitor.liquidation
    • Addedmonitor.whale.alerts
    • Addedmonitor.whale.tracker
    • Addednft.collection
    • Addednft.floor
    • Addednft.holders
    • Addednft.metadata
    • Addedoracle.chain_status
    • Addedoracle.gas_avg
    • Addedoracle.price_feed
    • Addedpredict.gas
    • Addedpredict.liquidity
    • Addedpredict.token_momentum
    • Addedpredict.whale_move
    • Addedsecurity.contract.events
    • Addedsecurity.contract.verify
    • Addedsecurity.mev.detect
    • Addedsecurity.mev.intel
    • Addedtoken.screener
    • Addedtoken.unlock
    • Addedutil.ens_resolve
    • Addedutil.governance
    • Addedutil.multi_sig
    • Addedutil.workflow_brief
    • Addedwallet.labels
    • Addedwallet.portfolio
    • Addedwallet.profile
    • Addedwallet.smart_money
  2. 41 tool updates
    • Removedagent.erc8004
    • Removedanalyze.recent_interactions
    • Removedanalyze.tx_decode
    • Removedchain.bridge.monitor
    • Removedchain.cross
    • Removeddefi.compare
    • Removeddefi.farming
    • Removeddefi.opportunity
    • Removeddefi.tvl
    • Removeddefi.yields
    • Removedmarket.stablecoin.monitor
    • Removedmarket.stablecoin.supply
    • Removedmonitor.flashloan
    • Removedmonitor.liquidation
    • Removedmonitor.whale.alerts
    • Removedmonitor.whale.tracker
    • Removednft.collection
    • Removednft.floor
    • Removednft.holders
    • Removednft.metadata
    • Removedoracle.chain_status
    • Removedoracle.gas_avg
    • Removedoracle.price_feed
    • Removedpredict.gas
    • Removedpredict.liquidity
    • Removedpredict.token_momentum
    • Removedpredict.whale_move
    • Removedsecurity.contract.events
    • Removedsecurity.contract.verify
    • Removedsecurity.mev.detect
    • Removedsecurity.mev.intel
    • Removedtoken.screener
    • Removedtoken.unlock
    • Removedutil.ens_resolve
    • Removedutil.governance
    • Removedutil.multi_sig
    • Removedutil.workflow_brief
    • Removedwallet.labels
    • Removedwallet.portfolio
    • Removedwallet.profile
    • Removedwallet.smart_money
  3. 79 tool updates
    • First observedagent.card.discover
    • First observedagent.card.lookup
    • First observedagent.card.register
    • First observedagent.erc8004
    • First observedagent.reputation
    • First observedanalyze.recent_interactions
    • First observedanalyze.risk_dashboard
    • First observedanalyze.tx_decode
    • First observedchain.block
    • First observedchain.bridge.flow
    • First observedchain.bridge.monitor
    • First observedchain.compare
    • First observedchain.cross
    • First observedchain.health
    • First observeddefi.aggregator
    • First observeddefi.compare
    • First observeddefi.farming
    • First observeddefi.health
    • First observeddefi.liquidity
    • First observeddefi.opportunity
    • First observeddefi.tvl
    • First observeddefi.yields
    • First observedgas.history
    • First observedgas.optimize
    • First observedgas.predict
    • First observedgas.tracker
    • First observedmarket.dex_trades
    • First observedmarket.new_pairs
    • First observedmarket.overview
    • First observedmarket.solver_feed
    • First observedmarket.stablecoin.monitor
    • First observedmarket.stablecoin.supply
    • First observedmonitor.flashloan
    • First observedmonitor.liquidation
    • First observedmonitor.watch.address
    • First observedmonitor.watch.diff
    • First observedmonitor.whale.alerts
    • First observedmonitor.whale.tracker
    • First observednft.collection
    • First observednft.floor
    • First observednft.holders
    • First observednft.metadata
    • First observedoracle.chain_status
    • First observedoracle.gas_avg
    • First observedoracle.price_feed
    • First observedpredict.gas
    • First observedpredict.liquidity
    • First observedpredict.token_momentum
    • First observedpredict.whale_move
    • First observedsecurity.contract.events
    • First observedsecurity.contract.scan
    • First observedsecurity.contract.verify
    • First observedsecurity.mev.detect
    • First observedsecurity.mev.intel
    • First observedsecurity.mev.shield
    • First observedsecurity.sandwich
    • First observedtoken.approval
    • First observedtoken.holders
    • First observedtoken.price
    • First observedtoken.risk
    • First observedtoken.screener
    • First observedtoken.sentiment
    • First observedtoken.supply
    • First observedtoken.trending
    • First observedtoken.unlock
    • First observedutil.context_brief
    • First observedutil.ens_resolve
    • First observedutil.governance
    • First observedutil.intent_router
    • First observedutil.multi_sig
    • First observedutil.stream_info
    • First observedutil.verify_proof
    • First observedutil.workflow_brief
    • First observedwallet.credit_score
    • First observedwallet.labels
    • First observedwallet.portfolio
    • First observedwallet.profile
    • First observedwallet.report
    • First observedwallet.smart_money

Publisher details

Operator
ChainRay
Operator website
https://chainray.online
Vendor relationship
Independent
Trust center
Not available
Restrictions
Public HTTP access uses x402 per-request settlement; MCP access uses the published endpoint. No account approval or custom OAuth app is required. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    55+ pay-per-call tools for AI agents over MCP: live telemetry, blockchain/on-chain checks, environmental, transit, finance, and network utilities. No API key or signup — agents pay per request with x402 USDC micropayments (Base and Solana).
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    56 pay-per-call MCP endpoints for AI agents. Market signals, macro economics, crypto/DeFi, geopolitical intelligence, SEC filings, GitHub velocity, sanctions screening. USDC on Base Mainnet via x402.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides 59 pay-per-call AI tools covering crypto prices and audits, market and whale data, LLM chat, image generation, web search/fetch/summarize, and utility services, with automatic x402 USDC-on-Base payments and on-chain receipts. It works with Claude Code/Desktop, Cursor, and other MCP clients without API keys or subscriptions.
    40 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources