Skip to main content
Glama

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

scan_portfolio

Re-scan every member of a saved cohort against the live decision engine to find each member's current best offer. Returns a triage list (label, best lender, best APR, monthly payment, optional savings vs current) and a diff vs the previous scan (who's new, whose best lender changed, APR deltas). Persists the new snapshot. Use this to refresh a book of business and surface what changed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesCohort id to scan. Required.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
triageNoEvery member's current best offer.
changedNoMembers whose best offer moved since the previous scan.
scannedNoMembers evaluated (capped at 50).

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses important behavior beyond the minimal annotations: it hits the live decision engine, persists a new snapshot, and computes a diff against the previous scan. These side effects are relevant to an agent deciding whether to invoke the tool. It does not mention rate limits or authorization, but the provided behavioral detail is strong.

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 dense sentences front-load the action, then list return content, then state persistence and use case. Every clause earns its place; there is 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?

For a tool with one well-documented parameter, an output schema, and clear behavioral side effects, the description gives everything an agent needs: what it does, what it returns, what it persists, and when to use it. Nothing essential is missing.

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 documents the only parameter fully (cohort id to scan), so the baseline is 3. The description adds the phrase 'saved cohort,' which reinforces the parameter's meaning, but it does not provide additional format or usage detail 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 names a specific verb and resource: re-scan each member of a saved cohort against the live decision engine. It also distinguishes the tool by its outputs (triage list, diff vs previous scan) and side effect (persists snapshot), making it clearly differentiable from siblings like scan_savings.

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 an explicit use case: refresh a book of business and surface what changed. It does not name alternatives or state when not to use it, so it misses the upper bound, but the context is still clear enough for an agent to select it appropriately.

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