Skip to main content
Glama

RateZip Bank Deposit and Mortgage Rates

Get current US CD rates by term

get_cd_rates
Read-only

Current CD APYs: FDIC national averages by term plus RateZip-observed institution rates (with terms, minimums/conditions, observation timestamps, sources, and staleness status). Pass term_months (e.g. 3, 6, 12, 24, 36, 60) to filter to one term; omit for all terms grouped by term. Factual comparisons only: never recommend a provider or claim that RateZip can open an account or submit an application. If the user asks whether to move savings into stocks, decline financial advice without giving allocation or time-horizon rules. If no institution publishes the requested term, the result names the terms that are available. Pass max_results to cap the number of rows and include_provenance=false for a shorter response.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateNoTwo-letter state — adds an availability/eligibility note
balanceNoDeposit balance in USD — resolves the applicable tier APY and ranks by what you'd earn
max_resultsNoCap the number of observed rows returned, in the payload's ordering. Omit for all.
term_monthsNoCD term in months to filter to (omit for all terms)
credit_scoreNoFICO — deposit APYs generally don't vary by credit; returns a clarifying note only
include_provenanceNofalse omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / include_provenance
      Added value: +{
      +  "description": "false omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / max_results
      Added value: +{
      +  "description": "Cap the number of observed rows returned, in the payload's ordering. Omit for all.",
      +  "maximum": 50,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds substantial context beyond that: provenance/staleness semantics, the factual-comparison-only constraint, refusal of financial-advice requests, and fallback behavior when a requested term is unpublished. This is behavior an agent could not infer from annotations alone.

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?

Front-loads what is returned before switching to parameter guidance and policy constraints. The paragraph is dense but every sentence carries either usage or behavioral information; the financial-advice refusal, while policy-flavored, is genuinely needed for a rates tool.

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 6 optional parameters, no output schema, and no annotations-driven return info, the description compensates by describing the payload shape (grouped by term, per-source provenance, staleness, term-availability fallback). An agent has enough to invoke and interpret the response correctly.

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: concrete term_months examples (3, 6, 12, 24, 36, 60), max_results as a row cap, and include_provenance=false producing a shorter response while rows retain observed_at and source_url. It does not elaborate on state, balance, or credit_score, which remain schema-only.

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?

States a specific verb+resource (CD APYs by term) plus two distinct data sources (FDIC national averages and RateZip-observed institution rates). The resource is unambiguous against siblings like get_savings_rates and get_mortgage_rates, which cover different products.

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?

Gives clear operational context: pass term_months to filter to one term, omit for all terms grouped, pass max_results to cap rows, and include_provenance=false for a shorter response. It also specifies when not to do things (no recommendations, no financial advice). It does not explicitly route the agent to/away from siblings such as compare_deposit_options or calculate_deposit_earnings_difference.

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