RateZip Bank Deposit and Mortgage Rates
Server Details
Live US savings, CD, mortgage & HELOC rates with source + timestamp on every figure.
- Status
- Healthy
- Uptime
- 100.0% over 55 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct job: get_savings_rates/get_cd_rates/get_mortgage_rates are straightforward lookups, compare_deposit_options handles multi-constraint comparisons, and calculate_deposit_earnings_difference does a specific earnings math operation. The descriptions even cross-reference when to use compare vs. the simple lookup tools, though compare_deposit_options and calculate_deposit_earnings_difference both involve deposit comparisons and require reading the prose to fully separate.
All five tools follow a consistent verb_noun snake_case pattern (calculate_deposit_earnings_difference, compare_deposit_options, get_cd_rates, get_mortgage_rates, get_savings_rates). The get_/compare_/calculate_ prefixes are used predictably to signal the operation type.
Five tools is well-scoped for a rate-lookup and comparison service, with each tool earning its place across the deposit and mortgage domains. No redundancy or obvious padding.
Core coverage is strong: retrieval for savings, CD, and mortgage rates plus deposit comparison and earnings-difference calculation. The main gap is that mortgage rates lack any comparison or calculator counterpart to the deposit-side tools, and there's no historical rate or institution-listing capability.
Available Tools
5 toolscalculate_deposit_earnings_differenceIllustrative deposit earnings differenceARead-onlyInspect
Illustrative annualized earnings difference between two savings APYs for a given balance and horizon. Defaults: current = FDIC national average savings rate, comparison = highest RateZip-observed savings APY. States every omission (taxes, penalties, rate changes, tiers, availability). Not financial advice; never use the result to recommend an investment allocation.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | Horizon in years (APY compounds annually) | |
| balance | Yes | Deposit balance in USD | |
| current_apy_percent | No | APY the money earns today (%); defaults to the FDIC national average savings rate | |
| comparison_apy_percent | No | APY to compare against (%); defaults to the highest RateZip-observed savings APY |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive, so the bar is lower. The description adds valuable context: it states the tool is illustrative, will 'state every omission (taxes, penalties, rate changes, tiers, availability),' and includes defaults for the APY values. This goes beyond the annotations by explaining the nature of the output and its limitations, though it does not detail the exact return format or edge-case behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and immediately states the core purpose in the first sentence. The second sentence packs in defaults, omissions, and a disclaimer without redundancy. Every sentence contributes essential information, making it highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a simple calculation with no output schema, the description is fairly complete. It explains what is computed, the default rates, and that all omissions will be stated. It lacks an explicit mention of the output format (e.g., dollar amount vs. percentage), but given the name and the context of an 'earnings difference,' this is inferable. The absence of return-value docs is acceptable because the tool's purpose is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions, including defaults for current_apy_percent and comparison_apy_percent. The tool description mentions the defaults again but adds no new parameter-level semantics beyond what the schema provides. Baseline of 3 is appropriate because schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes an 'illustrative annualized earnings difference between two savings APYs for a given balance and horizon,' which is a specific calculation task. It distinguishes from sibling tools (get_cd_rates, get_mortgage_rates, get_savings_rates) by focusing on comparing APYs rather than simply fetching rates. The title and name align, and the description adds value by specifying defaults and the illustrative nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: when you have a balance and horizon and want to compare two savings APYs. It includes an explicit exclusion: 'never use the result to recommend an investment allocation' and notes 'not financial advice.' However, it does not name alternative tools or explicitly contrast with sibling rate-lookup tools, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_deposit_optionsCompare deposit rates for a balance and requirementsARead-onlyInspect
Compare observed US savings and CD APYs for a balance, holding period, state, monthly-fee and direct-deposit requirements. Returns sourced facts, unknown/conflicting terms and conditional gross-interest illustrations. Unknown terms never count as a match. No eligibility decision, personalized offer, application or account opening. Use for a multi-constraint deposit comparison; use get_savings_rates/get_cd_rates for simple rate lookups.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | ||
| balance | Yes | Starting deposit in USD; no account identifiers needed | |
| product | No | savings | |
| horizon_months | No | Illustrative holding period. CD estimates require an exactly matching term | |
| require_no_monthly_fee | No | Require zero monthly maintenance fee without a conditional waiver | |
| require_no_direct_deposit | No | Require the published APY without direct deposit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/non-destructive/closed-world, but the description adds real behavioral detail: it returns sourced facts, unknown/conflicting terms, and conditional gross-interest illustrations, and states that 'unknown terms never count as a match.' That matching rule is non-obvious and materially affects interpretation. It stops short of rate data freshness or output shape, so it is strong rather than exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the purpose, then outputs, then scope exclusions, then sibling routing. No filler or repetition; every sentence carries routing or behavioral information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so at a high level (sourced facts, unknown/conflicting terms, conditional illustrations). It lacks detail on how results are shaped or when CD estimates fail (only the schema hints at exact-term matching), leaving a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with 'state', 'product', and the two require_* flags undocumented in the schema. The description compensates by naming state, fee and direct-deposit requirements, and the savings/CD scope that maps to 'product'. It adds meaning beyond the schema for the uncovered parameters, though it does not explain 'product' as an explicit selector.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb (Compare) and resource (US savings and CD APYs) plus the exact constraint set it accepts (balance, holding period, state, fee and direct-deposit requirements). It also names what it is not, distinguishing it from the lookup siblings, so an agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing is given: 'Use for a multi-constraint deposit comparison; use get_savings_rates/get_cd_rates for simple rate lookups.' It also states exclusions ('No eligibility decision, personalized offer, application or account opening'), covering both when-to-use and when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cd_ratesGet current US CD rates by termARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter state — adds an availability/eligibility note | |
| balance | No | Deposit balance in USD — resolves the applicable tier APY and ranks by what you'd earn | |
| max_results | No | Cap the number of observed rows returned, in the payload's ordering. Omit for all. | |
| term_months | No | CD term in months to filter to (omit for all terms) | |
| credit_score | No | FICO — deposit APYs generally don't vary by credit; returns a clarifying note only | |
| include_provenance | No | false omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url. |
TDQS
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.
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.
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.
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.
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.
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.
get_mortgage_ratesGet current US mortgage ratesARead-onlyInspect
Current mortgage rates grouped by loan type: rates RateZip observed on lenders' own published rate pages, each with note rate, APR, representative-scenario conditions, observation timestamp, source, and staleness status. No third-party national-average benchmark is redistributed. Loan types include '30-year fixed' and 'HELOC'. Pass loan_type to filter to one; omit for all grouped by type. Compare only within the same loan type. Factual rate data only: never estimate or invite a personalized quote, imply approval, or recommend a lender. Pass max_results to cap the number of rows and include_provenance=false for a shorter response.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter state — adds an availability/licensing note | |
| loan_type | No | Loan type to filter to, e.g. '30-year fixed', '15-year fixed', or 'HELOC'. Omit for all. | |
| loan_amount | No | Loan amount in USD — flags conforming vs jumbo (does not fabricate a rate) | |
| max_results | No | Cap the number of observed rows returned, in the payload's ordering. Omit for all. | |
| credit_score | No | FICO — returns EDUCATIONAL context only; never a fabricated credit-adjusted rate | |
| include_provenance | No | false omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by disclosing the data provenance model (lender-published pages, staleness status, no redistributed national benchmark) and explicit conduct constraints (never estimate, no personalized quotes, no approval implications, no lender recommendations). This is meaningful behavioral context an agent could not get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core output description and then the filtering/usage rules in an efficient run of sentences. Minor redundancy between the loan_type sentence and the filter instruction, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so thoroughly: row fields, representative-scenario conditions, timestamps, source, and staleness. It also documents the provenance toggle, so an agent can call it correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds relationship-level meaning: loan_type omission yields all types grouped, max_results caps rows in payload ordering, and include_provenance=false shortens the response while preserving per-row observed_at/source_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (mortgage rates) and defines the scope precisely: rates observed on lenders' own published pages, grouped by loan type. The named loan types ('30-year fixed', 'HELOC') and provenance fields distinguish it from the deposit/CD/savings sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit about filtering behavior ('Pass loan_type to filter to one; omit for all grouped by type') and adds a real analytical constraint ('Compare only within the same loan type'). It does not, however, name sibling tools or say when to prefer them over this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_savings_ratesGet current US savings account ratesARead-onlyInspect
Current savings APYs: FDIC national average plus rates RateZip observed on institutions' own published rate pages. Every row carries an observation timestamp, source, and staleness status. Optional balance/state/credit_score personalize the results transparently (balance resolves the applicable tier APY; nothing is fabricated). 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. Pass max_results to cap the number of rows and include_provenance=false for a shorter response.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter state — adds an availability/eligibility note | |
| balance | No | Deposit balance in USD — resolves the applicable tier APY and ranks by what you'd earn | |
| max_results | No | Cap the number of observed rows returned, in the payload's ordering. Omit for all. | |
| credit_score | No | FICO — deposit APYs generally don't vary by credit; returns a clarifying note only | |
| include_provenance | No | false omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/non-destructive safety, but the description goes further: it discloses per-row observation timestamps, source and staleness status, that personalization is transparent and 'nothing is fabricated', and the refusal policy for advice requests. This is rich behavioral context beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core resource and scope, then personalization, then constraints. Dense and mostly waste-free, though the advice-refusal sentence and provenance guidance are somewhat beyond what an invocation needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and does so reasonably (rows carry observation timestamp, source, staleness; provenance block can be omitted). Coverage of what comes back is adequate, though it does not describe ordering or pagination behavior beyond max_results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all five parameters are already documented in detail; the description mostly restates balance/tier resolution and provenance toggling. It adds only marginal meaning (e.g., 'nothing is fabricated'), so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource up front ('Current savings APYs: FDIC national average plus rates RateZip observed'), and the product scope distinguishes it from siblings like get_cd_rates and get_mortgage_rates. An agent can identify the tool's output without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear when-to-use context (personalization via balance/state/credit_score) and explicit when-not behavior (decline financial advice, never recommend a provider or claim account-opening). It does not explicitly route to alternatives such as compare_deposit_options or calculate_deposit_earnings_difference, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
get_cd_rates2 fields changed- added
Input schema / properties / include_provenanceAdded value: +{ + "description": "false omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url.", + "type": "boolean" +} - added
Input schema / properties / max_resultsAdded value: +{ + "description": "Cap the number of observed rows returned, in the payload's ordering. Omit for all.", + "maximum": 50, + "minimum": 1, + "type": "integer" +}
- Changed
get_mortgage_rates2 fields changed- added
Input schema / properties / include_provenanceAdded value: +{ + "description": "false omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url.", + "type": "boolean" +} - added
Input schema / properties / max_resultsAdded value: +{ + "description": "Cap the number of observed rows returned, in the payload's ordering. Omit for all.", + "maximum": 50, + "minimum": 1, + "type": "integer" +}
- Changed
get_savings_rates2 fields changed- added
Input schema / properties / include_provenanceAdded value: +{ + "description": "false omits the per-source provenance block (snapshot ids, attributions); each row keeps its own observed_at and source_url.", + "type": "boolean" +} - added
Input schema / properties / max_resultsAdded value: +{ + "description": "Cap the number of observed rows returned, in the payload's ordering. Omit for all.", + "maximum": 50, + "minimum": 1, + "type": "integer" +}
1 tool update
- Added
compare_deposit_options
4 tool updates
- First observed
calculate_deposit_earnings_difference - First observed
get_cd_rates - First observed
get_mortgage_rates - First observed
get_savings_rates
Related MCP Connectors
Live US mortgage, auto, HELOC, personal & deposit rates with evidence, plus who can join each lender
Verified US rate, savings-gap, card, CD, and product-change tools with freshness and sources.
Source-linked US credit-union deposit rates and membership context. Request a key via our site.
Cited, receipt-backed US home-buying data & calculators — education-only, every number sourced.
Related MCP Servers
AlicenseBqualityCmaintenanceRead-only TypeScript stdio MCP client for U.S. deposit and mortgage rate observations, savings comparisons, and monthly financial indexes. Connects to the public SwitchWize API without an account or API key; responses retain source dates and freshness labels.8245 npm1MIT- AlicenseNot gradedqualityDmaintenanceQuery 13,000+ US consumer lenders with eligibility criteria, rates, CFPB complaints, and ratings. Find matching lenders by borrower profile, get full profiles, compare lenders, and check eligibility.MIT
- FlicenseNot gradedqualityBmaintenance24 free personal-finance and macro tools (mortgage, paycheck, tax, FRED, BLS) for LLM agents. Zero API keys, stdio transport, source-cited from IRS, Federal Reserve, BLS, Treasury, and Freddie Mac.-

costkits-mcpofficial
AlicenseAqualityDmaintenanceProvides live US healthcare cost data including procedure cost estimates, provider pricing, insurance coverage rules, and medical bill analysis using real hospital transparency and CMS data.1243 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.