Skip to main content
Glama

RateAPI — live US mortgage, auto, HELOC, personal & deposit rates

scan_savings

Read-only

Scan a list of existing debts and find, for EACH debt, the best qualifying market refinance offer. Returns a ranked "savings stack" with monthly and lifetime savings (net of typical closing costs) per debt plus whether refinancing is worth it, and overall totals. Use this to find refinance opportunities across a borrower's whole debt portfolio.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
debtsYesList of existing debts to evaluate for refinancing.
stateYesUS state code (2-letter, e.g., TX). Required.
credit_scoreNoBorrower's credit score (300-850). Recommended for accurate matching.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
stackNoThe user's debts ordered by refinancing opportunity, biggest saving first.
stateNoTwo-letter US state code the result is scoped to (e.g. 'CA'). Null means the result was not filtered by state.
totalsNoCombined opportunity across every debt in the stack.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so no mutation risk. The description adds useful behavioral detail beyond that: it discloses that savings are net of typical closing costs, results are ranked, and there is a 'worth it' determination. This gives the agent expectations about the analysis without contradicting the read-only annotation.

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

Conciseness5/5

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

Three sentences front-load the core action, then present the output shape, then state the intended use. Every sentence earns its place, and there is no redundant restatement of the tool name or schema fields.

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 moderate complexity, but the input schema fully documents parameters and an output schema exists. The description explains the key output concepts (ranked savings stack, net savings, worth-it determination, totals), which is enough 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 description coverage is 100%, so the schema already fully documents state, debts, and credit_score. The description adds no parameter-level detail beyond characterizing the inputs as a borrower's debt portfolio, which is consistent with the schema but not additional. 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 a specific verb ('scan') and resource ('list of existing debts'), then spells out the deliverable: a ranked savings stack with monthly and lifetime savings, net of closing costs, per debt plus overall totals. This clearly distinguishes the tool from generic portfolio scanners by focusing on refinance opportunity identification.

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 final sentence gives explicit guidance: 'Use this to find refinance opportunities across a borrower's whole debt portfolio.' This is clear context for when to invoke the tool, though it does not explicitly name alternatives or state when not to use it relative to siblings like scan_portfolio or refinance_break_even.

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.

TDQS

A3.6/5.0
Disambiguation3/5

Many tools occupy closely related decision and rate-lookup spaces—get_financing_decision, rate_sanity_check, compare_products, batch_decisions, and simulate_decision can all appear relevant to a shopping question. The descriptions work hard to disambiguate them, and some pairs are explicitly cross-referenced, but the boundary between tools like create_monitor and create_competitor_monitor or rate_sanity_check and check_competitive_position still requires careful reading.

Naming Consistency4/5

The set mostly follows a clear snake_case verb_noun pattern: create_*, update_*, delete_*, get_*, list_*, scan_*, simulate_*, send_*. Minor deviations like max_loan, rate_sanity_check, and refinance_break_even break the verb-led convention, and get_ vs list_ is used somewhat loosely, but the overall pattern remains predictable.

Tool Count1/5

At 80 tools, this is an extremely large surface for a rates API. Even though the server spans rate data, financing decisions, membership eligibility, email campaigns, monitors, digests, and documentation, 80 tools is excessive and will overwhelm agents with selection overhead.

Completeness4/5

The core domain is covered thoroughly: raw rate lookup, benchmarks, history, financing decisions, affordability, refinance analysis, eligibility, campaigns, monitors, cohorts, scenarios, and shares all have lifecycle support. Minor gaps exist—there is no update_cohort or update_scenario, and raw deposit-rate listing is less explicit than mortgage/auto rate listing—but agents can work around these.

Resources