Skip to main content
Glama

Ambolt

Server Details

Data lookups, on-chain facts and a non-custodial Solana swap for agents. Sourced and dated.

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

TDQS

A3.6/5.0

Scored across 33 tools

Disambiguation3/5

There is significant thematic clustering: base_* tools (4), solana_* tools (6), and various validation tools (email, iban, vat) that could be confused. Within clusters, descriptions differentiate actions (e.g., base_erc20_balance vs base_token_info vs base_token_facts have subtle distinctions), but the sheer number of similar tools increases the risk of misselection. Cross-chain tools are clearly distinct.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with domain or action prefixes (base_, solana_, dk_, etc.). The naming is predictable and readable throughout the set.

Tool Count2/5

With 33 tools, the server is heavily overloaded relative to a typical MCP server scope. While each tool may serve a purpose, the breadth (blockchain, finance, utilities, web) makes it feel like a collection of unrelated tools rather than a coherent set for a focused domain.

Completeness3/5

The server covers a wide range of domains (crypto, DNS, validation, procurement, etc.), so each subdomain has some gaps. For example, Base lacks write operations, Solana lacks token transfer building (only swap), and validation tools lack comprehensive coverage. However, the surface is broad enough that many common tasks are supported.

Available Tools

33 tools
base_erc20_balanceA
Read-only
Inspect

ERC-20 token balance of a wallet address on Base mainnet (USDC, WETH, any token): raw units, decimals, symbol and formatted amount, read live via eth_call.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesERC-20 token contract address on Base.
addressYesWallet address.

TDQS

A4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint, openWorldHint), and the description adds genuinely useful context: the read is live via eth_call (no caching/staleness assumption) and enumerates the returned fields. It does not cover error behavior (invalid address, non-ERC-20 contract) 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.

Conciseness5/5

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

One dense sentence, front-loaded with the resource and chain, then the return shape and read mechanism. Every clause carries information; nothing is padding.

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?

No output schema exists, so the description has to carry return-value semantics, and it does (raw units, decimals, symbol, formatted amount). With only two fully-documented required params and annotations covering safety, the remaining gap is failure-mode behavior, which is minor.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented with their address patterns; baseline 3 applies. The description loosely reinforces that 'token' is an ERC-20 contract on Base via the USDC/WETH examples, but adds no 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.

Purpose5/5

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

States a specific verb (retrieve balance) and resource (ERC-20 token balance of a wallet) and pins the chain to Base mainnet, which cleanly separates it from the solana_* siblings. The token examples (USDC, WETH, any token) make the scope unmistakable 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 Guidelines3/5

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

Usage is only implied by the resource name; the description never states when to use this versus siblings like base_token_info, nor any preconditions (e.g., must be an ERC-20 contract, not an NFT or native ETH). An agent can infer the obvious case but gets no routing help.

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

base_token_factsA
Read-only
Inspect

Verifiable on-chain facts about an ERC-20 token on Base: name, symbol, supply, whether the contract has an owner (and whether it was renounced), whether it is an upgradeable proxy and who administers it, whether it is paused, and which privileged functions (mint, burn, pause, blacklist, fee setting, upgrade) appear in its bytecode. Facts only: no verdict and no recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesERC-20 token contract address on Base.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuine behavioral value by disclosing what is inspected (bytecode for privileged functions, proxy admin, renunciation) and framing the output as facts without judgment, which is meaningful since there is no 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?

It is a single dense sentence, front-loaded with the resource and then the enumerated facts, with the scoping caveat last. Every clause earns its place, though the packing is heavy.

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

Completeness5/5

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

With no output schema, the description fully carries the burden of explaining return contents by enumerating the facts, and the annotations cover the read-only/open-world profile. Nothing needed 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 coverage is 100% and the single parameter is fully documented with a pattern. The description only restates 'ERC-20 token on Base' and adds 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?

The description states a precise verb+resource (returns verifiable on-chain facts about an ERC-20 token on Base) and enumerates exactly which facts: name, symbol, supply, ownership/renunciation, proxy/admin, pause state, and privileged functions in bytecode. An agent knows exactly what this tool yields 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 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 named alternative. The note 'Facts only: no verdict and no recommendation' scopes the output but does not tell the agent when to pick this over siblings like base_token_info or base_erc20_balance.

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

base_token_infoA
Read-only
Inspect

Basic facts about an ERC-20 token contract on Base mainnet: name, symbol, decimals and total supply (raw and formatted), read live via eth_call. Facts only, no price or recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesERC-20 token contract address on Base.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds meaningful context beyond that: data is fetched live via eth_call (not cached), and supply is returned in both raw and formatted form. It does not mention failure modes for non-contract addresses, but the added value is real.

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 resource and output list, with the disambiguation clause at the end. Every phrase earns its place.

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

Completeness5/5

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

With no output schema, the description compensates by enumerating the returned fields, and annotations cover the safety profile. Nothing an agent needs to select or call it 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?

There is a single parameter with 100% schema coverage, including a regex pattern and description, so the schema carries the full burden. The description adds nothing about the token address format, making baseline 3 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?

Names a specific resource (ERC-20 token contract on Base mainnet) and enumerates exactly what it returns: name, symbol, decimals, and total supply in raw and formatted form. The 'facts only, no price or recommendation' clause cleanly separates it from price-oriented siblings like solana_token_price.

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

Usage Guidelines4/5

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

The scope statement ('on Base mainnet') and the 'no price or recommendation' exclusion implicitly tell an agent when this tool is appropriate and when to reach for a price tool instead. It stops short of naming an explicit alternative or stating prerequisites, but the context is unambiguous.

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

base_transactionA
Read-only
Inspect

Look up a transaction on Base by hash: success or revert, block and time, sender, recipient, ETH value, gas and fee, the called method selector, and decoded ERC-20 transfers with token symbols. Read live from the chain; facts only.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashYesTransaction hash on Base.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds real behavioral context: it enumerates the returned facts (success/revert status, block/time, sender, recipient, value, gas/fee, method selector, decoded ERC-20 transfers) and stresses 'Read live from the chain; facts only,' clarifying freshness and a no-interpretation stance.

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 action and scope, followed by a tight list of return fields. Every clause earns its place; nothing is redundant.

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

Completeness5/5

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

With no output schema, the description must carry the return-value burden, and it does so comprehensively by enumerating the fields an agent will get back. For a one-parameter read tool this 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 coverage is 100% and there is a single parameter, so the schema fully documents the hash. The description restates 'by hash' and 'on Base' but adds no format or constraint details beyond what the pattern already encodes. 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 ('Look up') and resource ('a transaction on Base') keyed by hash, and it is immediately distinguishable from chain siblings like solana_transaction and from base_wallet_balances/base_erc20_balance by being the single-transaction lookup. An agent can pick it 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 Guidelines3/5

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

The phrase 'by hash' implies when it applies (you have a transaction hash and want its details), but there is no explicit when-to-use vs alternatives routing and no exclusions. Usage is inferable but not spelled out.

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

base_wallet_balancesA
Read-only
Inspect

ETH balance and balances of major tokens (USDC, WETH, cbBTC, DAI, USDbC, cbETH, AERO) for any address on Base, plus any extra token contracts you list. Read live from the chain. Shows only non-zero balances; there is no price data and no recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesWallet address on Base.
extraTokensNoAdditional ERC-20 contract addresses to check (up to 20).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, so the safety profile is already covered. The description adds genuinely useful behavior beyond that: balances are read live from chain, only non-zero balances are returned, and no pricing or advice is produced. It does not cover pagination or failure modes, but for a read tool that is minor.

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, each carrying distinct information, with the core capability front-loaded and the exclusions at the end. 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 no output schema, the description carries the burden of explaining results and does so partially by stating only non-zero balances appear and no price data is included. What the balance entries actually look like (amounts, decimals, symbols) is left unstated, a small remaining gap for a 2-param 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?

Schema description coverage is 100% and both parameters carry their own descriptions and patterns, so the schema does the heavy lifting. The description's mention of 'any address on Base' and 'extra token contracts you list' mirrors the schema and does not add syntax or format detail beyond it.

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 with scope: ETH plus a named list of major tokens for any address on Base, plus user-supplied extras. This clearly separates it from base_erc20_balance (single token) and solana_wallet_balances (different chain) 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 Guidelines4/5

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

The description establishes clear context (live multi-token balance read for one address, extensible with up to 20 extra contracts). It also bounds expectations by ruling out price data and recommendations, but it never explicitly names an alternative tool or states when to prefer this over base_erc20_balance.

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

disposable_email_checkA
Read-only
Inspect

Fast email address check without sending anything: syntax, domain MX records, disposable/temporary-mail domain (9,000+ listed), role address (info@, admin@) and likely typo of a popular provider. Does not confirm that a mailbox exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address to check.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint/openWorldHint), but the description adds real value: it discloses the no-email-sent side effect, the data basis ('9,000+ listed' domains), and the accuracy boundary that a pass does not prove mailbox existence. Return format is not described, keeping 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.

Conciseness5/5

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

A single dense sentence with zero filler; the check list is front-loaded and the limiting caveat closes it. 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?

For a one-parameter read-only lookup with no output schema, the description covers what is checked and what is not, which is the crucial context. It leaves the response shape (per-check booleans vs. overall verdict) unspecified, a minor gap given no output schema exists.

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 parameter is fully documented in the schema (100% coverage) as 'Email address to check.', so the schema does the heavy lifting. The description implies the input is an email address but adds no format or constraint detail beyond that. 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 ('email address check') and enumerates the five sub-checks performed (syntax, MX, disposable domain list, role address, typo detection). This specificity distinguishes it from generic siblings like dns_lookup and domain_rdap without naming them.

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 operational context ('without sending anything') and an explicit exclusion ('Does not confirm that a mailbox exists'), which tells the agent when the result is insufficient. It stops short of naming an alternative tool for mailbox verification, so it is short of a 5.

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

dk_co2_intensityA
Read-only
Inspect

CO2 emissions per kWh of electricity consumed in Denmark (DK1 West, DK2 East), latest 5-minute value plus 24-hour average, cleanest and dirtiest times.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoPrice area.DK1

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, so the safety profile is already covered and the lower bar applies. The description adds genuinely useful behavioral context by disclosing the returned measurements (5-minute snapshot, 24h average, cleanest/dirtiest windows), which is not restated anywhere else since there is no 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.

Conciseness5/5

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

A single sentence that front-loads the resource and then packs the returned metrics without any filler or redundancy. Every clause carries information an 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?

With no output schema and only one optional parameter, the description correctly compensates by enumerating the return contents, making the tool callable without opening anything else. Only the relationship to the price-focused sibling remains unstated.

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 single enum parameter is already documented, so the baseline would be 3. The description goes further by mapping the opaque enum tokens to meaning (DK1 = West, DK2 = East), which the schema's terse 'Price area.' note does not convey.

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 (CO2 intensity per kWh in Denmark, split by DK1/DK2) and precisely enumerates what the tool returns: the latest 5-minute value, a 24-hour average, and cleanest/dirtiest times. It does not explicitly contrast itself with the sibling dk_electricity_prices, so an agent must infer the distinction, but the substance 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 Guidelines3/5

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

Usage is only implied by the resource description; there is no explicit statement of when to prefer this over dk_electricity_prices or what conditions make it relevant. The DK1/DK2 split hints at the geographic selection, but no when-to-use or when-not-to-use guidance is given.

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

dk_electricity_pricesA
Read-only
Inspect

Day-ahead electricity spot prices for one day and bidding area, in EUR and DKK per MWh, quarter-hourly or hourly, with min/max/average and the cheapest hours. Tomorrow's prices are normally published around 13:00 CET.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoBidding area.DK1
dateNoDanish local date, YYYY-MM-DD. Default: today.
resolutionNoHourly averages or the native 15-minute prices.hourly
cheapestHoursNoHow many cheapest hourly slots to list.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds real context beyond them: dual currencies (EUR and DKK per MWh), the quarter-hourly vs hourly nature, the returned summary statistics (min/max/average, cheapest hours), and the publication timing. It does not cover error or edge behavior, 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.

Conciseness5/5

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

Two tightly written sentences that front-load the core purpose and append the timing caveat. Every clause carries information; nothing is redundant.

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

Completeness4/5

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

With no output schema, the description partially carries the return-value burden by naming the currencies, units, resolution, and summary measures (min/max/average, cheapest hours). Combined with 100% parameter coverage and read-only annotations, an agent has enough to call it correctly, though the exact response shape is not spelled out.

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 four parameters with defaults, enums, and patterns. The description restates the same concepts (one day, bidding area, hourly/quarter-hourly, cheapest hours) without adding syntax or format detail, so the baseline of 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 gives a specific verb and resource: 'Day-ahead electricity spot prices for one day and bidding area.' It also states units (EUR/DKK per MWh) and resolutions, making the resource fully identifiable and distinguishable from the nearest sibling (dk_co2_intensity), which covers a different Denmark energy datapoint.

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

Usage Guidelines4/5

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

It provides clear usage context, notably the timing cue 'Tomorrow's prices are normally published around 13:00 CET,' which tells an agent when tomorrow's data is actually available. There is no explicit when-not-to-use or named alternative, but no confusable sibling exists, so context is adequate.

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

dns_lookupA
Read-only
Inspect

Resolve public DNS records for a domain (A, AAAA, MX, TXT, NS, CNAME) and report whether SPF and DMARC records are present, with their policies. DNS queries only; no connection is made to the domain itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
typesNoRecord types. Default: all.
domainYesDomain name, e.g. example.com.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description adds meaningful behavioral context: it performs DNS queries only and does not connect to the domain itself. It also discloses that SPF and DMARC presence/policies are reported. Rate limits, auth needs, and exact response structure remain unspecified.

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 zero waste. The core purpose and record types are front-loaded, followed by the important no-connection constraint.

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 simple two-parameter, read-only lookup tool with no output schema, the description covers what is resolved and what extra findings (SPF/DMARC) are reported. It does not describe the response shape in detail, but given the annotations and low complexity, it is nearly 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%, so the schema already fully documents both the domain pattern and the record-type enum values. The description lists the same record types but adds no syntax, format, or default behavior beyond what the schema provides, making the baseline 3 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 ('Resolve'), resource ('public DNS records'), and scope (the exact record types plus SPF/DMARC reporting). It is clearly distinguishable from siblings like domain_rdap, which handles registration data rather than DNS records.

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 passive DNS inspection and notes that no connection is made to the domain, which hints at safe read-only use. However, it never explicitly says when to use this tool versus alternatives such as domain_rdap or url_to_markdown, leaving routing to inference.

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

doi_lookupA
Read-only
Inspect

Scholarly metadata by DOI, or a best-match search by citation text: title, authors, journal, year, publisher, citation count, licence links and URL. Bibliographic facts only.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNoDOI, e.g. 10.1038/nature14539.
limitNoMaximum search results.
queryNoCitation or title text to search when no DOI is known.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds a scope boundary ('Bibliographic facts only'), which usefully tells the agent not to expect full text or abstracts, but says nothing about latency, rate limits, or how the best-match search ranks candidates. With annotations carrying the behavioral load, 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 covering both modes and the return payload, with a short scope qualifier. Dense but every clause earns its place; the only minor cost is the long comma-separated field list, which could have been summarized.

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?

No output schema exists, so the description's field enumeration usefully substitutes for return-value documentation. For a simple read-only lookup with no required parameters, the only real gap is the interaction between doi and query and the behavior of a failed best-match search.

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 doi, limit, and query with examples and bounds. The description adds no syntax, format, or precedence rules (e.g. what happens if both doi and query are supplied), so it does not go beyond structured data. 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 specific verb+resource ('Scholarly metadata by DOI') and explicitly covers the second mode ('best-match search by citation text'), then enumerates exactly what is returned (title, authors, journal, year, publisher, citation count, licence links, URL). No sibling overlaps with this resource, so differentiation is not needed, but the dual mode 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 Guidelines3/5

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

The two operating modes are described, implying 'use doi when known, query otherwise', and the schema param descriptions make the condition explicit ('when no DOI is known'). However, the description itself never states when to prefer one mode, nor any exclusions or fallback behavior if a best-match search finds nothing.

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

domain_rdapA
Read-only
Inspect

Look up a domain in the public RDAP registry: registration, last-changed and expiry dates, status codes, nameservers, DNSSEC flag and registrar name. Registrant and contact details are not returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name, e.g. example.com.

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint and openWorldHint, so the safety profile is covered, and the description adds genuine context beyond them: it identifies the data source ('public RDAP registry'), lists what an agent can expect, and explicitly discloses that registrant and contact details are not returned. This scope-limiting caveat is useful disclosure not present in 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.

Conciseness5/5

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

Two compact sentences, front-loaded with the action and data source, followed by the field list and the exclusion caveat. No redundant or filler 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?

There is no output schema, so the description compensates by naming the returned fields (dates, status codes, nameservers, DNSSEC, registrar). It is nearly complete for a single-param read-only lookup; only minor gaps like rate limits or response format remain.

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 parameter, so the schema already documents the domain argument with a pattern and example. The description adds no format or syntax detail beyond what the schema provides, making the baseline 3 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 ('Look up') and resource ('a domain') scoped to 'the public RDAP registry', then enumerates the returned data fields. This distinguishes it from siblings like dns_lookup and ens_resolve, which serve different resolution purposes.

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 context is implied by 'public RDAP registry' and the field list, but there is no explicit when-to-use guidance and no routing to alternatives such as dns_lookup or ens_resolve. The only boundary statement is the scope exclusion about registrant/contact details.

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

ecb_key_ratesB
Read-only
Inspect

The three ECB key interest rates with their latest change dates and recent history. Data only, not advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
historyNoNumber of most recent rate observations per series.

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 and openWorldHint=true, so the safety profile is covered. The description adds only that the output is raw data rather than advice, which is useful but thin; it says nothing about update cadence, caching, or the shape of the returned series.

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 subject of the data front-loaded before the non-advice caveat.

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 data tool with no output schema, the description covers what the response contains at a high level. It does not characterize the structure or units of the series, which an agent assembling a response would eventually need, but it is adequate for correct invocation.

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 'history' parameter is fully documented in the schema (default 4, min 1, max 24). The description's phrase 'recent history' loosely echoes it but adds no syntax or 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 resource (the three ECB key interest rates) and what the payload contains (latest change dates and recent history), so the agent knows exactly what data comes back. It does not, however, distinguish itself from the close sibling fx_rate_ecb, which also deals with ECB-published rates.

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 pointer to fx_rate_ecb for currency conversion versus policy rates. 'Data only, not advice' is a liability disclaimer, not usage guidance.

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

ens_resolveA
Read-only
Inspect

Resolve an ENS name (e.g. vitalik.eth) to its Ethereum address, or look up the reverse-record name of an address, via the ENS registry on Ethereum mainnet. Onchain resolvers only; off-chain (CCIP-read) names report resolved=false.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoLower-case ENS name, e.g. vitalik.eth.
addressNoAddress for a reverse lookup (used if name is not set).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: it is restricted to onchain resolvers, and off-chain CCIP-read names report resolved=false rather than erroring. Return-shape detail is still limited.

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 dense sentences, front-loaded with the primary purpose and followed by the key constraint. No filler, no 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 no output schema, the description carries return-value burden and does disclose the resolved=false outcome field. For a 2-parameter read tool with full annotation coverage, this is nearly complete, though it could spell out the remaining return fields (e.g. the resolved address/reverse name).

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 (name pattern/format and address reverse-lookup usage) are already documented in the schema, including the 'used if name is not set' precedence. The description restates the forward/reverse distinction without adding 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.

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 name), covering both forward resolution to an address and reverse-record lookup, and names the network (Ethereum mainnet registry). An agent can immediately tell this differs from dns_lookup/domain_rdap, which handle DNS and RDAP rather than ENS.

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?

Clearly frames the two operating modes (name set vs address set) and adds a coverage caveat that off-chain CCIP-read names return resolved=false, which steers the agent's expectations. It stops short of explicit when-not-to-use or naming an alternative tool, but there is no ENS sibling to route to.

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

eu_vat_validateA
Read-only
Inspect

Check whether an EU VAT number is valid and active. Returns validity, registered name and address where the member state publishes them.

ParametersJSON Schema
NameRequiredDescriptionDefault
vatYesVAT number with country prefix, e.g. DK10150817. Spaces and dots are ignored. Greece uses EL, Northern Ireland XI.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and network behaviour are covered. The description adds genuine context by disclosing what comes back (validity, registered name, address) and that supplementary fields appear only 'where the member state publishes them', warning the agent that results vary by country.

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 action and followed by return semantics. Every clause carries information; nothing is redundant with 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?

For a single-parameter read-only lookup with no output schema, the description covers purpose and return values adequately, including the important caveat about member-state-dependent fields. It stops short of covering rate limits, error behaviour for malformed prefixes, or expected latency.

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 'vat' parameter is fully documented there, including country-prefix format, space/dot handling, and the EL/XI special cases. The description adds no parameter-level meaning 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.

Purpose5/5

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

States a specific verb (check/validate) and resource (EU VAT number), and adds the scope qualifier 'valid and active'. It is easily distinguished from siblings like iban_validate or lei_lookup, which validate different identifier types.

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 purpose implies when to use it (VAT number verification), but the description names no alternatives, prerequisites, or when-not-to-use conditions relative to sibling validators such as iban_validate or nordic_company_lookup.

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

fx_rate_ecbA
Read-only
Inspect

European Central Bank euro foreign-exchange reference rates for any date since 1999, converted to any base currency. Reference rates published around 16:00 CET on working days; not tradable quotes.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoBase currency, ISO 4217.EUR
dateNoYYYY-MM-DD. Default: latest. Weekends and holidays return the previous working day.
amountNoAmount of base currency to convert.
symbolsNoTarget currencies. Default: all.

TDQS

A3.8/5.0
Behavior4/5

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

With readOnlyHint and openWorldHint already covering the safety profile, the description adds real behavioral context: publication timing (around 16:00 CET on working days), historical coverage back to 1999, and the key caveat that these are reference rates, not tradable quotes. It stops short of mentioning rate limits or response freshness beyond the publication schedule.

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 zero waste; the resource and scope come first, and the timeliness/tradability caveat follows as the most decision-relevant qualifier.

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 parameterless-data fetch tool whose annotations already signal a safe read, the description covers scope, timing, and the reference-vs-tradable distinction well. The one gap is that, with no output schema, the response shape (which currencies/rates are returned, how amount is applied) is not sketched at all.

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 base, date, amount, and symbols are already fully documented in the schema. The description's 'any base currency' and 'any date since 1999' loosely reinforce base and date semantics but add no syntax or default detail beyond what the schema provides, making the baseline 3 correct.

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 (ECB euro foreign-exchange reference rates), its full historical scope (any date since 1999), and its conversion behavior (any base currency) — far more precise than the bare tool name. It implicitly separates itself from siblings such as ecb_key_rates and us_treasury_rates by resource, but never explicitly differentiates.

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 rather than stated: the conversion framing ('converted to any base currency') signals the currency-conversion use case, and 'not tradable quotes' warns off trading use. There is no explicit when-to-use/when-not guidance and no alternative tool is named.

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

iban_validateA
Read-only
Inspect

Validate an IBAN offline: ISO 13616 checksum (mod 97), registered length for the country, and a normalised and grouped format. Does not check that the account exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYesIBAN, spaces allowed.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing the exact validation algorithm (mod 97), the country-length rule, the normalisation/grouping behaviour, and critically a negative guarantee that the account's existence is not verified. That limitation is the most decision-relevant trait and is not derivable from 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 core action and its mechanism, closing with the boundary condition. Every clause 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?

For a one-parameter validation tool with no output schema, the description covers mechanism and limits well, but it never hints at the result shape (e.g., a validity flag versus specific failure reasons per check). Minor gap given the tool's simplicity.

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% ('IBAN, spaces allowed.'), so the schema already carries the parameter contract. The description's mention of a 'normalised and grouped format' describes the output presentation rather than adding input syntax guidance, 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 (validate) and resource (IBAN) and enumerates exactly what is checked: ISO 13616 mod-97 checksum, country-registered length, and normalised/grouped format. This clearly separates it from non-overlapping siblings such as eu_vat_validate or lei_lookup.

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

Usage Guidelines4/5

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

Gives clear context via 'offline' (no network lookup) and an explicit scope exclusion: 'Does not check that the account exists.' No alternative tool is named, but no sibling covers the same ground, so routing is unambiguous.

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

lei_lookupA
Read-only
Inspect

Look up a Legal Entity Identifier (LEI) record by 20-character LEI, or search legal entities by name and country. Returns legal name, registry number, legal form, addresses and LEI registration status. Company-level data only.

ParametersJSON Schema
NameRequiredDescriptionDefault
leiNoExact 20-character LEI. If set, name and country are ignored.
nameNoLegal name to search (exact match on registered legal name, e.g. "Novo Nordisk A/S").
limitNoMaximum records for a name search.
countryNoISO 3166 country code of the legal address, e.g. DK.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds value by enumerating returned fields (legal name, registry number, legal form, addresses, registration status) and by explicitly bounding scope to company-level data, which prevents misuse for natural-person screening. It does not discuss rate limits or empty-result 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 sentences, zero filler: capability and modes first, returned data second, scope boundary last. Nothing redundant and nothing 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 no output schema, the description correctly compensates by listing the return fields, and the scope caveat covers the main risk. Minor gaps remain: no indication of pagination/limit behavior for name searches or what a no-match response looks like, though the limit parameter is documented in 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%, so pattern, maxLength, defaults and the LEI-precedence rule are all already documented in the schema. The description's '20-character LEI' and 'name and country' phrasing only restates schema content. Baseline 3 is appropriate when the schema carries the semantics.

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) and resource (LEI record / legal entities) and names the two operating modes: exact LEI lookup and name/country search. It also scopes the domain with 'Company-level data only', which helps distinguish it from person-oriented lookups. It stops short of explicitly contrasting with the nearby sibling nordic_company_lookup, which overlaps in the company-entity space.

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 when each mode applies (LEI for exact record, name+country for search) but never states a preference rule or exclusion, and the precedence rule ('If set, name and country are ignored') lives in the schema, not here. No mention of when an agent should prefer a sibling like nordic_company_lookup. Usage is inferable but not guided.

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

nordic_company_lookupA
Read-only
Inspect

Look up companies in the Norwegian and Finnish company registers by registration number or name: name, legal form, industry, address, registration date and status. Company-level data only, no persons.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOrganisation number (NO, 9 digits) or business ID (FI, e.g. 0112038-9).
nameNoCompany name to search. Used if id is not set.
limitNoMaximum results for a name search.
countryYesRegister to query.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safe-read and external-live-data profile is covered. The description adds genuinely useful behavioral context: the result set is restricted to company-level data with no person records. It says nothing about rate limits, result caps beyond the limit param, or error behavior when an ID is not found.

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 tightly constructed sentence with the action and scope front-loaded, followed by a short scope-limiting clause. Every phrase carries information; there is 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 no output schema, the description helpfully enumerates the returned fields and the company-only limitation, which is enough for an agent to call and interpret the tool. The remaining gap is minor: it does not describe empty-result or not-found behavior, but for a read-only lookup that is not essential.

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%: each of the four parameters (id, name, limit, country) is already documented in the schema, including the id pattern, the NO/FI enum, and the id-over-name precedence. The description adds 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 (look up) and resource (companies in the Norwegian and Finnish company registers) plus the two lookup keys (registration number or name). It also enumerates the returned attributes (name, legal form, industry, address, registration date, status), so an agent knows exactly what this tool delivers. No sibling covers company-register lookups, so no differentiation is needed.

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 by naming the two lookup paths ('by registration number or name') and scopes out non-company data ('Company-level data only, no persons'). However, it gives no explicit when-to-use context, prerequisites, or precedence between id and name lookups, so the routing guidance is implied rather than stated.

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

package_vulnerabilitiesA
Read-only
Inspect

Check an npm or PyPI package version against a public vulnerability database: advisory ids, aliases (CVE, GHSA), summary, severity label and first fixed version, plus the latest published version. Informational; not a full security audit.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name, e.g. lodash or requests.
versionNoVersion to check. Default: latest published version.
ecosystemYesPackage ecosystem.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds real context beyond that: exactly what a result contains and the explicit 'not a full security audit' limitation, which sets correct expectations for a public-database lookup.

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 names the operation first, then the returned fields, then the caveat. No redundant sentences; 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?

For a read-only lookup with no output schema, the description compensates by listing the response fields, and the scope caveat covers the main risk of over-trusting results. It is complete enough to call correctly, though nothing is said about rate limits or database coverage.

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 name, version, and ecosystem are fully documented in the schema itself. The description only restates the ecosystems and the 'version' input implicitly; it adds no syntax or format meaning 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.

Purpose5/5

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

States a specific verb ('Check') plus resource ('npm or PyPI package version against a public vulnerability database') and enumerates the returned fields (advisory ids, aliases, severity, fixed version, latest version). No sibling tool performs vulnerability lookups, so there is no ambiguity to resolve.

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?

Implies the use case (check a package version for known advisories) and adds a boundary caveat ('Informational; not a full security audit'), which signals when not to over-rely on the result. However, no alternatives or explicit when-to-use conditions are named.

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

rss_feed_normaliserA
Read-only
Inspect

Turn any RSS 2.0, RSS 1.0, Atom or JSON Feed into one clean JSON schema: feed title, link and language, then items with id, title, URL, ISO published/updated dates, summary, categories and enclosure. Give a feed URL or a normal web page and the feed is discovered from its link tags. Author names are not returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFeed URL, or a web page that links to a feed.
maxItemsNoMaximum number of items returned (newest first as published in the feed).
summaryCharsNoMaximum characters of the plain-text summary per item.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, openWorldHint), and the description adds value beyond them: it discloses the full output shape and a real limitation ('Author names are not returned'). It does not mention rate limits, error behavior on non-feed pages, or authentication, leaving minor gaps.

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 core transformation, then input handling, then the caveat. Every sentence earns its place with no 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 no output schema, the description carries the burden of explaining returns and does so thoroughly (feed title, link, language, item fields). Combined with full parameter coverage and annotations, nothing an agent needs 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.

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all three parameters including defaults and bounds. The description restates the url flexibility ('feed URL or a normal web page') but adds no new 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.

Purpose5/5

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

States a specific verb (turn into one clean JSON schema) and resource (RSS 2.0, RSS 1.0, Atom, JSON Feed), enumerating both input formats and the normalized output fields. It clearly differentiates itself from siblings like url_metadata and url_to_markdown by being feed-specific.

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 clear context on when it applies: 'Give a feed URL or a normal web page and the feed is discovered from its link tags.' This clarifies input flexibility but offers no explicit exclusions or named alternatives among siblings.

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

sitemap_robots_doctorA
Read-only
Inspect

Audit a website's robots.txt and XML sitemaps in one call: user-agent groups and blocked paths, sitemap declarations, whether each sitemap loads, URL counts (indexes followed to 10 files), lastmod coverage and age, duplicates, off-host and non-HTTPS URLs, size-limit breaches, and a sample of listed URLs checked for status. Returns a list of concrete issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesDomain or URL of the site, for example example.com or https://example.com/blog.
sampleUrlsNoHow many listed URLs to fetch and check for status (0 to skip).

TDQS

A3.9/5.0
Behavior4/5

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

Goes well beyond the readOnly/openWorld annotations by disclosing concrete behaviors: network fetches of sitemaps, index following bounded at 10 files, and live status checks of sampled URLs. It does not mention rate limits, timeouts, or failure handling, but the behavioral profile of a read-only network-bound auditor is unusually well conveyed.

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 front-loads the verb and resource, then lists checks in a readable enumeration ending with the return value. It is long but every clause maps to a distinct capability 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?

For a two-parameter, read-only audit tool with no output schema, the description covers scope, side effects (network fetches), bounds (10 index files, sampled URLs), and return nature (a list of concrete issues). A note on failure behavior or runtime would be needed for a full 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 coverage is 100%, so both parameters are already fully documented in the schema (including the 0-to-skip semantics of sampleUrls). The description adds no syntax, format, or default detail beyond it, 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?

Names a specific verb (audit), specific resources (robots.txt, XML sitemaps), and enumerates the exact checks performed. No sibling tool on the list covers this scope, so it is unambiguously distinguishable.

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 when to use it (site technical SEO audit) but never states when not to use it or names any alternative. Usage is inferable from the enumerated checks rather than explicitly guided.

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

solana_swap_quoteA
Read-only
Inspect

Get a swap quote on Solana through a DEX aggregator: expected output, minimum output after slippage, price impact, route venues and all fees in basis points. Read-only; nothing is signed or sent. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount of the input token in its smallest unit (lamports for SOL).
inputMintYesMint address of the token to sell (SOL = So11111111111111111111111111111111111111112).
outputMintYesMint address of the token to buy (USDC = EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v).
slippageBpsNoMaximum slippage in basis points. Omit for the automatic estimate.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is partly covered. The description adds genuine context beyond that: it confirms nothing is signed or sent and previews exactly which values come back (slippage-adjusted minimum, price impact, route venues, fees in bps), which is useful for an agent deciding whether this is a dry-run.

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 result fields in one dense sentence, followed by two short caveats. The trailing 'Not investment advice' is marginally useful but is the least load-bearing clause; otherwise there is no 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?

With no output schema, the description carries the burden of describing returns and does so by naming the quote fields. Read-only behavior and slippage handling are covered, though the omission of any pagination/expiry or freshness note for quotes is a minor 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 all four parameters are already documented in the schema, including the smallest-unit convention and slippageBps semantics. The description only alludes to slippage via 'minimum output after slippage' and adds no format or syntax 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 a swap quote on Solana through a DEX aggregator') and enumerates what the quote contains (expected output, minimum output, price impact, route venues, fees). The read-only clause implicitly separates it from the solana_swap_transaction sibling, though that sibling is never named.

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 context by declaring it read-only and unsigned, which suggests it is the preview step before executing a swap. However, it never explicitly says when to use this versus solana_swap_transaction or solana_token_price, leaving the routing inference to the agent.

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

solana_swap_transactionA
Read-only
Inspect

Build an unsigned Solana swap transaction through a DEX aggregator for a wallet you control. The response contains the base64 transaction, the quote and every fee in basis points, including any integrator fee. Non-custodial: you sign locally, we never see keys or funds and do not send transactions. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
takerYesYour wallet address (public key) that will sign and pay.
amountYesAmount of the input token in its smallest unit.
inputMintYesMint address of the token to sell.
outputMintYesMint address of the token to buy.
slippageBpsNoMaximum slippage in basis points. Omit for the automatic estimate.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, and the description is consistent with them while adding real context: the transaction is unsigned, the caller signs locally, keys/funds are never seen, and no transaction is sent. It also discloses the response payload (base64 transaction, quote, fees in basis points including integrator fee). Missing only failure/error behavior, which is acceptable given no 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?

Three sentences, front-loaded with the core action, followed by the response shape and the custodial guarantee. Only the closing 'Not investment advice' boilerplate is arguably dispensable, but it is brief and legally relevant.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing the return value and does so (base64 transaction, quote, all fees in bps), plus it clarifies the non-custodial boundaries. Only the absence of error/edge-case behavior keeps it from being 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%, with each parameter (taker, amount, inputMint, outputMint, slippageBps) already documented in the schema including the slippage fallback behavior. The description adds no parameter-level 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.

Purpose5/5

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

States a specific verb and resource: 'Build an unsigned Solana swap transaction through a DEX aggregator.' The word 'unsigned' plus 'for a wallet you control' implicitly separates it from solana_swap_quote and other siblings, so an agent can route correctly 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 Guidelines3/5

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

The description explains the workflow context (you sign locally; the service never sends transactions) which implies when you'd want this over a quote, but it never names solana_swap_quote or any other alternative, nor does it state prerequisites or exclusions explicitly. Usage is inferable rather than stated.

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

solana_token_factsA
Read-only
Inspect

Verifiable on-chain facts about a Solana token mint: whether the mint and freeze authorities are still set, total supply, decimals, token program, and how much of the supply the largest token accounts hold, plus public market metrics from a token index. Facts only: no verdict and no recommendation. Largest accounts can be liquidity pools or exchanges, not individual holders.

ParametersJSON Schema
NameRequiredDescriptionDefault
mintYesToken mint address.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-data profile are covered. The description adds genuinely useful behavioral context beyond that: it's explicitly 'facts only' with no verdict/recommendation, and it warns that largest accounts may be pools or exchanges rather than individuals – a non-obvious interpretation caveat that changes how an agent should read the output.

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, front-loaded with the resource and returned fields, then the 'facts only' scope statement, then the largest-account caveat. No filler and 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?

For a single-param read-only lookup with annotations covering safety, the description is nearly complete: it enumerates returned fields, sets the non-advisory scope, and pre-empts a common misinterpretation. It doesn't mention source freshness or rate limits, but with no output schema and full annotation coverage the gaps are minor.

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 there is only one parameter (mint) fully documented in the schema. The description names the subject (a Solana token mint) but adds no format, constraint, or interpretation detail beyond the schema. Baseline 3 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 ('Verifiable on-chain facts about a Solana token mint') and enumerates exactly what it returns: authority status, supply, decimals, token program, largest-account concentration, and market metrics. It is clearly distinguishable from siblings like solana_token_price (price only) and solana_token_search (discovery).

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 usage context is implied by the description ('facts only, no verdict or recommendation'), which tells the agent this is a data-gathering tool, not an evaluator. But it never explicitly says when to use this vs solana_token_price or solana_token_search, and there are no exclusions or prerequisites stated.

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

solana_token_priceA
Read-only
Inspect

Current USD price, 24-hour change, liquidity and decimals for up to 50 Solana token mints in one call, from an aggregated market feed. Unknown or unpriced mints are listed as null. Data only, not a recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
mintsYesToken mint addresses (1-50).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the read-only and open-world safety profile, so the description adds genuine value on top: it discloses the data source (aggregated market feed), the null behavior for unknown or unpriced mints, and the 50-mint batch ceiling. It does not mention rate limits, freshness/staleness of prices, or latency, which are relevant for a market feed.

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 densely front-loaded sentence carrying purpose, scope, and return fields, followed by a short null-behavior note and a disclaimer. Every clause earns its place with no 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 no output schema, the description correctly enumerates the returned fields, the batch limit, and edge-case handling (nulls for unknown mints), which is everything an agent needs to call and interpret results. 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.

Parameters4/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 beyond the schema by stating the 50-mint cap and, importantly, that unrecognized or unpriced mints come back as null rather than erroring — useful input-related semantics not encoded in the schema.

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

Purpose5/5

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

States a specific resource (Solana token mints) and exactly what is returned: USD price, 24-hour change, liquidity, decimals, up to 50 mints per call. It is clearly distinguishable from siblings like solana_token_facts and solana_token_search, and the 'aggregated market feed' source plus 'data only, not a recommendation' framing removes ambiguity about intent.

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 rather than stated: 'up to 50 mints in one call' signals batch price lookup, but the description never says when to prefer this over solana_token_facts, solana_token_search, or the swap-quote tools. No explicit when-to-use or when-not-to-use guidance is given.

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

solana_transactionA
Read-only
Inspect

Look up a confirmed Solana transaction by signature: success or error, time, fee, signers, programs used, and the resulting SOL and token balance changes per account. Public on-chain data; not advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureYesTransaction signature (base58).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds meaningful context beyond them: the tool only covers confirmed transactions, it reports both success and error outcomes, and the data is public on-chain with a "not advice" disclaimer. Rate limits and failure modes are unstated, keeping it below 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?

One dense sentence front-loads the verb and resource, then lists the return fields; a short trailing clause covers data provenance. Nothing is padded or redundant.

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

Completeness5/5

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

For a single-parameter read tool with no output schema, the description compensates by enumerating what comes back (status, time, fee, signers, programs, balance changes per account), and annotations cover the safety profile. An agent has everything needed to call and interpret 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?

There is a single parameter with 100% schema description coverage, including a base58 pattern, so the schema carries the parameter burden. The description only restates that lookup is "by signature," adding no format or validation detail beyond the schema. 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 ("Look up a confirmed Solana transaction") and then enumerates the exact payload: status, time, fee, signers, programs, and per-account SOL/token balance changes. This clearly separates it from siblings like solana_swap_transaction (which constructs a swap) or solana_wallet_balances (which reads balances) without needing to open 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 Guidelines4/5

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

The triggering condition is explicit: you must have a transaction signature, and the target is a *confirmed* transaction, implicitly excluding pending/failed-submission queries. It never names an alternative tool or a when-not case, so it stops short of a 5.

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

solana_wallet_balancesA
Read-only
Inspect

SOL balance and token holdings of any Solana address, with symbols, USD prices and values, largest first. Sums multiple accounts of the same token and includes Token-2022 tokens. Public on-chain data and market prices; not advice. Very large wallets are limited to the most valuable holdings.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of holdings to return, most valuable first.
addressYesSolana wallet address.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnlyHint and openWorldHint. The description adds substantial context beyond them: it sums multiple accounts of the same token, includes Token-2022 tokens, sorts largest-first, and discloses that very large wallets are truncated to the most valuable holdings. The truncation behavior is a non-obvious limitation worth flagging.

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 front-loaded sentences, each carrying information (scope, aggregation rules, data provenance, truncation limit). The 'not advice' clause is marginally expendable but adds a small amount of provenance framing.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing return values, and it does: balance plus token holdings with symbols, USD prices and values, sorted by value. It stops short of describing the exact response shape or pagination semantics, but is adequate for a two-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?

Schema coverage is 100%, so the baseline is 3. The description's 'largest first' aligns with the limit parameter's documented ordering but adds no syntax or format 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.

Purpose5/5

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

States a precise verb+resource: returns SOL balance and token holdings for a Solana address, with pricing detail. It is clearly distinguishable from siblings like solana_token_price or solana_token_facts, which operate on a token rather than a wallet.

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 use case (fetch a wallet's holdings) is strongly implied, but there is no explicit when-to-use or when-not-to-use guidance and no reference to alternatives such as base_wallet_balances for other chains. The 'not advice' line is a disclaimer, not routing guidance.

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

url_metadataA
Read-only
Inspect

Link-preview data for one or many public URLs: title, description, canonical URL, Open Graph and Twitter card fields, favicon, language, hreflang alternates, feed links and JSON-LD types. Respects robots.txt, refuses private addresses, no JavaScript rendering. Each page is one result; failed pages are listed with the reason and not charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoOne public http(s) URL. Use this or urls.
urlsNoUp to 20 public http(s) URLs; every page that returns metadata is one billable result.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, but the description adds real operational context beyond them: robots.txt compliance, refusal of private addresses, no JS rendering, per-page billing, and that failed pages are reported with a reason and not charged. This meaningfully reduces invocation risk.

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 that are front-loaded with the most important content (what data is returned) followed by constraints and billing behavior. Dense but every clause carries information; 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?

For a read-only tool with no output schema, the description enumerates returned fields, states failure/billing behavior, and lists access constraints (robots.txt, no private addresses, no JS). The main gap is sibling differentiation against url_to_markdown, which would make the definition fully self-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%, so both parameters (url and urls) are already documented, including the 'Use this or urls' guidance and the 20-item cap. The description only restates 'one or many public URLs' and adds the 'public' constraint, adding little 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 resource (link-preview metadata for public URLs) and enumerates the returned fields (title, description, canonical URL, OG/Twitter, favicon, language, hreflang, feeds, JSON-LD types), so the agent knows exactly what it gets. However, it never names or contrasts with the obvious sibling url_to_markdown, so differentiation 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?

Usage is only implied through the field list and the 'no JavaScript rendering' caveat. There is no explicit when-to-use statement and no routing to alternatives such as url_to_markdown, so an agent must infer the choice rather than being told.

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

url_to_markdownA
Read-only
Inspect

Fetch a public web page and return its main text as Markdown with title, headings, lists, tables and absolute links. Respects robots.txt, refuses private and internal addresses, no JavaScript rendering. For pages that need a browser, use a rendering tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic http(s) URL.
maxCharsNoMaximum characters of Markdown returned.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds substantive behavior beyond that: robots.txt is respected, private and internal addresses are refused, and JavaScript is not executed. These are operationally decisive constraints an agent cannot infer from 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 compact sentences: the first front-loads what is returned and how, the second carries constraints and the escape hatch. Every clause adds information with no 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 no output schema, the description covers the return shape (Markdown structure, absolute links), the input constraints, and the key limitation (no JS rendering) plus the alternative. Nothing essential 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 both 'url' and 'maxChars' documented in the schema including bounds and default, so the description need not repeat them. It adds no additional semantics about the parameters, which is the expected 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?

The description names a specific verb and resource (fetch a public web page) and specifies the output precisely (main text as Markdown with title, headings, lists, tables, absolute links). No sibling tool overlaps with this capability, so differentiation is unambiguous.

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

Usage Guidelines4/5

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

It gives a clear when-not condition: pages requiring JavaScript should go to 'a rendering tool'. That is actionable, but the alternative is described generically rather than named, and no guidance is given on large pages or repeated calls.

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

us_treasury_ratesA
Read-only
Inspect

Monthly average interest rates on US Treasury marketable securities (bills, notes, bonds, TIPS, FRNs) Latest months first. Data only, not advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthsNoNumber of most recent months.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description usefully adds output ordering ('latest months first') and a usage disclaimer, but says nothing about data source, publication lag, or value units/format despite having no 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?

Three short sentences, front-loaded with the core resource before the ordering note and disclaimer; nothing is wasted. Minor deduction for the choppy fragment structure ('Latest months first.') rather than flowing prose.

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

Completeness4/5

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

For a single-parameter read-only tool with no output schema, the description covers what data is returned, its granularity (monthly average), instrument coverage, and ordering. Only detail that would help an agent interpret results, such as units or publication lag, 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% for the single 'months' parameter (default 3, min 1, max 24), so the schema already does the explanatory work. The description's 'latest months first' only weakly reinforces the recency semantics and 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.

Purpose5/5

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

Names a specific resource (monthly average interest rates on US Treasury marketable securities) and enumerates the covered instrument types (bills, notes, bonds, TIPS, FRNs). The domain-specific scope clearly separates it from sibling rate tools like ecb_key_rates and fx_rate_ecb without needing to open 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 Guidelines3/5

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

'Latest months first' and the instrument enumeration imply this is a lookup for US Treasury yields, which is adequate implied usage. However, there is no explicit when-to-use, no guidance on choosing it over the similar-looking ECB/FX rate siblings, and 'Data only, not advice' is a disclaimer rather than usage guidance.

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

wikipedia_summaryA
Read-only
Inspect

Lead-section summary of a Wikipedia article by title and language: plain-text extract, short description, canonical URL and last-edit time. Text is CC BY-SA 4.0 from Wikipedia contributors and must be attributed.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoWikipedia language code.en
titleYesArticle title, e.g. Copenhagen.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=true, openWorldHint=true), so the bar is lower. The description adds genuinely useful context beyond them: it discloses the returned fields and the CC BY-SA 4.0 attribution obligation, which is a behavioral constraint an agent must honor when reusing the text. It stops short of failure modes (nonexistent title, redirects, disambiguation).

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: the first front-loads what is retrieved, the second adds the licensing constraint. No filler, no repetition of schema or annotation content.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing return values, and it does so (extract, short description, URL, last-edit time) plus licensing. It is nearly complete for a read-only, open-world lookup; only error/redirect behavior is left 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% and both parameters (title, lang) are documented in the schema with defaults, pattern, and lengths. The description only repeats 'by title and language' without adding format or edge-case semantics, so the baseline 3 is correct.

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

Purpose5/5

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

States a precise verb+resource+scope: it returns the lead-section summary of a Wikipedia article identified by title and language. It also enumerates what comes back (plain-text extract, short description, canonical URL, last-edit time), so an agent can distinguish it from generic fetch tools like url_to_markdown 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 Guidelines3/5

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

The 'lead-section' phrasing implies this returns only the article intro, not the full text, which implicitly signals when another fetch tool is needed, but no alternative or when-not condition is named. There is no guidance on language defaults, missing/disambiguation pages, or when to prefer it over url_to_markdown. Usage is therefore implied rather than stated.

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

Tool Schema Changelog

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

  1. 4 tool updates
    • Addedbase_token_facts
    • Addedrss_feed_normaliser
    • Addedsitemap_robots_doctor
    • Addedurl_metadata
  2. 2 tool updates
    • Removedcrossref_doi
    • Addeddoi_lookup
  3. 4 tool updates
    • Addedbase_transaction
    • Addedbase_wallet_balances
    • Addedsolana_transaction
    • Addedsolana_wallet_balances
  4. 1 tool update
    • Changedsolana_swap_quote1 field changed
      • changedInput schema / properties / slippageBps / description
        Previous value: -"Maximum slippage in basis points. Omit for Jupiter's automatic estimate."New value: +"Maximum slippage in basis points. Omit for the automatic estimate."
  5. 25 tool updates
    • First observedbase_erc20_balance
    • First observedbase_token_info
    • First observedcrossref_doi
    • First observeddisposable_email_check
    • First observeddk_co2_intensity
    • First observeddk_electricity_prices
    • First observeddns_lookup
    • First observeddomain_rdap
    • First observedecb_key_rates
    • First observedens_resolve
    • First observedeu_vat_validate
    • First observedfx_rate_ecb
    • First observediban_validate
    • First observedlei_lookup
    • First observednordic_company_lookup
    • First observedpackage_vulnerabilities
    • First observedsolana_swap_quote
    • First observedsolana_swap_transaction
    • First observedsolana_token_facts
    • First observedsolana_token_price
    • First observedsolana_token_search
    • First observedted_notices_search
    • First observedurl_to_markdown
    • First observedus_treasury_rates
    • First observedwikipedia_summary

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides 13 Solana DeFi intelligence tools for AI agents, paid per-call via micropayments (USDC). Enables pulling live DeFi data and automatic payment settlement.
    13
    54 npm
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Non-custodial Solana swap & limit order engine for AI agents. 21 tools - swap, limit, trailing, TWAP, DCA, combo orders - across Raydium, PumpSwap, Orca, Meteora. Jito MEV-protected execution. Ed25519-verified server messages. Private key never leaves the process.
    21
    89 npm
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to read chain data, execute transactions, swap tokens, and manage wallets on Solana through 38 tools across 7 modules. Supports write operations with a private key and includes built-in prompts for common workflows.
    38
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources