Skip to main content
Glama

RateSonar MCP

series

Read-onlyIdempotent

Standardized rate series: named LEVEL series (hl.var.oo.pi = headline variable home loan; sav.max; td.12m; biz.loan.var; cash = RBA cash rate…) and SPREAD series in bps (spread.hl.var-cash = lending pass-through; spread.hl.var-sav.max = the margin; spread.hl.var-hl.fix.36m = variable vs 3yr fixed…), per institution per day. Last-known values are explicitly status:'carried-forward' with sourceDate and fill {from, through, ageDays, reason:'no-record'} (through = the next recorded date; null = the gap is open, or no record within 60 days after the window end). Between two records the last rate is carried until the next one. After an institution's last record it is carried only while RateSonar's gap ledger shows the product that holds that rate still expected but unrecorded (not withdrawn), for at most 14 days, then the series stops; medians and spreads use the same points, so a stale value never feeds them past 14 days. The RBA cash series publishes on business days only, so its carried points have no fill; it is carried at most 14 days after its last row. Spreads and medians are status:'derived' with sourceDates; they are not observations. Pass median:true for a market-median line. Unauthenticated access is clamped to the last 31 days (windowClamped:true in the response). Full-archive tiers query deeper history in windows of at most 367 inclusive dates; large multi-series median requests may require smaller windows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoEnd date YYYY-MM-DD.
fromNoStart date YYYY-MM-DD.
slugsYesSeries slugs from list_series, e.g. ["hl.var.oo.pi", "spread.hl.var-cash"].
medianNoAdd a _median market line per slug.
institutionsNoInstitution ids, e.g. ["cba","anz"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / slugs / description
      Previous value: -"Series slugs — discover them via the catalog tool/endpoint."New value: +"Series slugs from list_series, e.g. [\"hl.var.oo.pi\", \"spread.hl.var-cash\"]."
  2. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only declare the safe-read profile (readOnly, idempotent, non-destructive), and the description adds substantial context beyond that: carried-forward status with sourceDate and fill{from,through,ageDays,reason}, the 14-day carry limit tied to the gap ledger, derived status for spreads/medians, and tier-based clamping. This is exactly the behavioral detail structured fields do not carry.

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

Conciseness3/5

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

The core concept (LEVEL and SPREAD series per institution per day) is front-loaded, which is good, but it then collapses a large amount of carry-forward, gap-ledger, and tiering detail into a single dense paragraph. The information is valuable but the structure is a wall of text with no separation, making it 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.

Completeness4/5

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

For a complex domain tool with no output schema, the description covers return semantics well: carried-forward vs derived statuses, sourceDate/fill fields, gap behavior, and unauthenticated clamping. It is close to complete, though it never outlines the overall response shape or how institutions filter interacts with the returned points.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it decodes slug syntax (hl.var.oo.pi = headline variable home loan, cash = RBA cash rate), explains the LEVEL vs SPREAD distinction and bps units, and clarifies the effect of median:true. This goes beyond the schema's terse field notes.

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?

It states a specific verb+resource: it returns named LEVEL series (hl.var.oo.pi, sav.max, cash...) and SPREAD series per institution per day, with concrete slug examples that make the domain unambiguous. It does not, however, differentiate itself from siblings such as rate_history or compare_rates, which the agent must infer.

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?

It gives operational when-to guidance (pass median:true for a market-median line; unauthenticated access is clamped to 31 days; full-archive tiers must use windows of at most 367 dates) and points to list_series for slugs. But it never states when to choose this tool over siblings like compare_rates or rate_changes, so the routing guidance is 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources