Skip to main content
Glama

MCPFax Macro & Market Intelligence

Server Details

Macro, rates, FX, crypto, DeFi TVL/yields and prediction markets. x402 USDC on Base.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 18 of 18 tools scored. Lowest: 3.9/5.

Server CoherenceA
Disambiguation4/5

Most tools target distinct resources: defi_protocol vs defi_protocols are clearly list-vs-detail, and crypto_spot_prices vs defi_token_prices are explicitly differentiated. The main overlap is prediction_market_search vs polymarket_markets/manifold_markets, but the cross-venue purpose is clearly stated.

Naming Consistency5/5

All tool names use snake_case with a consistent resource-noun pattern (defi_, polymarket_, us_, etc.). Plural/singular variants are logical (defi_protocol vs defi_protocols, polymarket_market vs polymarket_markets), and no unconventional casing or verb-style mixing appears.

Tool Count4/5

18 tools is slightly above the ideal 3-15 range, but the server covers a broad domain (crypto, DeFi, prediction markets, macro, FX, rates), so each tool serves a distinct data type. The count feels justified by the breadth rather than redundant.

Completeness4/5

The surface covers major market intelligence categories well: prices, yields, TVL, prediction markets, macro indicators, and FX. Minor gaps exist (e.g., no equities/commodities, limited macro series, no historical crypto data), but the core workflows for macro and market overview are supported without dead ends.

Available Tools

18 tools
base_gas_priceBase gas priceA
Read-onlyIdempotent
Inspect

Current Base mainnet gas price read live from JSON-RPC, in both wei and gwei. Use this to estimate the cost of a Base transaction before submitting it. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /gas.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Goes beyond the readOnly/idempotent annotations by detailing the x402 payment mechanism, including pricing, the unpaid challenge behavior, and the no-data-no-cost rule. This gives the agent a clear picture of side effects and failure modes.

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

Conciseness5/5

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

Three sentences with no fluff. The main purpose is in the first sentence, followed by usage guidance and cost/behavioral notes. Every sentence adds value.

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

Completeness5/5

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

For a zero-parameter tool with no output schema, the description fully covers what it returns, how to invoke it, what it costs, and what to expect on unpaid calls. Nothing important is missing.

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

Parameters4/5

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

The tool has zero parameters, so the description doesn't need to explain any. It still adds useful context by mentioning that both wei and gwei are returned, which an agent might otherwise not expect.

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

Purpose5/5

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

Clearly states it reads the current Base mainnet gas price, specifying the source (JSON-RPC) and units (wei and gwei). This distinguishes it from sibling tools like crypto_spot_prices or defi_chains, which cover different data.

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

Usage Guidelines4/5

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

Explicitly says to use it to estimate the cost of a Base transaction before submitting. It also gives a direct alternative via the HTTP route. However, it doesn't mention when not to use it or compare to other tools, which would be stronger guidance.

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

crypto_spot_pricesCrypto spot pricesA
Read-onlyIdempotent
Inspect

Coinbase spot price in USD for up to ten crypto assets. Use this for a current crypto price. Returns an explicit per-symbol error rather than a guessed number when an asset is unavailable. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /crypto.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNoComma-separated asset symbols (default BTC,ETH,SOL) Example: 'BTC,ETH'.
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds significant behavioral context: 'Returns an explicit per-symbol error rather than a guessed number,' the cost structure ($0.001 USDC per call via x402), and the payment-challenge behavior when unpaid. It also clarifies that calls with no data are never settled. These are critical operational details not covered by annotations.

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

Conciseness5/5

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

The description is three sentences, front-loaded with the primary purpose, followed by error behavior and cost/settlement details. Every sentence adds distinct value with no redundancy. The structure is efficient and appropriately sized for the tool's simplicity.

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

Completeness5/5

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

For a simple read-only price tool with one optional parameter, the description covers purpose, usage, constraints, error handling, cost, and failure modes. Despite lacking an output schema, the description is comprehensive enough for an agent to invoke the tool correctly and interpret outcomes.

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

Parameters4/5

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

The schema already has 100% description coverage for the single parameter 'symbols' (comma-separated, default BTC,ETH,SOL). The tool description adds the crucial constraint 'up to ten crypto assets,' which is not present in the schema description. This additional semantic meaning justifies a score above the baseline of 3.

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

Purpose5/5

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

The description clearly identifies the tool's function: 'Coinbase spot price in USD for up to ten crypto assets.' It uses a specific verb ('spot price') and resource ('crypto assets'), and explicitly states 'Use this for a current crypto price,' distinguishing it from sibling tools like defi_token_prices or fx_reference_rates.

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

Usage Guidelines4/5

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

The description provides clear usage context with 'Use this for a current crypto price,' but does not explicitly name alternatives or list when-not-to-use scenarios. The 'up to ten crypto assets' limit and cost/payment details imply boundaries, but exclusions are not stated. This is clear context without explicit alternatives.

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

defi_chainsChain TVL rankingA
Read-onlyIdempotent
Inspect

Total value locked per blockchain from DefiLlama, ranked high to low, with each chain's native token symbol and EVM chain id plus the summed cross-chain total. Use it to compare chains by capital deployed or to check where a chain sits. A chain with no published TVL keeps a null figure and is excluded from the total rather than counted as zero. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /defi/chains.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many to return, 1-100 (default 25) Example: '25'.
searchNoChain name substring Example: 'Base'.
Behavior4/5

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

The description adds meaningful behavioral context beyond the annotations: null TVL chains are excluded from the total rather than counted as zero, calls cost $0.001 USDC, unpaid calls return a payment challenge instead of data, and no-data calls are never settled. Annotations already provide readOnlyHint/idempotentHint, but the cost and payment behavior are unique and useful.

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

Conciseness4/5

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

The description is succinct and well-structured: it opens with the core purpose, then gives usage examples, then covers edge-case behavior and cost. Each sentence adds distinct value, though it is slightly longer than strictly necessary due to the payment details.

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

Completeness5/5

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

For a simple list tool with two optional parameters and no output schema, the description is complete: it explains what is returned (ranked TVL, token symbol, EVM chain id, cross-chain total), the null handling, and the payment behavior. This is sufficient for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, with both 'limit' and 'search' having clear descriptions in the schema. The description does not add any additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Total value locked per blockchain from DefiLlama, ranked high to low, with each chain's native token symbol and EVM chain id plus the summed cross-chain total.' It uses a specific verb ('ranked') and resource ('per blockchain'), and distinguishes itself from sibling tools like defi_protocols or defi_yields by focusing on chains rather than protocols or yields.

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

Usage Guidelines4/5

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

The description provides explicit use cases: 'Use it to compare chains by capital deployed or to check where a chain sits.' This gives clear context for when to select this tool. It does not explicitly mention alternatives, but the sibling tools are sufficiently distinct in scope, making the usage guidance clear without exclusions.

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

defi_protocolDeFi protocol detailA
Read-onlyIdempotent
Inspect

Full DefiLlama detail for one protocol by slug: current TVL in USD with its observation time, per-chain TVL breakdown, category, token symbol, chain list, description and links. Use it after finding a slug with the protocols list. An unknown slug returns an honest not_found and is not billed. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /defi/protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoDefiLlama protocol slug (required) Example: 'aave-v3'.
Behavior5/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive hints. The description adds crucial behavioral details beyond those: cost of $0.001 USDC, payment challenge behavior for unpaid calls, no billing when no data is returned, and not_found handling. This significantly enriches transparency.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose and a detailed but compact list of outputs. The second sentence packs usage, cost, payment nuances, and an HTTP route into four clauses without redundancy. Every phrase earns its place.

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

Completeness5/5

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

Given a single parameter and no output schema, the description covers all necessary context: what data is returned, how to use it, what happens on error (not_found), cost implications, and payment behavior. It is self-contained and sufficient for an agent to invoke the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, and the schema already describes 'slug' as a DefiLlama protocol slug with an example. The description adds only indirect context ('Use it after finding a slug with the protocols list'), which slightly reinforces the parameter's meaning but does not go beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Full DefiLlama detail for one protocol by slug', enumerating the returned fields (TVL, per-chain breakdown, category, token, chain list, description, links). This distinguishes it from the sibling 'defi_protocols' list tool by explicitly focusing on a single protocol's detail.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'Use it after finding a slug with the protocols list' names the workflow and alternative tool. It also explains cost, billing behavior on unknown slugs, and the HTTP route, which helps the agent decide when to invoke.

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

defi_protocolsDeFi protocols by TVLA
Read-onlyIdempotent
Inspect

Rank DeFi protocols by total value locked from DefiLlama, filtered by chain, category or name substring, with each protocol's slug, category, chain list, TVL in USD, 1d/7d TVL change and market cap. Use it to size a protocol, find the biggest venues on a chain, or resolve the slug the protocol-detail tool needs. A protocol DefiLlama publishes no TVL for keeps a null figure, never a zero. Read live at request time and held for 5 minutes. Costs $0.002 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /defi/protocols.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoOnly protocols deployed on this chain Example: 'Base'.
limitNoHow many to return, 1-100 (default 20) Example: '20'.
searchNoName or slug substring Example: 'aave'.
categoryNoExact DefiLlama category Example: 'Lending'.
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint, destructiveHint false), the description discloses important nuances: null TVL vs zero, live read with 5-minute cache, payment failure behavior (unpaid calls return challenge), no-data means no settlement, and the HTTP equivalent. These are valuable operational details not present 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.

Conciseness5/5

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

The description is moderately long but every sentence provides distinct value: purpose, output fields, use cases, null discipline, caching/read behavior, cost/payment rules, and HTTP route. It is well structured and front-loaded; no filler or redundancy.

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

Completeness5/5

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

Despite having no output schema, the description enumerates all returned fields (slug, category, chain list, TVL, 1d/7d change, market cap) and covers the critical edge cases (null TVL, cache, payment semantics). For a filtered ranking tool with cost implications, this is fully complete.

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

Parameters3/5

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

Schema description coverage is 100% for all four parameters. The description only restates the filter idea ('filtered by chain, category or name substring') without adding syntax, formats, or constraints beyond the schema. Since the schema already handles parameter meaning, the baseline of 3 applies.

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

Purpose5/5

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

The description uses the specific verb 'Rank' with a clear resource ('DeFi protocols by total value locked from DefiLlama') and lists filter dimensions (chain, category, name substring). It distinguishes itself from siblings like defi_protocol (protocol detail) and defi_chains (chain list) by stating its unique output and use case.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'Use it to size a protocol, find the biggest venues on a chain, or resolve the slug the protocol-detail tool needs.' This names a sibling alternative (defi_protocol) and clarifies the exact scenarios where this tool is appropriate. Additional guidance about caching and cost further frames selection.

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

defi_token_pricesOn-chain token pricesA
Read-onlyIdempotent
Inspect

Price arbitrary on-chain tokens with DefiLlama's coins API, addressed as chain:address (or coingecko:id), returning price in USD, symbol, decimals, a confidence score and the pricing timestamp for each. Use it to value a DeFi position holding tokens no exchange lists. This is NOT the exchange spot-price tool: use the crypto spot tool for a plain price of a major asset. A token DefiLlama cannot price inside search_width returns null, never a substituted price. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /defi/token-prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinsNoComma-separated DefiLlama coin ids as chain:address or coingecko:id, up to 20 (required) Example: 'base:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913,coingecko:ethereum'.
search_widthNoHow far back a price may be taken from (default 6h) Example: '6h'.
Behavior5/5

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

Annotations already cover readOnly, openWorld, idempotent, and non-destructive hints. The description adds rich behavioral context: return fields (USD price, symbol, decimals, confidence, timestamp), null-vs-substitution guarantee, and detailed payment mechanics (cost, payment challenge, no-data settlement).

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

Conciseness4/5

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

The description is front-loaded with the primary action, then systematically covers use case, distinction, edge behavior, cost, and HTTP route. Every sentence carries essential information, but it is denser than the minimal two-sentence example; still no waste.

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

Completeness5/5

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

Despite having no output schema, the description explicitly enumerates the return fields and handles critical edge cases (null vs substitution, unpaid call behavior, no-data settlement). This makes the tool fully understandable without additional references.

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

Parameters3/5

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

Schema coverage is 100%, with clear descriptions and examples for both 'coins' and 'search_width'. The description reinforces the coin addressing format but does not add substantial parameter-level semantics beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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: 'Price arbitrary on-chain tokens with DefiLlama's coins API'. It clearly distinguishes from the crypto spot tool by explicitly saying 'This is NOT the exchange spot-price tool', which differentiates it from sibling tools.

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

Usage Guidelines5/5

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

It provides an explicit use case: 'Use it to value a DeFi position holding tokens no exchange lists.' It also gives an explicit alternative: 'use the crypto spot tool for a plain price of a major asset', making when-to-use and when-not-to-use clear.

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

defi_yieldsDeFi yield poolsA
Read-onlyIdempotent
Inspect

Screen DefiLlama's yield-pool universe by chain, project, token symbol, minimum TVL and stablecoin-only, ranked by APY, returning each pool's stable pool_id, chain, project, symbol, TVL in USD, total/base/reward APY, 30-day mean APY, impermanent-loss risk and exposure. Use it to find where a given asset earns yield. An unpublished APY stays null, never zero. Costs $0.002 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /defi/yields.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoOnly pools on this chain Example: 'Base'.
limitNoHow many to return, 1-100 (default 20) Example: '20'.
symbolNoToken symbol substring Example: 'USDC'.
projectNoOnly pools from this DefiLlama project Example: 'aave-v3'.
min_tvl_usdNoMinimum pool TVL in USD (default 1000000) Example: '1000000'.
stablecoin_onlyNoOnly stablecoin pools Example: 'true'.
Behavior5/5

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

Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds valuable behavioral context beyond those: cost per call ($0.002 USDC via x402), payment challenge behavior for unpaid calls, null APY semantics (null never zero), and the HTTP route equivalent. It also explains that empty result calls are not settled, which is useful for cost-sensitive agents.

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

Conciseness5/5

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

The description is information-dense yet compact, front-loaded with the core purpose and filtering criteria, followed by return fields, then cost/edge-case behaviors. Every sentence carries useful information without redundancy.

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

Completeness5/5

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

Given the tool has six optional parameters and no output schema, the description compensates thoroughly: it lists the complete return payload, explains APY null behavior, pricing, payment challenge handling, and provides an equivalent HTTP route. This is sufficient for an agent to invoke and interpret results correctly.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter already described (chain, limit, symbol, project, min_tvl_usd, stablecoin_only). The description reiterates the filter dimensions but does not add new semantic detail beyond what the schema provides. It meets the baseline but does not elevate parameter understanding further.

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

Purpose5/5

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

The description opens with a specific verb 'Screen' plus a well-defined resource (DefiLlama's yield-pool universe) and enumerates concrete filtering dimensions (chain, project, symbol, min TVL, stablecoin-only) and output fields (pool_id, chain, project, APYs, etc.). It clearly differentiates from sibling tools like defi_protocols or crypto_spot_prices by focusing on yield pools and APY ranking.

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

Usage Guidelines4/5

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

Explicitly states 'Use it to find where a given asset earns yield', which is a clear, actionable use case. It does not mention alternatives or exclusions, but the use case is specific enough to guide basic tool selection among finance siblings.

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

fx_reference_ratesFX reference ratesA
Read-onlyIdempotent
Inspect

European Central Bank reference foreign-exchange rates for a chosen base currency, with the ECB observation date. Refreshed automatically by a Worker cron from Frankfurter. These are daily reference rates, not live tradable quotes, and every response carries snapshot.captured_at and snapshot.age_hours. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /fx.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoBase currency ISO-4217 (default USD) Example: 'USD'.
as_ofNoReturn the stored capture in effect at this UTC date or ISO timestamp instead of the latest one (append-only history; not subject to the freshness limit) Example: '2026-08-11'.
symbolsNoComma-separated target currencies Example: 'EUR,GBP,JPY'.
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description discloses the data source (Frankfurter Worker cron), response snapshot metadata, cost per call, payment challenge behavior, and that no-data calls are not settled. This gives substantial behavioral context beyond what annotations provide.

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

Conciseness5/5

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

Five sentences, each serving a distinct purpose: purpose, data source, rate nature, response metadata, cost/payment, and HTTP route. Front-loaded with the core function and no redundant wording.

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

Completeness5/5

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

Without an output schema, the description compensates by naming response fields (snapshot.captured_at, snapshot.age_hours), covering pricing, payment fallback, and data freshness. This is fully adequate for selecting and invoking the tool.

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

Parameters3/5

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

Schema coverage is 100% with descriptive text and examples for all 3 parameters. The main description adds no additional parameter-specific semantics beyond mentioning 'chosen base currency' and ECB observation date, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it provides 'European Central Bank reference foreign-exchange rates for a chosen base currency' with the ECB observation date. It distinguishes from sibling tools by emphasizing 'daily reference rates, not live tradable quotes', making the purpose specific and unambiguous.

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

Usage Guidelines4/5

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

It explicitly notes these are daily reference rates, not live tradable quotes, which implies alternative tools for live data. It also explains the data refresh mechanism and cost behavior, but does not explicitly name sibling tools as alternatives, so a small gap remains.

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

manifold_marketsManifold marketsA
Read-onlyIdempotent
Inspect

Search or browse Manifold Markets questions, returning each one's probability, outcome type, volume, liquidity, unique bettor count, close time, creator and resolution state. Manifold is a PLAY-money venue denominated in MANA, so treat a probability as a crowd forecast rather than a real-money price; every response says so and reports the token. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /manifold/markets.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoscore, newest, liquidity, close-date or most-popular Example: 'score'.
limitNoHow many markets, 1-50 (default 10) Example: '10'.
filterNoall, open, closed or resolved (default open) Example: 'open'.
searchNoQuestion text to search for Example: 'bitcoin'.
Behavior5/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive, but the description adds substantial behavioral context: it explains that probabilities are crowd forecasts rather than real-money prices, that every response includes a disclaimer and reports the token, and that unpaid calls return a payment challenge instead of data. The HTTP route is also disclosed. All of this goes well beyond the annotations without contradiction.

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

Conciseness5/5

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

The description is five sentences long but every sentence earns its place: purpose, venue nature, cost/payment behavior, and HTTP route. It is front-loaded with the primary action and flows logically, with no redundant fluff.

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

Completeness5/5

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

With no output schema, the description compensates by explicitly listing the returned fields (probability, outcome type, volume, liquidity, unique bettor count, close time, creator, resolution state). It also covers cost, payment challenge, and the no-data-no-cost rule, making it complete for a read-only search/browse tool. The absence of an output schema is mitigated by this level of detail.

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

Parameters3/5

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

The input schema covers all four parameters with detailed descriptions, including sort options, limit range, filter values, and search example. The tool description itself adds little parameter-specific detail, but given 100% schema coverage, the baseline of 3 is appropriate; the description's mention of 'search or browse' aligns with the search and sort parameters but does not enrich them.

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

Purpose5/5

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

The description opens with specific verbs ('Search or browse') and identifies the exact resource ('Manifold Markets questions'), then lists the returned fields. It also distinguishes this tool from sibling prediction-market tools by explicitly noting that Manifold is a play-money venue denominated in MANA, setting it apart from Polymarket and other real-money venues.

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

Usage Guidelines4/5

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

The description clearly states the tool's purpose and adds practical usage context such as the $0.001 USDC cost, payment challenge behavior, and the no-data-no-cost rule. However, it does not explicitly mention when to use this tool versus sibling alternatives like polymarket_markets or prediction_market_search, so it stops short of full exclusions.

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

polymarket_eventsPolymarket eventsA
Read-onlyIdempotent
Inspect

List Polymarket events — the grouped questions such as an election or a rate decision — ordered by volume, each with title, slug, end date, volume, 24h volume, liquidity, open interest, its full market count and the priced member markets themselves. Use it when a question has many candidate outcomes and you want them together rather than one at a time. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /polymarket/events.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many events, 1-25 (default 5) Example: '5'.
closedNoReturn closed events instead of open ones Example: 'false'.
ascendingNoSort ascending instead of descending Example: 'false'.
markets_per_eventNoMember markets per event, 1-25 (default 5) Example: '5'.
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses the $0.001 USDC cost per call via x402, the payment challenge behavior for unpaid calls, and that no-data calls are never settled and therefore cost nothing. It also reveals default ordering by volume and describes the output fields, which is vital given the absence of an output schema. This is rich behavioral context.

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

Conciseness5/5

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

The description is compact and front-loaded: the first sentence establishes purpose and return fields, the second provides usage direction, and the third covers cost, error behavior, and the HTTP route. Each sentence contributes unique value with no redundancy.

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

Completeness5/5

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

The tool has four optional parameters and no output schema, but the description covers output fields, selection criterion, cost, settlement edge cases, and the equivalent HTTP route. Combined with the complete schema and safety annotations, this is sufficient for an agent to decide when and how to call it correctly, with no significant gaps.

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

Parameters3/5

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

The schema already provides complete descriptions for all four parameters with defaults and examples, so the description adds little parameter-specific detail. It does imply default sorting by volume and mentions 'full market count' and 'priced member markets,' which loosely relates to markets_per_event, but lacks the explicit parameter mapping. Given the 100% schema coverage, a baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb 'List' with a defined resource 'Polymarket events' and explains what an event is ('grouped questions such as an election or a rate decision'). It also enumerates the returned fields and explicitly differentiates from single-market access by saying 'together rather than one at a time,' which distinguishes it from sibling tools.

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

Usage Guidelines4/5

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

The description provides an explicit when-to-use instruction: 'Use it when a question has many candidate outcomes and you want them together rather than one at a time.' It also supplies cost and payment behavior that affects invocation decisions. However, it doesn't name alternative tools or state when not to use this one, so it stops short of full exclusion criteria.

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

polymarket_leaderboardPolymarket trader leaderboardA
Read-onlyIdempotent
Inspect

Polymarket's public trader leaderboard by traded volume or realised profit over a 1d, 7d, 30d or all-time window, returning each trader's rank, published pseudonym and display name, wallet address and USDC amount. Use it to find who is moving size on the venue. A trader who publishes no name stays null; no name is inferred. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /polymarket/leaderboard.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many traders, 1-50 (default 10) Example: '10'.
metricNovolume or profit (default volume) Example: 'volume'.
windowNo1d, 7d, 30d or all (default 7d) Example: '7d'.
Behavior5/5

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

Annotations already indicate read-only, open-world, and idempotent. The description adds valuable context: the $0.001 USDC fee, payment challenge behavior on unpaid calls, and that no-data calls are free. Also clarifies null handling for anonymous traders, adding behavioral nuance beyond annotations.

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

Conciseness5/5

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

Two sentences, the first packs the core purpose and returns, the second adds usage and payment details. Every sentence earns its place, with no redundancy or fluff.

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

Completeness5/5

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

Despite no output schema, the description specifies the returned fields (rank, pseudonym, display name, wallet, USDC amount) and covers cost/payment edge cases. With three optional parameters and a payment requirement, the description is complete enough for an agent to invoke correctly.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions and examples for all three parameters (limit, metric, window). The description adds no additional parameter details beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description states the tool returns a leaderboard with specific data fields (rank, pseudonym, display name, wallet, USDC amount) and differentiates by window and metric. It clearly distinguishes from sibling tools like polymarket_trades or polymarket_markets by focusing on trader rankings.

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

Usage Guidelines4/5

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

Explicitly says 'Use it to find who is moving size on the venue', giving a clear use case. It does not mention alternatives or when not to use, but the context is sufficiently clear for an agent to select this tool over others.

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

polymarket_marketPolymarket market + order bookA
Read-onlyIdempotent
Inspect

One Polymarket market by Gamma id, slug or condition id, with its full outcome pricing and the LIVE CLOB order book for each outcome token: best bid, best ask, midpoint, spread and the top price levels with sizes. Use it before taking a position, to see real depth rather than only a last price. An outcome with no order book returns a null book rather than a fabricated price; an unknown identifier returns not_found and is not billed. Costs $0.002 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /polymarket/market.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoPolymarket Gamma market id Example: '908713'.
slugNoMarket slug, if you have no id Example: 'fed-rate-hike-in-2026'.
depthNoOrder-book levels per side, 1-20 (default 5) Example: '5'.
condition_idNoFull 0x-prefixed 32-byte condition id (66 chars), abbreviated here, as returned by the markets/events/search tools Example: '0x80b3af88…9744d82b'.
Behavior5/5

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

The description discloses edge-case behavior (null book for no order book, not_found for unknown identifiers), billing details ($0.002 USDC, unpaid call returns payment challenge, no-data call costs nothing), and the equivalent HTTP route. This goes well beyond the annotations (readOnlyHint, idempotentHint) and adds significant context.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, then usage, edge cases, billing, and a route hint. Each sentence conveys distinct, necessary information without redundancy, making it appropriately sized for the tool's complexity.

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

Completeness5/5

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

Despite no output schema, the description explains what the return contains (best bid/ask, midpoint, spread, top levels), the null-book case, the not_found case, and billing behavior. This makes the tool fully understandable and operatable.

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

Parameters3/5

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

The schema already provides 100% coverage for all four parameters with examples and constraints. The description only groups the identifier parameters ('by Gamma id, slug or condition id') without adding new semantic meaning, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool returns one Polymarket market by id, slug, or condition id with full outcome pricing and live CLOB order book details. It distinguishes from siblings like polymarket_markets (plural list) and polymarket_trades by focusing on a single market with order book depth.

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

Usage Guidelines4/5

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

It explicitly says 'Use it before taking a position, to see real depth rather than only a last price,' which gives a clear use case. However, it does not name alternative tools or state when not to use it, so it stops short of a 5.

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

polymarket_marketsPolymarket marketsA
Read-onlyIdempotent
Inspect

List live Polymarket markets ordered by volume or liquidity, each with its question, Gamma id, condition id, every outcome with its USDC price and CLOB token id, best bid/ask, last trade price, volume, liquidity and end date. Use it to see what the largest real-money prediction markets are pricing right now. Prices are probabilities between 0 and 1. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /polymarket/markets.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many markets, 1-50 (default 10) Example: '10'.
orderNovolumeNum, liquidityNum, startDate or endDate Example: 'volumeNum'.
closedNoReturn closed markets instead of open ones Example: 'false'.
ascendingNoSort ascending instead of descending Example: 'false'.
Behavior5/5

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

With annotations already declaring readOnlyHint and destructiveHint, the description goes beyond by disclosing the $0.001 USDC cost, the behavior of unpaid calls returning a payment challenge, and that no-data calls are never settled (thus free). It also clarifies that prices are probabilities between 0 and 1, enhancing understanding of the return values.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the primary action. It includes necessary context (cost, payment, probability semantics) and an equivalent HTTP route. While longer than a two-sentence description, every sentence adds value and the length is justified.

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

Completeness4/5

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

The tool has 4 optional parameters, no output schema, and no nested objects. The description compensates by detailing the return fields (question, IDs, outcomes, prices, etc.) and cost behavior. It doesn't cover error scenarios beyond payment, but the provided context is sufficient for a read-only list endpoint.

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

Parameters3/5

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

The input schema covers 100% of parameters with descriptions and examples. The description mentions ordering by volume or liquidity, which aligns with the 'order' parameter, but doesn't add meaning beyond the schema. Baseline of 3 applies.

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

Purpose5/5

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

The description opens with a specific verb 'List' and resource 'live Polymarket markets', and enumerates the detailed fields returned (question, IDs, outcomes, prices, etc.). This clearly distinguishes it from sibling tools like polymarket_market (singular), polymarket_events, and polymarket_trades, even without naming them.

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

Usage Guidelines4/5

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

It provides a clear use case: 'Use it to see what the largest real-money prediction markets are pricing right now.' This gives context for when to call. However, it doesn't explicitly contrast with alternatives or state exclusions, so it doesn't earn a 5.

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

polymarket_tradesPolymarket recent tradesA
Read-onlyIdempotent
Inspect

Recent public trade prints for one Polymarket market, addressed by its condition id: timestamp, side, outcome, price, size, notional in USD, the trader's published pseudonym and wallet, and the transaction hash. Use it to see whether a quoted price is actually trading and who is behind the flow. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /polymarket/trades.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many trades, 1-100 (default 20) Example: '20'.
marketNoFull 0x-prefixed 32-byte condition id (66 chars) of the market, abbreviated here, as returned by the markets/events/search tools (required) Example: '0x80b3af88…9744d82b'.
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), the description adds critical behavioral details: the $0.001 USDC cost via x402, that unpaid calls return a payment challenge instead of data, and that no-data calls cost nothing. It also lists the exact return fields, which is valuable since there is no output schema.

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

Conciseness4/5

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

The description is a single dense paragraph covering purpose, use case, cost, HTTP route, and return fields. Every sentence contributes value, making it efficient. It is slightly long due to the payment details, but they are essential behavioral information.

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

Completeness4/5

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

For a two-parameter read-only tool, the description sufficiently explains the return data fields, cost model, and payment challenge behavior. Since no output schema exists, the field enumeration is critical and provided. Minor gaps such as sorting order and pagination behavior are present, but the limit parameter covers pagination and recency is implied.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters already thoroughly described (limit range and condition id format, with required-ness noted). The description reinforces that the market is a condition id and references the markets/events/search tools, but adds no substantive new parameter semantics beyond what the schema provides.

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

Purpose5/5

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

The description explicitly states the tool returns recent public trade prints for a specific Polymarket market, enumerating the exact data fields (timestamp, side, outcome, price, size, notional, trader, hash). This clearly distinguishes it from sibling tools like polymarket_market or polymarket_markets, which focus on market details rather than individual trade prints.

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

Usage Guidelines4/5

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

The description offers a clear use case: 'Use it to see whether a quoted price is actually trading and who is behind the flow.' This provides actionable guidance on when to invoke the tool. It does not explicitly name alternative tools or exclusion criteria, preventing a perfect score.

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

stablecoin_peg_deviationStablecoin peg deviationA
Read-onlyIdempotent
Inspect

USDC, USDT and DAI spot price against USD plus each one's peg deviation in basis points. Use this to check whether a stablecoin is holding its dollar peg before settling or holding value in it. Costs $0.001 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /stablecoin.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

The description goes significantly beyond the annotations by disclosing the per-call cost ($0.001 USDC), the payment mechanism (x402 on Base), the behavior of unpaid calls (returns payment challenge), and the no-data-no-cost guarantee. This adds critical operational context not present in the readOnlyHint or idempotentHint annotations.

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

Conciseness5/5

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

The description is concise and front-loaded, leading with the core data provided, then usage, then cost/payment details, and finally the HTTP route. Every sentence adds value without redundancy, making it perfectly sized for the information conveyed.

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

Completeness5/5

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

Even without an output schema, the description explains what data will be returned (prices and peg deviations for the three stablecoins) and the conditions under which no data is returned. It also covers cost and use case, making it fully self-contained for a tool with no parameters.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description does not need to add parameter semantics because there are none to explain, and the schema already covers this trivially.

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

Purpose5/5

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

The description specifically lists USDC, USDT, and DAI spot prices and peg deviation in basis points, which is a clear and specific verb+resource statement. It also distinguishes itself from sibling tools like crypto_spot_prices by focusing on stablecoin peg health, not just general prices.

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

Usage Guidelines4/5

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

It explicitly states when to use the tool: 'Use this to check whether a stablecoin is holding its dollar peg before settling or holding value in it.' However, it does not mention when not to use it or name alternative tools, so it falls short of a perfect 5.

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

us_macro_indicatorsUS macro indicatorsA
Read-onlyIdempotent
Inspect

US macroeconomic indicators from the St. Louis Fed (FRED): effective federal funds rate in percent, CPI and core PCE index levels, unemployment rate in percent, and M2 money stock, each with its own observation date. IMPORTANT: this is a STORED SNAPSHOT, not a live read of FRED at request time — fred.stlouisfed.org blocks Cloudflare Workers (HTTP 520), so the snapshot is refreshed out of band. Every response carries snapshot.captured_at and snapshot.age_hours; check them before relying on the figures, and read as_of for the underlying observation date. CPI/PCE/M2 are index levels, not year-over-year rates. Costs $0.003 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /macro.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNoReturn the stored capture in effect at this UTC date or ISO timestamp instead of the latest one (append-only history; not subject to the freshness limit) Example: '2026-08-11'.
Behavior5/5

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

Goes well beyond annotations: stored snapshot vs live, Cloudflare blocking rationale, snapshot.captured_at/age_hours, index-level interpretation, payment challenge behavior, and zero-cost on empty results. No contradiction with readOnly/idempotent hints.

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

Conciseness5/5

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

Dense but organized; each sentence delivers a distinct fact, from data list to snapshot caveats to cost/HTTP route. Uses labels (IMPORTANT, Costs, Equivalent) for scannability. No fluff or repetition.

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

Completeness4/5

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

Despite no output schema, description conveys response fields (snapshot.captured_at, age_hours, as_of), units, and key limitations. Lacks explicit response shape and refresh cadence, but is sufficient for a simple read-only macro data tool with rich annotations.

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

Parameters3/5

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

Input schema already fully documents as_of with meaning and example, so description needn't add parameter detail. Description's mention of as_of refers to an output field, not the parameter, so no extra parameter semantics. Baseline 3 applies given 100% schema coverage.

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

Purpose5/5

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

Description opens with a specific inventory of data offered (effective federal funds rate, CPI, core PCE, unemployment rate, M2) from FRED, making its content unmistakable. It distinguishes itself from sibling financial-data tools by the explicit macro-indicator scope and source. Though no imperative verb is present, 'US macroeconomic indicators from...' clearly implies retrieval.

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

Usage Guidelines4/5

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

Clearly signals use context: stored snapshot not live, freshness caveats (captured_at, age_hours), index-level vs year-over-year, and cost/payment behavior. Does not explicitly name alternative tools or when-not conditions, but the niche is implied by the series list and the sibling set.

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

us_treasury_yieldsUS Treasury yieldsA
Read-onlyIdempotent
Inspect

US Treasury constant-maturity yields for the 2, 10 and 30 year tenors in percent, the computed 10s2s curve spread with an explicit inverted flag, and the 30-year fixed mortgage rate. IMPORTANT: this is a STORED SNAPSHOT, not a live read — the FRED host blocks Cloudflare Workers (HTTP 520), so it is refreshed out of band. Every response carries snapshot.captured_at and snapshot.age_hours; check them before trading or quoting off these numbers. Costs $0.003 USDC per call via x402 on Base; an unpaid call returns the payment challenge instead of data, and a call that returns no data is never settled so it costs nothing. Equivalent HTTP route: GET /rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNoReturn the stored capture in effect at this UTC date or ISO timestamp instead of the latest one (append-only history; not subject to the freshness limit) Example: '2026-08-11'.
Behavior5/5

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

The description discloses far beyond the annotations: it explains the snapshot architecture, the out-of-band refresh due to FRED blocking, the presence of freshness fields, the $0.003 USDC payment via x402, and the behavior on unpaid calls. This is rich behavioral context that annotations alone do not cover.

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

Conciseness4/5

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

The description is dense but each sentence carries value: data content, snapshot warning, freshness check, payment details, and HTTP route. It is front-loaded with the core data and then caveats, maintaining a logical flow without unnecessary padding.

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

Completeness4/5

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

For a zero-required-parameter data tool, the description covers the key aspects: what data is returned, staleness warning, payment, and even an HTTP alternate. It does not enumerate the exact response JSON structure, but the listed fields (yields, spread, mortgage rate) and snapshot metadata give enough context for practical use.

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

Parameters3/5

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

The only parameter, as_of, is fully documented in the input schema with a description and example. The tool description does not add parameter-specific meaning, but since schema coverage is 100%, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly enumerates the resource: US Treasury constant-maturity yields for 2/10/30 tenors, the 10s2s spread with an inverted flag, and the 30-year mortgage rate. It lacks an explicit verb like 'get' or 'list', but the intent is obvious. It is distinct from sibling tools by its specific asset class and tenor focus.

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

Usage Guidelines3/5

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

The description provides important context—this is a stored snapshot, not live data, and users should check snapshot.captured_at/age_hours before relying on it. However, it does not compare to sibling tools or state explicit when-to-use versus alternatives, so guidance is only implicit.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources