SYNTHORA x402 Intelligence Mesh
Server Details
Calibrated intelligence via x402 (USDC Base). ERC-8004 #84581: 272 payments, 49 wallets.
- Status
- Healthy
- Uptime
- 99.9% over 33 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 27 tools
Most tools target clearly distinct data domains (air quality, earthquake, DeFi, forex, etc.), so an agent can generally tell them apart. However, there is some overlap between the two FX cross-verification tools (ecb_forex_fixing_vs_market and exchange_rates_verified) and potentially between payto_preflight and registry_watch, which could cause momentary confusion.
The vast majority of tool names follow a consistent snake_case convention (e.g., bitcoin_fees, defi_yields, polymarket_markets), which is predictable. Minor deviations like 'dnsdomain' (missing underscore) and the use of 'vs' in ecb_forex_fixing_vs_market are slight inconsistencies but do not break readability.
With 27 tools, the count is on the heavy side and may feel overwhelming to an agent without the synthora_search discovery tool. However, because the server is explicitly an intelligence mesh covering many separate data feeds, each tool serves a distinct purpose, making the high count somewhat justified rather than arbitrary.
The surface covers a wide range of domains, but the synthora_search description advertises categories (security verdicts, sanctions/AML, token and NFT intelligence) that are not present as tools. This creates a gap between the promised catalog and the actual toolset, though the included tools are individually complete for their specific data queries.
Available Tools
27 toolsair_qualityARead-onlyIdempotentInspect
SYNTHORA air-quality: live air quality for any city or lat,lon — PM2.5/PM10/ozone/NO2, EU and US AQI, and a WHO-threshold operational verdict (good/moderate/harmful). Source: open-meteo Air Quality (CAMS/ESA Copernicus), free, no key. $0.01 USDC x402 Base. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": "Delhi"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds genuinely new context: the upstream source (open-meteo Air Quality / CAMS-ESA Copernicus), that it is keyless, and a paid x402 requirement at $0.01 USDC on Base. It does not mention rate limits or caching, but the payment/auth disclosure is a real addition beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause with pollutants and AQI standards following. The only waste is the price stated twice ('$0.01 USDC x402 Base' and the bracketed '[x402: 0.01 USDC per call on Base]'), which is redundant but minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully previews the return shape (specific pollutants, EU and US AQI, and the good/moderate/harmful WHO verdict). Combined with annotations and full param coverage, an agent has enough to call and interpret it, though exact response fields remain unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema's generic 'product parameters (JSON or text)' does not: it accepts either a city name or a lat,lon pair. That clarifies the accepted input vocabulary beyond the single city example in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'live air quality for any city or lat,lon', and enumerates the outputs (PM2.5/PM10/ozone/NO2, EU/US AQI, WHO verdict). The word 'live' cleanly distinguishes it from the historical_weather sibling, so an agent can route 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'live' and by the accepted input forms (city or lat,lon), but there is no explicit when-to-use/when-not statement and no sibling named as an alternative. The agent must infer that historical_weather is the counterpart for past data 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.
bitcoin_feesARead-onlyIdempotentInspect
SYNTHORA bitcoin-fees: Bitcoin fee tiers in sat/vB (fastest/half-hour/hour/economy/minimum) plus current block height. Source: mempool.space public API, keyless. Bitcoin only. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive). The description adds meaningful non-annotation context: the data source (mempool.space public API, keyless) and, importantly, a payment requirement of 0.01 USDC per call via x402 on Base. That cost disclosure is behaviorally valuable; only return/pagination details are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the resource and the tier names, with metadata (source, payment) trailing. Nothing is wasted, though the bracketed payment clause makes it slightly crowded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a keyless read-only fee lookup with no output schema, the description enumerates the returned fields (five fee tiers plus block height), which is what the agent needs. Source and cost are covered; only edge behavior (e.g. rate limits, error handling) is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 100% schema description coverage but is documented only generically as 'product parameters (JSON or text)'. Per the high-coverage baseline, 3 is appropriate — the schema carries the load and the description adds no format or content guidance for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and content: Bitcoin fee tiers in sat/vB (fastest/half-hour/hour/economy/minimum) plus block height. 'Bitcoin only' implicitly separates it from gas_oracle_multi, but no sibling is named explicitly. An agent can tell what it returns 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource description (get Bitcoin fee estimates) but there is no explicit when/when-not guidance or named alternative. 'Bitcoin only' mildly signals that multi-chain fee queries belong elsewhere, but this is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_llama_tvl_rankingARead-onlyIdempotentInspect
SYNTHORA defi-llama-tvl-ranking: Top DeFi protocols by TVL with rank, chain, category and 1d/7d change, capped list (default 50, max 200 via {"limit":N}). Source: api.llama.fi/protocols (DefiLlama), keyless, timestamped. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"limit": 50} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, safe. Description adds valuable context beyond them: source (api.llama.fi/protocols), keyless auth, timestamped output, capped list behavior (default 50, max 200), and the surprising cost (0.01 USDC per call via x402 on Base). This is substantial behavioral disclosure not in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single dense sentence, front-loaded with the core purpose. Includes essential metadata compactly. Slightly congested with multiple details, but every part serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description needn't detail returns, but it does mention the fields (rank, chain, category, 1d/7d change). Given annotations cover safety, the description provides source, auth, limit behavior, and cost. Complete enough for an agent to call correctly; minor gap: no explicit error behavior or rate limit details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 1 parameter with 100% schema description coverage, so baseline is 3. The description adds example usage 'via {"limit":N}' and explains the default and max values, adding some meaning beyond schema, but schema already describes the parameter as 'product parameters (JSON or text)' with the same example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Top DeFi protocols by TVL with rank, chain, category and 1d/7d change'. Clearly distinguishes itself from siblings like defi_yields (yield-focused) and stablecoin_supply (stablecoins). An agent knows exactly what this returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives mentioned. Implied usage from TVL ranking context and default/max limit. Could name defi_yields as the alternative for yield queries, but doesn't. 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.
defi_yieldsBRead-onlyIdempotentInspect
SYNTHORA defi-yields: stablecoin DeFi yields ranked with a risk outlier detector — APY vs class median (>=3x median = the excess yield IS the risk price). Only pools with TVL >= $10M. Source: DefiLlama, free, no key. $0.01 USDC x402 Base. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": ""} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, but the description adds genuinely useful non-schema behavior: the TVL >= $10M inclusion floor, the DefiLlama source, and that each call costs $0.01 USDC via x402 on Base. Payment/auth requirements are exactly the kind of context annotations don't cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and information-dense, but the payment terms are stated twice ('$0.01 USDC x402 Base' and '[x402: 0.01 USDC per call on Base]'), which is pure redundancy. The core differentiator sentence is also crammed with two ideas at once.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-parameter tool with no output schema, the description covers source, cost, filtering, and the ranking logic an agent needs to decide relevance. The main gap is that it never describes the shape of the returned ranking or the expected 'input' payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single loosely-specified 'input' parameter, so the schema baseline applies. The description adds nothing about what product parameters the input should carry, leaving the payload format ambiguous in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (stablecoin DeFi yields ranked) plus the differentiator (risk outlier detector based on APY vs class median), which separates it from siblings like defi_llama_tvl_ranking and stablecoin_supply. It never explicitly names a sibling to route against, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a qualifying constraint (TVL >= $10M) and sourcing/cost facts, but never says when to choose this over defi_llama_tvl_ranking, stablecoin_supply, or top_crypto. No when-to-use or when-not-to-use guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dnsdomainARead-onlyIdempotentInspect
Full DNS + WHOIS/RDAP domain report in one call. Resolves A, AAAA, MX, TXT, NS, CNAME, SOA and DNSSEC over DNS-over-HTTPS, plus structured WHOIS via RDAP (registrar, registration/expiration/updated dates, EPP status, nameservers), and returns a 0-100 domain-hygiene score with letter grade (age, days-to-expiry, nameserver redundancy, MX presence, DNSSEC, SPF/DMARC, registrar lock). Deterministic, Ed25519-signed. 0.001 USDC via x402 on Base. SYNTHORA. First 3 calls FREE per wallet — send header 'X-WALLET: 0x' (no payment); then 0.001 USDC per call. [x402: 0.001 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"domain": "stripe.com"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld/idempotent annotations: discloses the resolution mechanism (DNS-over-HTTPS, RDAP), determinism and Ed25519 signing, the cost model and free-tier mechanics, and the exact scoring inputs. An agent knows the side effects, auth needs and cost before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the payload and return contents, and dense with useful specifics. Minor waste in restating the pricing twice ('0.001 USDC via x402 on Base' and the bracketed '[x402: 0.001 USDC per call on Base]') and the trailing brand token.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by naming the record types, WHOIS fields, and the 0-100 score with letter grade components. Coverage is strong apart from error/partial-failure behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema coverage is 100%, so the schema already documents 'input' and the domain example. The description confirms the domain-shaped input but adds no format constraints or edge-case guidance beyond the schema's own example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Full DNS + WHOIS/RDAP domain report in one call') and enumerates exactly what is resolved (A, AAAA, MX, TXT, NS, CNAME, SOA, DNSSEC) plus RDAP WHOIS fields and a hygiene score. No sibling tool covers this ground, so it is clearly distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the invocation/payment path well (first 3 calls free via X-WALLET header, then paid), which is practical guidance, but it never says when to choose this over neighbors like registry_watch or who_gho_indicator_timeseries, nor any when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
doaj_article_searchARead-onlyIdempotentInspect
Searches the Directory of Open Access Journals article index, returning titles, authors, DOIs, journal, ISSNs, abstracts and open-access full-text links as JSON. A keyless endpoint for autonomous research agents and agent-to-agent workflows sourcing legally free, peer-reviewed open-access literature. First 3 calls FREE per wallet — send header X-WALLET: 0x. No charge on upstream failure. [x402: 0.005 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"query": "machine learning", "pageSize": 2} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, open-world profile, but the description adds genuinely useful behavioral context beyond them: the X-WALLET auth header, the 3-free-call allowance, the 0.005 USDC per-call charge on Base, and the no-charge-on-failure guarantee. Only pagination and rate-limit behavior remain undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by audience, then payment mechanics; every sentence carries information. The x402/pricing sentence is dense but earns its place since it affects how the agent invokes the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 listing return fields (titles, authors, DOIs, journal, ISSNs, abstracts, full-text links). Auth and billing are covered, so an agent can call it correctly; only return-format details like pagination or result caps are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single `input` parameter, and the schema provides a concrete JSON example, so the baseline is 3. The description adds no parameter-level detail (e.g., supported query syntax, pageSize limits) beyond what the schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Searches the Directory of Open Access Journals article index') and enumerates the returned fields, so the agent knows exactly what this tool yields. No sibling overlaps with journal-article search, so it is cleanly distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the usage context ('keyless endpoint for autonomous research agents sourcing open-access literature') and documents the payment model, but never states when to prefer this over siblings like synthora_search or when to avoid it. Usage is implied rather than explicitly scoped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecb_forex_fixing_vs_marketARead-onlyIdempotentInspect
SYNTHORA ecb-forex-fixing-vs-market: ECB daily EUR/USD fixing vs live market rate: deviation in basis points, direction and >25bps alert. Sources: official ECB eurofxref-daily.xml + open.er-api.com, both keyless. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description adds value by disclosing the keyless data sources, the derived outputs including the alert threshold, and the x402 payment cost of 0.01 USDC per call on Base — a material behavioral fact not in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: it leads with the operation, then outputs, then sources, then cost. Slight redundancy in repeating the tool name via the 'SYNTHORA ecb-forex-fixing-vs-market' prefix, which duplicates the name field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 correctly carries the return-value burden by naming the exact metrics returned (bps deviation, direction, alert). Annotations handle safety, and the tool effectively takes no required parameters, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema nominally covers 100% of the single parameter, so the baseline is 3, but the parameter is a generic 'input' string described only as 'product parameters (JSON or text)', and the description adds no syntax or format guidance to compensate. Nothing in the definition tells an agent what to actually pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (ECB daily EUR/USD fixing compared against the live market rate) plus the exact outputs (deviation in basis points, direction, >25bps alert). It clearly distinguishes itself from siblings like exchange_rates_verified and ecb_macro by identifying both the data sources and the comparison being made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is useful (detecting divergence between the official ECB fixing and live market pricing) but never states when/when-not to use it or names an alternative sibling such as exchange_rates_verified. Usage must be inferred from the described output rather than being told directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ecb_macroARead-onlyIdempotentInspect
SYNTHORA ecb-macro: official eurozone macro from the ECB data warehouse — HICP inflation, MRR policy rate, 10Y govt yield, each with previous value, change and direction. For macro/rates agents and prediction markets. Official free source, no key. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": ""} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly/idempotent/openWorld, non-destructive), so the bar is lower; the description still adds genuinely useful behavior beyond them: it is an official free source requiring no key, and it costs 0.03 USDC per call via x402 on Base. It does not discuss rate limits, latency, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core data listing is front-loaded and efficient, but the pricing detail is stated twice ('$0.03 USDC x402 Base' and '[x402: 0.03 USDC per call on Base]'), and the 'SYNTHORA ecb-macro:' brand prefix adds no selection value. Redundancy dilutes an otherwise tight description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only data fetch, the description covers what data comes back, cost, and auth, which is most of what an agent needs. The gap is the input contract: a caller cannot tell from either the description or the schema what to put in 'input' to get the macro series.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single generic 'input' parameter whose schema text ('product parameters (JSON or text)') is opaque, and the description adds nothing about what that input should contain. With coverage nominally at 100% the baseline is 3, but the schema's content is so uninformative that the description could have compensated and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (official eurozone macro from the ECB data warehouse) and enumerates the exact series returned: HICP inflation, MRR policy rate, 10Y govt yield, each with previous value, change and direction. It doesn't explicitly contrast with the nearby sibling ecb_forex_fixing_vs_market, so it falls short of the 5-level sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line 'For macro/rates agents and prediction markets' implies the intended caller but gives no when-to-use/when-not guidance and never names an alternative tool. Usage is implied by audience rather than stated as a condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exchange_rates_verifiedARead-onlyIdempotentInspect
SYNTHORA exchange-rates-verified: FX rates for 160+ currencies CROSS-VERIFIED between two independent sources (ECB official fixing via frankfurter.app vs market aggregate open.er-api.com) with per-currency deviation in bps and divergence alert >50 bps. The product is the discrepancy: a bad rate breaks a financial agent. Free sources, no key. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": ""} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world safety, and the description adds value beyond them: no API key required, two independent upstream sources, per-currency deviation in bps, a >50 bps divergence threshold, and the x402 payment model. It stops short of stating rate limits, freshness/lag of the fixes, or failure behavior when one source is unavailable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core mechanism is front-loaded and efficient, but the pricing is stated twice ('$0.03 USDC x402 Base' and '[x402: 0.03 USDC per call on Base]') and the 'SYNTHORA' brand prefix and 'The product is the discrepancy' line are promotional rather than operational. Sentences are dense but several do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description largely carries the return-value burden and does so by naming the fields it produces (deviation in bps, divergence alerts). For a single-parameter, read-only tool with annotations covering its safety profile, this is nearly sufficient; the weak 'input' parameter definition is the main residual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The single parameter is a generic auto-generated 'input' string whose meaning ('product parameters') the description never clarifies, so no additional semantic value is added, but the schema-coverage rule caps the expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (FX rates for 160+ currencies) and the mechanism (cross-verified ECB fixing vs open.er-api.com aggregate), which is far more specific than a name restatement. It does not differentiate itself from the nearly identical sibling ecb_forex_fixing_vs_market, which an agent would need to disambiguate against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'a bad rate breaks a financial agent' suggests using this when accuracy matters, and the 50 bps divergence alert hint at when the output is actionable. There is no explicit when-to-use, when-not-to-use, or alternative named, so the agent must infer the positioning versus the sibling FX tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fed_watchARead-onlyIdempotentInspect
SYNTHORA fed-watch: US reference-rate funding pulse — SOFR/EFFR/TGCR/BGCR/OBFR with volumes, percentile dispersion and the SOFR-EFFR spread (the funding-stress signal before it hits the news). Cross-check of 5 independent official NY Fed series. The input for Fed/CPI prediction markets. Free official source, no key. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": ""} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds meaningful context beyond them: the data is free from an official source with no key, but access requires $0.03 USDC via x402 on Base, and the payload includes cross-checked dispersion and spread fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with product name and purpose, and the substantive fields come early. The price is stated twice ("$0.03 USDC x402 Base" and again in the bracketed "[x402: 0.03 USDC per call on Base]"), which is minor redundancy rather than bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by enumerating the returned series and derived measures, plus the payment mechanics. For a single-opaque-parameter, no-key read tool this is nearly complete; only the meaning of the `input` argument remains unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the sole parameter is an opaque generic wrapper ("product parameters (JSON or text)") with an empty-string example, and the description never explains what should go in it. Per the high-coverage baseline this is a 3; no additional syntax or format guidance is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States exactly what is returned: US reference rates (SOFR/EFFR/TGCR/BGCR/OBFR) with volumes, percentile dispersion, and the SOFR-EFFR spread, plus the source (5 NY Fed series). This is a specific verb+resource statement that clearly separates it from siblings like ecb_macro and exchange_rates_verified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"The input for Fed/CPI prediction markets" and "the funding-stress signal before it hits the news" imply a use case, so context is present. But there is no explicit when-to-use/when-not guidance and no sibling alternative named (e.g. ecb_macro for euro-area rates), 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.
gas_oracle_multiARead-onlyIdempotentInspect
SYNTHORA gas-oracle-multi: gas price across 5 chains (ethereum, base, arbitrum, optimism, polygon), each VERIFIED by two independent public RPCs with divergence report — a single RPC can lie or lag; dual-verified is what you time transactions with. Free public RPCs, no key. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"chain": "base"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior, so the bar is lower. The description adds substantial operational context: dual independent RPC verification, a divergence report, free public RPCs with no key, and a per-call cost in USDC on Base via x402. This goes well beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core value proposition and verification approach. It is slightly redundant by stating the $0.03 USDC x402 Base cost twice, which keeps it from being fully tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only multi-chain gas oracle with no output schema, the description covers what the tool returns (gas price per chain and divergence report), which chains are included, the verification method, and payment requirements. Annotations handle safety, so no critical gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by enumerating all five supported chains (ethereum, base, arbitrum, optimism, polygon), whereas the schema example only shows 'base', helping the agent populate the single input parameter correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (gas price across five named chains) and a distinctive verification method, so the agent can tell it provides multi-chain gas data. It does not explicitly distinguish itself from siblings like bitcoin_fees, so it falls short of a 5 under the calibration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'dual-verified is what you time transactions with' implies a usage context for transaction timing, and 'Free public RPCs, no key' gives a reason to prefer it. However, no explicit when-to-use, when-not-to-use, or alternatives against siblings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gdelt_tensionARead-onlyIdempotentInspect
SYNTHORA gdelt-tension: geopolitical tension index for any topic/country — news-mention spike vs 7d baseline, average tone shift, escalation flag and the headlines causing it. The early signal for Polymarket geopolitical markets (high variance, high spread). Source: GDELT DOC 2.0 (100+ languages, free, no key), 6h-prefetched cache for reliability. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"query": "taiwan"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the safety profile is covered. The description goes beyond that with genuinely useful behavior: a 6h-prefetched cache, GDELT DOC 2.0 as source, 100+ languages, no key required, and a per-call x402 price of 0.03 USDC on Base. Cost and cache-freshness are exactly the kind of disclosure annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded block that states the output signals first, then source/cache, then price. Dense but every clause carries information; slightly compressed by em-dashes and bracketed pricing, but no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned signals (mention spike vs baseline, tone shift, escalation flag, headlines). The remaining gap is that the single input parameter's accepted fields are never explained, so an agent knows what it gets back but not fully how to shape the request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, so the baseline is 3. However, the schema itself is a generic wrapper ('product parameters (JSON or text)') with only a query example, and the description adds no syntax or supported-field detail, so nothing compensates for that vagueness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and verb-like function: a geopolitical tension index computed from news-mention spikes vs a 7-day baseline, tone shift, escalation flag, and driving headlines. That is far more concrete than a tautology. It does not explicitly differentiate itself from siblings (e.g., polymarket_markets, synthora_search), but the domain is distinct enough that ambiguity is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'The early signal for Polymarket geopolitical markets (high variance, high spread)' implies when the tool is useful, but it never states when not to use it or which sibling to pick instead. Usage is inferable rather than explicit, landing at the minimum-viable level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_repo_activityARead-onlyIdempotentInspect
SYNTHORA github-repo-activity: Activity metrics for any public GitHub repo (input owner/repo): stars, forks, open issues, last push, language, archived flag. 10-min in-process cache, stale-on-rate-limit or ok:false. Source: api.github.com, keyless. [x402: 0.03 USDC per call on Base; first 1 calls free]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": "torvalds/linux"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/destructive annotations: discloses the 10-min in-process cache, the stale-on-rate-limit fallback and ok:false error shape, keyless auth against api.github.com, and the x402 cost model with a free-call allowance. Cost and rate-limit behavior are exactly the operational facts an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense block that front-loads the purpose, then layers cache/error behavior, source, and pricing. Efficient with no filler sentences, though the SYNTHORA prefix and bracketed pricing are somewhat boilerplate-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 listing the returned fields, and it covers auth, caching, error mode, and cost. Only minor gaps remain (e.g., exact response shape, pagination is N/A), so it is largely self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the example already shows {"input": "torvalds/linux"}, but the description adds the semantic that input is an 'owner/repo' slug, which is more precise than the generic 'product parameters (JSON or text)' schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (activity metrics for any public GitHub repo) and enumerates the exact fields returned (stars, forks, open issues, last push, language, archived flag). An agent can infer precisely what it gets and distinguish it from every sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the narrow purpose and the 'input owner/repo' hint, but there is no explicit when-to-use/when-not or named alternative. Given no sibling overlaps, the omission is minor but still leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
historical_weatherARead-onlyIdempotentInspect
SYNTHORA historical-weather: verified historical weather for any place and date (1940 → ~5 days ago) from the ERA5 reanalysis — tmax/tmin, precipitation, max wind. For climate-market backtesting and claim verification. Source: open-meteo archive, free, no key. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"place": "Casablanca", "date": "2026-08-01"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description usefully adds the ~5-day data lag (so an agent knows it is not real-time), the free/no-key auth posture, and the per-call price — real traits beyond the annotations. It omits rate limits and any failure modes, which keeps it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability, but the pricing is stated twice ('$0.03 USDC x402 Base' and '[x402: 0.03 USDC per call on Base]'), which is pure redundancy. The 'SYNTHORA' branding and source attribution, while useful, add density that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description covers what an agent needs: what it returns, the valid date window, the data source, auth requirements, and cost. Only the concrete date/place input format is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one 'input' string parameter, so the schema plus its JSON example already carry the parameter semantics. The description adds the date-range validity window, but the exact accepted date format is left to the schema example rather than clarified here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (historical weather), its coverage window (1940 to ~5 days ago), and the exact variables returned (tmax/tmin, precipitation, max wind). It also names the data source (ERA5 / open-meteo archive), which cleanly separates it from siblings like air_quality and space_weather_risk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the use case: 'For climate-market backtesting and claim verification.' That is clear context for when to reach for this tool, but it never names an alternative or states an exclusion (e.g., recent/forecast weather belongs elsewhere).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
npm_downloads_rangeARead-onlyIdempotentInspect
Returns a per-day download time series for an npm package over a period from keyless api.npmjs.org — the raw signal for trend and growth-rate detection. Lets autonomous agents compute momentum/decline and feed agent-to-agent dependency-selection scoring. Ranking surface for trajectory. First 3 calls FREE per wallet — send header X-WALLET: 0x. No charge on upstream failure. [x402: 0.001 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"package": "express", "period": "last-week"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover readOnly/idempotent/openWorld safety, and the description adds meaningful operational detail beyond that: free tier (first 3 calls per wallet), required header X-WALLET, no charge on upstream failure, and a 0.001 USDC x402 paywall per call. Payment/auth behavior is critical and disclosed, though rate limits or failure modes beyond billing are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose is good, but the description crams multiple marketing-flavored claims ('raw signal', 'ranking surface for trajectory', 'agent-to-agent dependency-selection scoring', 'autonomous agents compute momentum') that overlap and dilute the core message before getting to the essential billing details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 extra weight and does explain return shape (per-day download time series). Payment and auth requirements are covered. Missing only return-field specifics or failure-behavior detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and only one param exists with an example provided in the schema. The description doesn't add format or semantics beyond the schema's example, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Returns) and resource (per-day download time series for an npm package) with a named data source (api.npmjs.org). It's clear, but no sibling in the list is similar enough to differentiate from, so 5 isn't earned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use ('raw signal for trend and growth-rate detection', 'compute momentum/decline', 'trajectory ranking'), which tells an agent when this is the right tool. However, no explicit when-not-to-use or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payto_preflightARead-onlyIdempotentInspect
x402 PayTo Pre-Flight: verify a payTo address against the live registry before paying. Detects payTo hijacking, stale endpoints and unknown resources. Deterministic, <200ms, no external network. 0.001 USDC via x402 on Base. SYNTHORA. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"endpoint_url": "https://onchain.hergertsynthora.com/service", "expected_payTo": "0xEf879BFD6C4AccB8F795136de90246e1EC245e06", "chain": "eip155:8453"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), so the description earns credit for adding runtime traits: deterministic, <200ms, no external network, and cost. It also describes what it detects. The conflicting price lines (0.001 vs 0.01 USDC) slightly undermine trust but do not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the description contains redundant and contradictory pricing information ('0.001 USDC via x402 on Base' and '[x402: 0.01 USDC per call on Base]') as well as the 'SYNTHORA' branding. These elements do not earn their place and create confusion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description should ideally explain what the verification returns. It says 'Detects ...' but does not specify the response format or outcome semantics. Combined with the contradictory pricing, the definition is mostly complete but leaves gaps for correct invocation confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and includes an example of the JSON payload, so the schema fully documents the single parameter. The description adds no parameter-level detail beyond that, making 3 the appropriate baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'verify a payTo address against the live registry before paying.' The detection scope is also named. However, it does not differentiate from any sibling tool, though the siblings are in unrelated domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear context for use: 'before paying.' This tells the agent when to call it. It does not name alternatives or exclusions, but the pre-payment condition is a strong usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
polymarket_marketsARead-onlyIdempotentInspect
Search prediction markets ACROSS PLATFORMS (Polymarket + Kalshi) in one call: live prices, implied probability, volume, liquidity, end date and market conviction. Server-side search that actually finds the market (bitcoin, fed, election, geopolitics). For trading and forecasting agents tracking event odds. $0.05 USDC x402 Base. Input: {"input": "bitcoin"} (optional filter). Ed25519-signed. [x402: 0.05 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": "bitcoin"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world. The description adds genuinely new behavioral context beyond them: paid access at $0.05 USDC per call via x402 on Base, Ed25519-signed responses, and that search is server-side. It does not discuss rate limits or result caps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability, which is good, but the pricing/x402 detail is duplicated ('$0.05 USDC x402 Base' and '[x402: 0.05 USDC per call on Base]') and a JSON input example is inlined into prose, adding noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned fields and discloses the payment and signing model, which is what an agent needs to call it safely. Only minor gaps remain, such as result limits and what an empty/ambiguous query returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter and schema description coverage is 100%, so the schema already carries the semantics; baseline is 3. The description's embedded '{"input": "bitcoin"}' example restates the schema example rather than adding syntax or matching rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (prediction markets), plus the cross-platform scope (Polymarket + Kalshi) and the returned fields (live prices, implied probability, volume, liquidity, end date, conviction). This clearly separates it from the sibling polymarket_trades, which implies a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an intended audience ('trading and forecasting agents tracking event odds') and example query domains, which implies when to reach for it. However, it never states when NOT to use it or which sibling to prefer for adjacent needs (e.g. polymarket_trades).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
polymarket_tradesBRead-onlyIdempotentInspect
Historical Polymarket trade query with filters plus per-wallet aggregation. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"limit": 5} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely useful behavioral context — a $0.03 USDC x402 payment on Base per call — but says nothing about pagination, date-range limits, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is efficient and front-loaded, but the pricing is stated twice ('$0.03 USDC x402 Base' and '[x402: 0.03 USDC per call on Base]'), which is redundant and wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only query tool with no output schema and a single free-form param, the description covers the operation and cost but omits return-format expectations and any usage guidance, leaving the agent to construct the JSON payload by guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the single 'input' param is documented only as generic 'product parameters (JSON or text)' with a limit example. The description hints at available filters and per-wallet aggregation but gives no parameter names or formats, so it does not compensate for the vague schema text. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (historical Polymarket trade query) and mentions the two facets of the operation: filters and per-wallet aggregation. It does not explicitly differentiate itself from the sibling polymarket_markets tool, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-tool guidance is given. The agent has to infer from the name that this is the trades endpoint versus polymarket_markets; nothing in the description routes it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
port_watchARead-onlyIdempotentInspect
SYNTHORA port-watch: daily port activity for any of 2,065 ports (Shanghai, Singapore, Rotterdam, LA, Long Beach presets + any name) — port calls, estimated import/export capacity (dwt), 7d moving average vs 30d baseline deviation and anomaly flag. Port volume leads official macro data by weeks: the input for trade/tariff/recession markets. Source: IMF PortWatch (satellite AIS, free, no key). $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"port": "rotterdam"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world. The description adds the pricing mechanics (0.03 USDC x402 on Base) and the data source (IMF PortWatch satellite AIS, free, no key), which is genuinely useful beyond annotations. It doesn't disclose freshness/cadence beyond 'daily' or failure modes, so it is solid but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the value proposition, which is good, but the tail is dense and the pricing is stated twice ('$0.03 USDC x402 Base' and '[x402: 0.03 USDC per call on Base]'), which is redundant. The single long em-dash sentence is harder to scan than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-param, no output-schema tool, the description covers source, scope, signals, timeliness rationale, and cost — enough for an agent to decide and call. It omits response shape and error/coverage caveats, which keeps it just under complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, so the baseline is 3. The description mentions presets (Shanghai, Singapore, Rotterdam, LA, Long Beach) and 'any name', which gives useful domain context for what the 'port' field should contain — but the schema already documents the parameter, so no lift above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'daily port activity' across a named universe of 2,065 ports — and enumerates the concrete signals returned (port calls, dwt capacity, 7d vs 30d anomaly). The IMF PortWatch framing and 'leads official macro data by weeks' positions it distinctly from siblings like volume_anomaly or gdelt_tension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use context — 'the input for trade/tariff/recession markets' — and implies when to reach for it via the lead-time argument. It does not name an alternative or state exclusions (e.g., vs volume_anomaly), so it falls 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.
registry_watchCRead-onlyIdempotentInspect
Monitor registry changes in real-time with x402 M2M API. Signed x402 call. 0.03 USDC on Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": "latest"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds valuable context beyond that: it is a signed x402 M2M API call costing 0.03 USDC on Base, which tells the agent about payment requirements and cost before invoking. This is meaningful operational information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose, but the payment cost is redundantly stated twice: once as '0.03 USDC on Base' and again in the bracketed '[x402: 0.03 USDC per call on Base]'. This repetition wastes space without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only one parameter and no output schema, the description should clarify what 'registry' refers to and what kind of changes are monitored. It fails to do so, leaving the agent unable to understand the tool's scope or expected return. The payment context is present, but the core monitoring context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents the single 'input' parameter. The description adds no parameter-level detail (e.g., what values are valid, what 'latest' means), so the baseline of 3 is appropriate when the schema already carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Monitor') and a resource ('registry changes'), but 'registry' is ambiguous — it could mean a DNS registry, package registry, or product registry. It also does not distinguish this tool from siblings like dnsdomain or port_watch, leaving the agent unsure what exactly is being monitored.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, nor are any prerequisites or exclusions mentioned. The only contextual cue is the payment cost, which does not help an agent decide when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
space_weather_riskARead-onlyIdempotentInspect
SYNTHORA space-weather-risk: composite operational space-weather risk verdict fusing 4 NOAA SWPC feeds (Kp/G scale, GOES X-ray flare class, solar wind, proton flux) — for defense, aviation, satellites, power grid, precision GPS. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": ""} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety traits like readOnly, idempotent, openWorld, and non-destructive. The description adds the paid x402 requirement and names the four underlying data feeds, which are useful invocation details beyond the structured annotations, though it does not describe response shape or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that leads with the tool's core purpose. It is slightly weakened by repeating the payment amount in both the main text and the bracketed x402 note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 should ideally explain what a returned risk verdict contains, but it leaves the response format unstated. The input schema is also vague despite full coverage, and the description does not compensate for those gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single input parameter, so the schema already carries the parameter semantics. The description itself adds no input-format or argument details, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific composite space-weather risk verdict and names the four NOAA SWPC feeds it fuses. That is far more specific than a restatement of the tool name and lets an agent distinguish it from weather, air-quality, and other sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It lists target domains such as defense, aviation, satellites, power grid, and precision GPS, which gives clear contextual guidance for when the tool is relevant. It does not, however, provide when-not guidance or name any alternative tool for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stablecoin_supplyARead-onlyIdempotentInspect
SYNTHORA stablecoin-supply: circulating USD supply, price and peg deviation in basis points for the top stablecoins (USDT, USDC, DAI...), with a depeg alert flag above 50 bps. Optional symbol filter. Free source: stablecoins.llama.fi (DefiLlama), no API key, timestamped. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": "USDC"} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and open-world. The description adds genuinely non-obvious behavior: the depeg alert fires above 50 bps, results are timestamped, the source is keyless DefiLlama, and each call costs 0.01 USDC via x402 on Base. The cost/payment disclosure is exactly the kind of context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with no filler, and the operational facts (source, cost, alert threshold) are packed efficiently. Slightly penalized for the leading 'SYNTHORA stablecoin-supply:' label, which restates the name/title rather than adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does list the returned fields (supply, price, bps deviation, depeg flag) plus cost and source. It stops short of describing granularity or pagination, but for a single-parameter read tool it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and documents the single 'input' string with an example, so the baseline is 3. The description goes further by clarifying that the parameter is an optional symbol filter, which the terse schema description does not make explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (stablecoin circulating supply, price, peg deviation) and enumerates the entities covered (USDT, USDC, DAI). An agent can cleanly separate this from siblings like top_crypto, exchange_rates_verified, or defi_llama_tvl_ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Content implies usage (stablecoin supply/peg monitoring) and mentions an optional symbol filter, but never states when to choose this over sibling tools such as top_crypto or exchange_rates_verified, nor any exclusions or prerequisites for the paid endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synthora_searchARead-onlyIdempotentInspect
FREE. Search the SYNTHORA catalog (x402 pay-per-call intelligence: security verdicts, sanctions/AML, token and NFT intelligence, DeFi, FX, macro, OSINT, prediction markets). Returns matching tools with price in USDC and an example input. Use it first to pick the right tool.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | keywords, e.g. 'sanctions', 'nft', 'exchange rates' | |
| max_price_usdc | No | optional price ceiling |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and destructiveHint=false. The description adds valuable behavioral context beyond those: it is free, it searches a pay-per-call catalog, and it returns pricing in USDC and an example input. This helps the agent understand the tool's role without over-explaining.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: 'FREE' and the action verb appear first, followed by catalog scope, return value, and usage instruction. Every sentence contributes distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search/discovery tool with full schema coverage and safety annotations, the description is complete. It tells the agent what the tool searches, what it returns, that it is free, and when to use it. No critical operational detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters (query and max_price_usdc) with examples. The description adds context about the catalog content and result shape but does not add new parameter-level meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Search the SYNTHORA catalog'. It clearly distinguishes this meta-search tool from the many data-provider siblings by stating it returns matching tools with price and example input, and by framing itself as the tool-selection entry point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage direction: 'Use it first to pick the right tool.' It also signals cost context with 'FREE' and describes what the search returns. It does not explicitly state when not to use it, but the 'use first' instruction is strong enough for an agent to know this is the discovery step before invoking a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_cryptoARead-onlyIdempotentInspect
SYNTHORA top-crypto: Top N cryptocurrencies by market cap (default 10, max 50): rank, price, 24h change, volume and market cap in USD. Source: CoinGecko free API, keyless, timestamped. [x402: 0.01 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"limit": 10} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely non-schema context: data source (CoinGecko free API), keyless access, timestamp freshness, and a per-call price of 0.01 USDC on Base via x402 - a material cost/auth detail an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence with the core purpose first, then source, freshness and cost metadata. Nothing is redundant, though the bracketed pricing tag makes it slightly run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 return values effectively by naming the exact fields returned, plus source, freshness and cost. Missing only pagination/error behavior and relative ranking guidance versus sibling data tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 still adds value by disclosing the default (10) and the cap (max 50) on the limit, which the opaque single 'input' wrapper parameter does not convey on its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (top N cryptocurrencies by market cap) and enumerates the returned fields (rank, price, 24h change, volume, market cap USD). It is instantly distinguishable from siblings like bitcoin_fees or stablecoin_supply, but it never explicitly contrasts itself with them, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, nor any named alternative. The implied use case (fetch a market-cap leaderboard) is inferable from the name and description, but the agent gets no routing help among the many finance/data siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usgs_earthquakesARead-onlyIdempotentInspect
SYNTHORA usgs-earthquakes: latest earthquakes (M>=4.5 default, tunable) with PAGER alert level, tsunami flag and ACTIVE SEISMIC CLUSTER detection (>=3 events same zone in 24h) — the actionable signal for insurance-risk and disaster prediction markets. Source: USGS FDSN (official US, real-time, no key). $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": ""} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world and non-destructive behavior, so the bar is lower; the description still adds real context beyond them: the upstream source (USGS FDSN, official, real-time, no key required), the paid-call model (x402 0.03 USDC on Base), and the default magnitude threshold M>=4.5. It stops short of describing latency, refresh cadence, or what happens when no events match.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and detection rule are front-loaded and dense but readable. However, the x402 price is stated twice ('$0.03 USDC x402 Base' and '[x402: 0.03 USDC per call on Base]'), which is pure redundancy in an otherwise single-sentence body.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 carries the return-value burden and does a fair job by naming the alert level, tsunami flag, and cluster detection output. It leaves the response shape (fields, units, event list structure) unspecified, which is a modest gap for a no-param, no-output-schema data tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is reported at 100%, so baseline is 3, but that coverage is a single generic 'product parameters (JSON or text)' string. The description adds only that the magnitude floor is 'tunable' with a default of M>=4.5, without naming the parameter, its format, or the other tunable knobs, so it does not meaningfully compensate for the vague schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('latest earthquakes') plus the distinctive derived outputs (PAGER alert level, tsunami flag, active seismic cluster detection with an explicit >=3 events/24h rule). This is clearly distinguishable from every sibling tool such as air_quality, space_weather_risk, or gdelt_tension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description frames the use case ('the actionable signal for insurance-risk and disaster prediction markets'), which implies context, but never states when to prefer this tool over alternatives or any exclusion conditions. Usage must be inferred from the domain framing rather than read directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
volume_anomalyARead-onlyIdempotentInspect
SYNTHORA volume-anomaly: crypto volume-anomaly alerts for arbitrage bots — assets whose 24h turnover (volume/mcap) is anomalously high vs their cohort (z-score), early pump/unusual-activity signal. Composite of CoinGecko markets + DeFiLlama DEX volume. Keyless. $0.03 USDC x402 Base. [x402: 0.03 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"input": ""} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description earns credit for extra context the annotations don't carry: keyless access, per-call price, and the fact that the signal is a composite of CoinGecko + DeFiLlama. No return format or pagination/rate-limit detail is given, so it stops short of 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core signal definition is front-loaded and dense but readable. However, the pricing is stated twice ('$0.03 USDC x402 Base' and again in the bracketed '[x402: 0.03 USDC per call on Base]'), and the SYNTHORA vendor prefix is noise – real duplication that costs a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden only lightly, and it does explain the data sources and cost model. The one real hole is that it never specifies what goes into the 'input' parameter, leaving a gap for a tool an agent must actually invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Nominally 100% schema coverage, but the single 'input' string is described only as 'product parameters (JSON or text)' with an empty-string example, which tells an agent nothing about how to shape a query. Schema coverage is high so the baseline is 3, and the description adds nothing to compensate for the vacuous schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb+resource (crypto volume-anomaly alerts) plus the exact detection method (24h turnover = volume/mcap, z-score vs cohort) and the two upstream data sources. An agent can immediately tell this apart from top_crypto or stablecoin_supply, though no sibling is named explicitly, which caps it at 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the audience and use case ('for arbitrage bots', 'early pump/unusual-activity signal'), which is enough to infer when it's relevant. It never states when NOT to use it, nor points to an alternative sibling (e.g. top_crypto for plain ranking), so guidance stays implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
who_gho_indicator_timeseriesARead-onlyIdempotentInspect
Returns WHO Global Health Observatory OData time series (ghoapi.azureedge.net/api) for an indicator such as life expectancy (WHOSIS_000001): country, year, sex dimension and numeric value. Autonomous agents and agent-to-agent (A2A) global-health analytics, ESG and country-benchmarking pipelines query it for authoritative WHO statistics. Ranking surface: indicator + country to yearly values. First 3 calls FREE per wallet — send header X-WALLET: 0x. No charge on upstream failure. [x402: 0.001 USDC per call on Base]
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | product parameters (JSON or text). Example: {"indicatorCode": "WHOSIS_000001", "$filter": "SpatialDim eq 'USA'", "$top": 2} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior, so the description adds meaningful payment and auth context: first 3 calls free, X-WALLET header requirement, no charge on upstream failure, and USDC cost. It also names returned fields, but does not cover pagination or broader 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, and payment details are essential for invocation. However, the sentence about autonomous agents, A2A, ESG, and benchmarking pipelines is promotional filler that does not help an agent decide or call the tool, making the description longer than necessary for a one-parameter API.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple paid read-only API with no output schema, the description summarizes the returned fields and essential payment/auth behavior, making it largely complete. It still omits response shape and pagination behavior, but those gaps are relatively minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself provides an example JSON input with indicatorCode, $filter, and $top. The description names an indicator example and the dimensions of the timeseries, but adds little syntax or constraint detail beyond what the schema already provides for the single generic input parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns WHO Global Health Observatory OData time series for an indicator, with example indicator code. It also names the endpoint and returned dimensions, clearly distinguishing it from the unrelated sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes intended users and use cases (autonomous agents, ESG, country benchmarking) and the query surface (indicator + country to yearly values), implying when the tool is useful. However, it does not explicitly say when to choose it over alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
25 tool updates
- Added
air_quality - Added
bitcoin_fees - Added
defi_llama_tvl_ranking - Added
defi_yields - Added
dnsdomain - Added
doaj_article_search - Added
ecb_forex_fixing_vs_market - Added
ecb_macro - Added
exchange_rates_verified - Added
fed_watch - Added
gas_oracle_multi - Added
gdelt_tension - Added
historical_weather - Added
npm_downloads_range - Added
payto_preflight - Added
polymarket_markets - Added
polymarket_trades - Added
port_watch - Added
registry_watch - Added
space_weather_risk - Added
stablecoin_supply - Added
top_crypto - Added
usgs_earthquakes - Added
volume_anomaly - Added
who_gho_indicator_timeseries
4 tool updates
- Removed
bitcoin_fees - Removed
ecb_forex_fixing_vs_market - Removed
fed_watch - Removed
historical_weather
23 tool updates
- Removed
air_quality - Changed
bitcoin_fees1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"product parameters (JSON or text). Example: {\"protocol\": \"aave\"}"New value: +"product parameters (JSON or text)"
- Removed
defi_llama_tvl_ranking - Removed
defi_yields - Removed
dnsdomain - Removed
doaj_article_search - Changed
ecb_forex_fixing_vs_market1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"product parameters (JSON or text). Example: {\"protocol\": \"aave\"}"New value: +"product parameters (JSON or text)"
- Removed
ecb_macro - Removed
exchange_rates_verified - Removed
gas_oracle_multi - Removed
gdelt_tension - Removed
npm_downloads_range - Removed
payto_preflight - Removed
polymarket_markets - Removed
polymarket_trades - Removed
port_watch - Removed
registry_watch - Removed
space_weather_risk - Removed
stablecoin_supply - Removed
top_crypto - Removed
usgs_earthquakes - Removed
volume_anomaly - Removed
who-gho-indicator-timeseries
3 tool updates
- Removed
commodity_macro - Removed
txintent - Removed
websearch
18 tool updates
- Removed
cyber_exposure_decision - Removed
decision_batch - Removed
decision_deep - Removed
decision_engine - Removed
decision_pulse - Removed
decision_watch - Removed
defi_decision - Changed
npm_downloads_range1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"product parameters (JSON or text)"New value: +"product parameters (JSON or text). Example: {\"package\": \"express\", \"period\": \"last-week\"}"
- Changed
payto_preflight1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"product parameters (JSON or text). Example: {\"endpoint_url\": \"https://onchain.hergertsynthora.com/service\", \"expected_payTo\": \"0x10800a5a5B9d72251566EC651E862A8b4B427dE0\", \"chain\": \"eip155:8453\"}"New value: +"product parameters (JSON or text). Example: {\"endpoint_url\": \"https://onchain.hergertsynthora.com/service\", \"expected_payTo\": \"0xEf879BFD6C4AccB8F795136de90246e1EC245e06\", \"chain\": \"eip155:8453\"}"
- Removed
protocol_health - Changed
registry_watch1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"product parameters (JSON or text). Example: {\"input\": \"0x0000000000000000000000000000000000000000\"}"New value: +"product parameters (JSON or text). Example: {\"input\": \"latest\"}"
- Removed
research_pack - Removed
supply_chain_decision - Removed
token_risk_decision - Removed
vendor_decision - Removed
wallet_flow_intelligence - Removed
x402_route_optimizer - Removed
x402_service_trust
2 tool updates
- Added
dnsdomain - Added
who-gho-indicator-timeseries
64 tool updates
- Added
air_quality - Removed
air-quality - Added
bitcoin_fees - Removed
bitcoin-fees - Added
commodity_macro - Added
cyber_exposure_decision - Added
decision_batch - Added
decision_deep - Added
decision_engine - Added
decision_pulse - Added
decision_watch - Added
defi_decision - Added
defi_llama_tvl_ranking - Added
defi_yields - Removed
defi-llama-tvl-ranking - Removed
defi-yields - Removed
dnsdomain - Added
doaj_article_search - Removed
doaj-article-search - Added
ecb_forex_fixing_vs_market - Added
ecb_macro - Removed
ecb-forex-fixing-vs-market - Removed
ecb-macro - Added
exchange_rates_verified - Removed
exchange-rates-verified - Added
fed_watch - Removed
fed-watch - Added
gas_oracle_multi - Removed
gas-oracle-multi - Added
gdelt_tension - Removed
gdelt-tension - Added
github_repo_activity - Removed
github-repo-activity - Added
historical_weather - Removed
historical-weather - Added
npm_downloads_range - Added
payto_preflight - Added
polymarket_markets - Added
polymarket_trades - Removed
polymarket-trades - Added
port_watch - Removed
port-watch - Added
protocol_health - Added
registry_watch - Removed
registry-watch - Added
research_pack - Added
space_weather_risk - Removed
space-weather-risk - Added
stablecoin_supply - Removed
stablecoin-supply - Added
supply_chain_decision - Added
token_risk_decision - Added
top_crypto - Removed
top-crypto - Added
usgs_earthquakes - Removed
usgs-earthquakes - Added
vendor_decision - Added
volume_anomaly - Removed
volume-anomaly - Added
wallet_flow_intelligence - Added
websearch - Removed
who-gho-timeseries - Added
x402_route_optimizer - Added
x402_service_trust
122 tool updates
- Removed
agentcard - Removed
agentguard - Removed
ais-sanctions-signal - Removed
amlscreen - Removed
asset-risk - Removed
basis-btc - Removed
bioquantum-dataset - Removed
bridgerisk - Removed
businessrisk - Removed
chokepoint-risk - Removed
chokepoint-transits - Removed
code-sandbox - Removed
codeaudit - Removed
coingecko-crypto-price-history - Removed
commodity-macro - Removed
compliance-brief - Removed
compliance-eu - Removed
consensus-fragility - Removed
contract-guard - Removed
contractwatch - Removed
counterparty-attestation - Removed
counterparty-clearance - Removed
cryptonews - Removed
daily-intel-brief - Removed
deep-audit - Removed
defidata - Removed
deliver - Removed
deliverability - Removed
demand-radar - Removed
derivbundle - Removed
dex-pair-price - Removed
dispute-risk - Removed
domain-risk - Removed
emerging-protocols - Removed
endpoint-trust - Removed
fear-greed - Removed
funding-rates - Removed
funding-spread - Removed
headers-audit - Removed
hurricane-odds - Removed
ibancheck - Removed
identity-risk - Removed
inference - Removed
insider-radar - Removed
iw - Removed
lifi-bridge-route-quote - Removed
liqrisk - Removed
llm-fast - Removed
llm-smart - Removed
macro-surprise - Removed
macrobundle - Removed
marine-daily - Removed
marine-wave-forecast - Removed
market-dominance - Removed
market-resolution - Removed
market-sentiment - Removed
mcpscan - Removed
mtasts - Removed
nft - Removed
noaa-tides - Removed
npm-downloads-range - Removed
nyfed-all-reference-rates-latest - Removed
ohlcv-candles - Removed
onchain - Removed
openinterest - Removed
osint - Removed
osint-deep - Removed
osint-flash - Removed
payto-preflight - Removed
perps - Removed
pharma-deep - Removed
polymarket-markets - Removed
polymarket-odds-movers - Removed
polymarket-resolution-watch - Removed
polymarket-whales - Removed
pre-trade-safety - Removed
prediction - Removed
prediction-market-signal - Removed
prediction-markets - Removed
protocol-revenue - Removed
protocol-revenue-lite - Removed
protocol-tvl - Removed
ransomware-gleif - Removed
regwatch - Removed
resolution-oracle - Removed
resolution-risk - Removed
resolution-source-feed - Removed
resolution-verdict - Removed
rocketpool-reth-apr-validators - Removed
rwa-gap-watch - Removed
safe-to-trade - Removed
sanctions-screen - Removed
security-posture - Removed
sentiment - Removed
shipping-alpha - Removed
slippage - Removed
sourcify-contract-verification - Removed
space-weather - Removed
stablecoin-depeg - Removed
stablecoin-peg - Removed
stock-intel - Removed
threat-exposure - Removed
token-verdict-base - Removed
tokenguard - Removed
tokenrisk - Removed
tor-fetch - Removed
translate - Removed
trending-cross - Removed
tvl-concentration - Removed
tx-simulator - Removed
usgs-realtime-streamflow - Removed
vendor-dossier - Removed
vessel-sanctions - Removed
wallet-enrich - Removed
walletrep - Removed
weather-now - Removed
web-extract - Removed
websearch - Removed
who-gho-indicator-timeseries - Removed
who-gho-premium - Removed
wikidata-entity-search - Removed
yahoo-equity-delayed-quote
8 tool updates
- Added
deliverability - Added
iw - Added
marine-daily - Added
nyfed-all-reference-rates-latest - Added
rocketpool-reth-apr-validators - Added
stablecoin-peg - Added
who-gho-indicator-timeseries - Added
wikidata-entity-search
6 tool updates
- Added
basis-btc - Added
dnsdomain - Added
doaj-article-search - Added
npm-downloads-range - Added
sourcify-contract-verification - Added
token-verdict-base
1 tool update
- Added
prediction
3 tool updates
- Changed
dispute-risk1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"product parameters (JSON or text)"New value: +"product parameters (JSON or text). Example: {\"market_slug\": \"pro-football-any-player-1750-receiving-yards-2026-27\"}"
- Changed
market-resolution1 field changed- changed
Input schema / properties / input / descriptionPrevious value: -"product parameters (JSON or text)"New value: +"product parameters (JSON or text). Example: {\"market_slug\": \"pro-football-any-player-1750-receiving-yards-2026-27\"}"
- Removed
prediction
1 tool update
- Removed
iw
161 tool updates
- Added
agentcard - Added
agentguard - Added
air-quality - Removed
ais_sanctions_signal - Added
ais-sanctions-signal - Added
amlscreen - Removed
asset_risk - Added
asset-risk - Added
bioquantum-dataset - Added
bitcoin-fees - Added
bridgerisk - Added
businessrisk - Removed
chokepoint_risk - Added
chokepoint-risk - Added
chokepoint-transits - Added
code-sandbox - Changed
codeaudit2 fields changed- changed
Input schema / properties / input / descriptionPrevious value: -"parametros del producto (JSON o texto)"New value: +"product parameters (JSON or text). Example: {\"source\": \"pragma solidity ^0.8.0; contract Vault { address public owner; mapping(address=>uint) public bal; constructor(){owner=msg.sender;} function deposit() external payable { bal[msg.sender]+=ms" - changed
Output schema / (root)Previous value: -{ - "type": "object" -}New value: +null
- Added
coingecko-crypto-price-history - Added
commodity-macro - Added
compliance-brief - Added
compliance-eu - Added
consensus-fragility - Added
contract-guard - Added
contractwatch - Added
counterparty-attestation - Added
counterparty-clearance - Added
cryptonews - Removed
daily_intel_brief - Added
daily-intel-brief - Added
deep-audit - Added
defi-llama-tvl-ranking - Added
defi-yields - Added
defidata - Added
deliver - Added
demand-radar - Added
derivbundle - Added
dex-pair-price - Removed
dispute_risk - Added
dispute-risk - Removed
domain_risk - Added
domain-risk - Added
ecb-forex-fixing-vs-market - Added
ecb-macro - Removed
emerging_protocols - Added
emerging-protocols - Added
endpoint-trust - Added
exchange-rates-verified - Added
fear-greed - Added
fed-watch - Removed
funding_spread - Added
funding-rates - Added
funding-spread - Added
gas-oracle-multi - Added
gdelt-tension - Added
github-repo-activity - Added
headers-audit - Added
historical-weather - Added
hurricane-odds - Added
ibancheck - Removed
identity_risk - Added
identity-risk - Added
inference - Removed
insider_radar - Added
insider-radar - Added
iw - Added
lifi-bridge-route-quote - Added
liqrisk - Added
llm-fast - Added
llm-smart - Removed
macro_surprise - Added
macro-surprise - Changed
macrobundle2 fields changed- changed
Input schema / properties / input / descriptionPrevious value: -"parametros del producto (JSON o texto)"New value: +"product parameters (JSON or text)" - changed
Output schema / (root)Previous value: -{ - "type": "object" -}New value: +null
- Added
marine-wave-forecast - Added
market-dominance - Added
market-resolution - Added
market-sentiment - Added
mcpscan - Added
mtasts - Added
nft - Added
noaa-tides - Added
ohlcv-candles - Added
onchain - Added
openinterest - Added
osint - Added
osint-deep - Added
osint-flash - Added
payto-preflight - Added
perps - Added
pharma-deep - Removed
polymarket_odds_movers - Removed
polymarket_resolution_watch - Removed
polymarket_whales - Added
polymarket-markets - Added
polymarket-odds-movers - Added
polymarket-resolution-watch - Added
polymarket-trades - Added
polymarket-whales - Added
port-watch - Added
pre-trade-safety - Added
prediction - Added
prediction-market-signal - Added
prediction-markets - Added
protocol-revenue - Added
protocol-revenue-lite - Added
protocol-tvl - Removed
ransomware_gleif - Added
ransomware-gleif - Added
registry-watch - Added
regwatch - Removed
resolution_source_feed - Removed
resolution_verdict - Added
resolution-oracle - Added
resolution-risk - Added
resolution-source-feed - Added
resolution-verdict - Removed
rwa_gap_watch - Added
rwa-gap-watch - Added
safe-to-trade - Removed
sanctions_screen - Added
sanctions-screen - Added
security-posture - Added
sentiment - Removed
shipping_alpha - Added
shipping-alpha - Added
slippage - Removed
space_weather_risk - Added
space-weather - Added
space-weather-risk - Added
stablecoin-depeg - Added
stablecoin-supply - Added
stock-intel - Added
synthora_search - Removed
threat_exposure - Added
threat-exposure - Added
tokenguard - Added
tokenrisk - Added
top-crypto - Added
tor-fetch - Added
translate - Added
trending-cross - Removed
tvl_concentration - Added
tvl-concentration - Removed
tx_simulator - Added
tx-simulator - Changed
txintent2 fields changed- changed
Input schema / properties / input / descriptionPrevious value: -"parametros del producto (JSON o texto)"New value: +"product parameters (JSON or text). Example: {\"tx_hash\": \"0xafc895b0138314dcde8a410d309d9080c8cfbc816ba6f371b287e34f2695207f\", \"chain\": \"base\"}" - changed
Output schema / (root)Previous value: -{ - "type": "object" -}New value: +null
- Added
usgs-earthquakes - Added
usgs-realtime-streamflow - Added
vendor-dossier - Removed
vessel_sanctions - Added
vessel-sanctions - Removed
volume_anomaly - Added
volume-anomaly - Removed
wallet_enrich - Added
wallet-enrich - Added
walletrep - Added
weather-now - Added
web-extract - Added
websearch - Added
who-gho-premium - Added
who-gho-timeseries - Added
yahoo-equity-delayed-quote
4 tool updates
- Added
ais_sanctions_signal - Removed
market_sentiment - Added
ransomware_gleif - Removed
registry_watch
30 tool updates
- First observed
asset_risk - First observed
chokepoint_risk - First observed
codeaudit - First observed
daily_intel_brief - First observed
dispute_risk - First observed
domain_risk - First observed
emerging_protocols - First observed
funding_spread - First observed
identity_risk - First observed
insider_radar - First observed
macro_surprise - First observed
macrobundle - First observed
market_sentiment - First observed
polymarket_odds_movers - First observed
polymarket_resolution_watch - First observed
polymarket_whales - First observed
registry_watch - First observed
resolution_source_feed - First observed
resolution_verdict - First observed
rwa_gap_watch - First observed
sanctions_screen - First observed
shipping_alpha - First observed
space_weather_risk - First observed
threat_exposure - First observed
tvl_concentration - First observed
tx_simulator - First observed
txintent - First observed
vessel_sanctions - First observed
volume_anomaly - First observed
wallet_enrich
Related MCP Connectors
Paid machine-to-machine information tools with x402 USDC payment on Base Mainnet.
Machine-paid revenue intelligence and recovery for AI agents via x402 USDC on Base.
Pay-per-query x402 business intelligence on Base, settled in USDC via the native 402 payment flow.
Pay-per-call crypto market intelligence for AI agents. USDC on Base via x402.
Related MCP Servers
AlicenseAqualityDmaintenancePre-trade DeFi intelligence for AI agents. 20 paid x402 endpoints, USDC on Base.2353 npm1MIT- AlicenseNot gradedqualityBmaintenanceUSDC payments for AI agents on Base. Direct transfers, pre-funded tabs, x402 paywall handling, and service discovery.74 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to call pay-per-call x402 endpoints on Base mainnet using the caller's own USDC wallet, covering single and batch token risk checks, the latest BTC radar signal, project info, and a free health probe. Payments are EIP-3009 signed with a configurable per-call spending cap, and any quote with an unexpected payee, network, or asset is refused before payment.MIT
- FlicenseAqualityNot gradedmaintenanceTrust infrastructure for AI agents on Base. DEX Spread Oracle (live Uniswap V3 prices), on-chain escrow, insurance pool, and collective knowledge base. 7 smart contracts. Pay-per-query via x402 micropayments in USDC.6-
Glama MCP Gateway
Add one secure layer between your agents and this server.