MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Payments & trading

RateSonar

Current and past Australian bank rates: home loans, savings and term deposits, with lender and date.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
60 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
11

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 60 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name ratesonar.

  • Pass
    Lists tools

    tools/list returned 11 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 60 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 60 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    38 of 51 parameters have a description (75%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-31T06:52:41.894308Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using RateSonar

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http ratesonar https://api.ratesonar.com/mcp

Capabilities

Tools 11

bank_analysis

An evidence-checked AI reading of bank_position. Supports savings or term deposits against variable/fixed home loans, card purchase rates, personal, car or business loans. Returns cited claims, inference labels and dated records; partial readings name withheld sections; unavailable or rejected AI leaves the records intact. No supplied rates accepted.

Discovered
bank_position

Selected bank deposit and loan contracts against matching peer brands, own recorded history, RBA cash and dated funding disclosures. Pass an institutionId and product cohort. No claims about private ALM, intent or margins.

Discovered
compare_rates

Current comparison across institutions for a product category (home_loan | savings | term_deposit | credit_card | personal_loan | car_loan | business_loan): each product at its own most recent observation (observedDate tells you how fresh). Home loans can be filtered by loanPurpose/repaymentType/rateType — the headline home-loan rate is the owner-occupied P&I rate whose LVR band covers 80%. Term deposits take termMonths (the published rate for that term, e.g. 6 or 12) and deposits take customerSegment. Standard products only unless audience says otherwise. Returns the best `limit` rows (default 25, at most 40); `truncated` says more exist. It has no lender filter: for one lender's products use find_products. Fees are summarised (name, type, amount or rate, frequency); rate_details has every fee field.

Discovered
curve_pipeline_status

Validation, freshness, missing families, source hashes and last-good fallback status of the automated curve pipeline. An unhealthy response is evidence of a pipeline problem, not bank risk.

Discovered
find_products

Find current products by lender and words in the product name, e.g. institution "CBA" and query "standard variable". Returns institution_id and product_id for each match, with category, rate and observed_date. A product is the pair (institution_id, product_id): pass both to rate_history or rate_details. Use compare_rates instead to rank lenders for a category.

Discovered
list_series

Every standard series slug the series tool accepts, with its label, kind (level or spread) and unit (% or bps). Call this before series when you do not know the slug.

Discovered
rate_changes

Recent change-events, newest first: a rate moved, a product was added, or a product was withdrawn. Each event has the lender, the product's name and category, and field-level deltas (e.g. rate [6.09, 5.89], bps -20). Filter by institutionId, category, kind and direction. Returns `limit` events (default 50, at most 200); `truncated` says more match. This is a diff of RateSonar's consecutive captured observations.

Discovered
rate_details

Exact CDR product-reference detail for one institution and product: every published lending or deposit rate entry and tier, with fees, features, eligibility, constraints, source quality flags, the date the version was recorded and the lender's own links. asOf returns the version current on that date. Detail exists for CDR products from 2026-06-12; it holds the conditions a headline rate leaves out.

Discovered
rate_history

Advertised rate history for one product (institutionId and productId). Returns each recorded rate, comparison rate and fees between two dates, with the date each was recorded. RateSonar's record starts 2026-06-12. Pass grid:true to also get `grid`, one point per day: status 'observed' on a recorded day; 'carried-forward' with sourceDate and fill {from, through, ageDays, reason:'no-record'} on a day RateSonar has no record for, carrying the last recorded rate (never the next one) until the next record. After the last record it carries only while RateSonar's gap ledger shows the product still expected but unrecorded (not withdrawn), for at most 14 days. A carried-forward value is not an observation. History is limited to the caller's plan window (free and anonymous 31 days, Enthusiast 366, Pro full); an older `from` is raised to it and the answer says windowClamped:true.

Discovered
series

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 and free access are clamped to the last 31 days, Enthusiast to 366 (windowClamped:true in the response). Pro tiers query deeper history in windows of at most 367 inclusive dates; large multi-series median requests may require smaller windows.

Discovered
yield_curve

RBA curve nodes for an exact date or the latest publication: cash and bond yields as published, and the RBA's fitted zero, forward and discount curves (each point says whether it is observed or derived), with optional exact comparison date, instrument details, source digest and convention. Eight distinct cash/government families; no intraday OIS, BBSW, swap or futures feed. Zero/forward fitted data publish monthly.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected60 ms11