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

dev.rateapi由 rateapi.dev 發布官方發布者v1.0.0更新於 Oct 24, 2026

Live US mortgage, auto, HELOC, personal & deposit rates with evidence, plus who can join each lender

已驗證Streamable HTTP可網頁執行金融資料與分析

概覽

AI 產生的概覽

遠端 MCP 伺服器,提供美國房貸、車貸、HELOC、個人及存款即時利率、信用合作社入會資格查詢與借款人計算工具。

可以做什麼
  • 查詢房貸、車貸、HELOC、個人、學生及存款產品的即時利率與基準,並跨產品比較
  • 依州或郵遞區號尋找信用合作社,查看其利率與 NCUA 檔案,檢查或探索入會資格
  • 依使用者自述事實提供個人化融資建議與可達報價比較
  • 執行借款人計算:再融資回本月數、買點最佳化、最高貸款額、可負擔性、每月總支出、租屋與購屋比較、PMI 取消
  • 建立、更新、模擬與刪除利率變動監控及 webhook 通知,查看投遞紀錄與用量
  • 儲存具名客戶方案,讀取資料擷取與覆蓋統計
適用情境
適合需要附來源的美國貸款即時利率、信用合作社入會資格調查,或借款人可負擔性與再融資試算的情境。也適合需要利率監控與客戶方案紀錄的貸款專員。
執行需求
遠端 streamable HTTP 端點,不需本機套件或執行環境。清單未宣告驗證、環境變數或標頭,但多個工具提及 API 金鑰及其用量配額,監控與用量類工具可能需要帳戶金鑰。需要網路連線。
安裝前請注意
監控工具會向自訂 URL 傳送 webhook,測試投遞會實際發出 HTTP 請求,且測試投遞不以監控的簽章金鑰簽署。刪除監控無法復原。工具會接收收入、負債、郵遞區號、親屬入會等個人事實並傳送給服務方。利率資料僅供參考,不構成貸款要約。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 RateAPI — live US mortgage, auto, HELOC, personal & deposit rates,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.rateapi%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "rateapi-live-us-mortgage-auto-heloc-pers": {
      "type": "http",
      "url": "https://mcp.rateapi.dev/mcp"
    }
  }
}

工具

89

get_financing_decision

RECOMMENDED WHEN SHOPPING: Get personalized financing recommendations for ANY loan or credit product across every major type: mortgages (30yr/15yr/20yr/10yr fixed and ARMs), auto loans (new/used/CPO, 36-84 month terms), RV/boat/motorcycle/powersports loans, HELOCs (fixed/variable), personal loans (secured/unsecured), student loans, equipment loans, and credit cards (rewards, cash_back, secured, balance_transfer, low_rate, business, platinum, student). Analyzes current market offers and returns actionable recommendations with explanations. Use this instead of looking up raw rates when the user is asking "what rate can I get?" and does NOT yet have an offer. IMPORTANT: if the user ALREADY has a quoted rate and is asking whether it is good/fair/competitive ("I was quoted 6.9%, is that any good?"), call rate_sanity_check instead — it returns a percentile verdict on their specific number, which is what that question is actually asking. Provide the user's state, intent (purchase/refinance/cash_out/balance_transfer/new_credit), and amount for personalized advice.

輸入參數zipstate必填amount必填countyintent必填schoolworshipemployerno_pointscurrent_aprterm_monthscredit_score另有 11 個

list_credit_unions

Reference tool: Discover credit unions by state or nearest to a 5-digit ZIP. State listings include rate availability, member count, and reported location count. ZIP discovery ranks NCUA-reported branches by estimated straight-line miles from the ZIP center. For personalized rate recommendations, use get_financing_decision instead.

輸入參數zipstate

find_credit_unions_near_zip

Use when someone asks for "credit unions near me," the closest credit union, local credit-union branches, or nearby alternatives to a bank. Given a 5-digit ZIP, returns credit unions ordered by the estimated straight-line distance to each institution's closest NCUA-reported branch. Includes approximate miles, branch address, and profile identifiers for checking rates, services, and membership. Distances use ZIP centers and are not driving distance.

輸入參數zip必填max_results

find_product_rates_near_zip

Use when someone asks for the best mortgage, auto-loan, HELOC, personal-loan, student-loan, equipment-loan, or credit-card rates near them and provides a ZIP. Finds the nearest NCUA-reported branch set, keeps credit unions with a current product-matched published rate, and ranks those offers by lowest APR with approximate distance as a tie-breaker. HELOC matching excludes closed-end home-equity loans. This is a local shopping shortlist: distance is straight-line, membership is not guaranteed, and published APR is not personalized approval.

輸入參數zip必填max_offersterm_monthsproduct_type必填vehicle_condition

get_credit_union

Reference tool: Get a credit union's rates, membership eligibility, and source-labelled NCUA quarterly profile: members, assets, year opened, charter, reported services, and branch locations. Eligibility annotates published criteria and never asserts that an individual is ineligible; profile facts are regulatory snapshots, not live prices. Use this when a user asks about a specific credit union. For personalized rate recommendations, use get_financing_decision instead.

輸入參數slug必填state必填

check_membership_eligibility

`relative_memberships` carries confirmed current/deceased relative membership scoped to one exact target credit union; one institution is never reused for another. Check whether a user can JOIN specific credit unions (field-of-membership eligibility). Batch-friendly: pass 1-50 credit_union_ids (from get_financing_decision offers, list_credit_unions, or get_credit_union) plus whatever is known about the user (home, worksite, and payroll geography are independent facts; employer, occupation, military_status, school plus school_relationship, and worship are also supported). City facts require their same-role state or a recognized same-role ZIP that uniquely identifies one state, and are accepted only when the closed Census gazetteer resolves them. Returns one row for every requested credit union. Positive outcomes include open_to_anyone, likely_eligible, eligible_via_employer, and eligible_via_military. A school name alone is not a positive signal: school_relationship is required to affirm a typed student, alumni, or school-employee path. Only a graph carrying exact active-publication lineage governs the top compatibility verdict; a publication-less shadow graph remains diagnostic and cannot replace the flat result. A non-match is returned as unknown, with `unknown_reason: fom_completeness_unaffirmed` when the published field-of-membership corpus is not attested complete. The legacy `geo_mismatch` enum value is reserved for wire compatibility and is not emitted by this MCP boundary without a future typed closed-world attestation. Verdicts are guidance based on each credit union's published membership criteria; the final membership determination is always the institution's. Non-matches carry `missing_facts` for the named institutions: the exact question to ask next, the `fact_field` an answer populates, and the institution's own words. A check that returns unknown for all of them and a question for each is a SUCCESSFUL call, not a failure — ask the questions, merge the

輸入參數zipstatecountyschoolworshipemployerhome_zipwork_ziphome_citywork_cityhome_stateoccupation另有 33 個

find_eligible_credit_unions

`relative_memberships` carries confirmed current/deceased relative membership scoped to one exact target credit union; one institution is never reused for another. `next_questions.unlocks_cu_count` counts membership decisions an answer may clarify, never guaranteed products. Discovery tool: find candidate credit unions a person may be able to JOIN, from their own facts rather than from a list of institutions. Pass any combination of home, worksite, or payroll geography (these are independent), occupation, employer, school (+school_relationship), associations, military_status, and worship; at least one discriminating fact is required, or pass willing_to_join_association=true as the sole discriminator to search documented joinable-association paths. City facts require their same-role state or a recognized same-role ZIP that uniquely identifies one state, and are accepted only when the closed Census gazetteer resolves them. This evaluates a bounded, prioritized candidate set, not the entire credit-union fleet: read `candidate_limit`, `candidate_set_truncated`, and `candidate_sources`, and never interpret an absent institution as unavailable or ineligible. Returns four buckets within that candidate set — eligible (a verified path already applies), conditionally_eligible (one more step, e.g. joining an association, with the cost and join URL when known), possibly_eligible (a path may apply but a requirement could not be confirmed), and unknown (we could not decide — either we hold no rules for the institution or the supplied facts cannot decide the rules we hold). Every non-positive entry carries a machine-readable `unknown_reason`: `geo_inputs_missing` / `org_inputs_missing` / `inputs_missing` mean ONE MORE FACT FROM THE USER would resolve it, so ask for it and call again; `no_rules` means we hold nothing for that institution and asking will not help; `incomplete_fom`, `fom_completeness_unaffirmed`, `low_confidence_rules` and `unmodeled_condition` mean we hold rules but

輸入參數limitschoolworshipemployerhome_zipwork_ziphome_citywork_cityhome_stateoccupationwork_statehome_county另有 32 個

find_reachable_offers

Find the best fresh, evidence-backed credit-union rates reachable from this person’s membership facts. This composed graph-first operation evaluates the complete active US credit-union fleet BEFORE rates are queried, so a strong out-of-state employer, association, school, military, family, property, work/payroll, or facility door is not lost behind a candidate cap or state-only rate search. `reachable_now` requires a verified membership path, satisfied supplied product dimensions, and fresh evidenced published pricing; `reachable_after_action` requires the same product proof plus a documented membership action. Unknown or mismatched term, intent, vehicle condition, or occupancy remains `unresolved`, never silently matched. `no_published_offer` means no matching fresh evidenced rate was found. Deposits rank published APY only. Lending ranks published APR rows first and separately labeled nominal-rate rows second, never comparing APR and rate as one measure. Every price includes verbatim evidence and as_of, and routed membership results preserve graph/publication lineage and source proof. Use product-aware questions only as bounded facts that may clarify. Published pricing is not approval or guaranteed final availability.

輸入參數limitperson必填product必填

get_personal_access_catalog

Evaluate one person across 1-19 explicit loan or deposit selectors using one exhaustive eligibility snapshot. Returns separate membership, published availability, product suitability, published pricing, underwriting, and approval layers. Lead only with reachable_now or reachable_after_action; unresolved and no_published_price are unknown, never a denial. Published APY, APR, or clearly labeled nominal rate is not a personalized quote, underwriting result, preapproval, commitment, or guarantee. Every returned published price carries source evidence and as_of.

輸入參數person必填products必填total_limitlimit_per_product

compare_personal_access_catalogs

Compare baseline and candidate confirmed person facts across the same 1-19 explicit products. Both catalogs use one pinned immutable eligibility graph snapshot; rate rows retain independent evidence and as_of. Returns access, membership-path, and like-for-like published-price basis-point deltas: APY for deposits, APR for lending when both sides publish APR, otherwise nominal rate only when both sides publish nominal rate. It never mixes APR and nominal rate. Never describe missing access as denial or infer savings, underwriting, approval, or final terms.

輸入參數products必填total_limitbaseline_person必填candidate_person必填limit_per_product

search_eligibility_entities

Browse or search canonical employers, associations, schools, or worship organizations that appear in positive conditions in current active eligibility publications. Omit query to browse by active-publication graph connectivity; that order is NOT popularity, quality, or a recommendation. With query, normalized exact matches rank before bounded prefix matches. A returned organization is a selectable fact, NOT proof that this person can join any credit union; use resolve_eligibility_entities for authoritative selection, then pass the returned org_id in the matching *_org_ids field to an eligibility tool. This authenticated discovery never loads a client-side corpus and accepts no personal profile.

輸入參數limitquerytypes

resolve_eligibility_entities

Resolve up to 50 typed organization names for canonical eligibility input. Only one exact normalized active-publication match with confidence of at least 0.8 is authoritative (`resolved`); a lower-confidence exact match remains `unresolved`, multiple exact matches are `ambiguous`, and prefix candidates are suggestions only. Never convert an unresolved, ambiguous, or suggested candidate into a person fact. Resolution identifies an organization and never establishes eligibility.

輸入參數inputs必填candidate_limit

compare_reachable_offers

Compare one baseline person-fact panel with one candidate panel against the same active eligibility snapshot and exact product request. Use this for explicit what-if questions such as adding a confirmed employer or association. Newly reachable means current positive evidence now proves a path; no_longer_reachable or absence never proves ineligibility. Supply only facts the person confirmed, preferably canonical *_org_ids from resolve_eligibility_entities. Person facts are forwarded transiently and are not stored by this tool.

輸入參數limitproduct必填baseline_person必填candidate_person必填

get_product_access_envelopes

Get non-personal, evidence-bound membership-access metadata for up to 50 exact deposit product references. Returns active-publication path kinds and documented joinable-association actions alongside the current evidenced product rate. This does NOT decide whether a person is eligible, easy to qualify, approved, or within a published balance/audience constraint; unavailable evidence stays unavailable.

輸入參數products必填

evaluate_eligibility_cohort

Evaluate a caller-supplied panel of 1-10 named fact profiles for one exact product against one serving snapshot, deduplicating reachable institutions and exact offers. This is descriptive only for the supplied panel: never call it a population estimate, conversion rate, approval forecast, or negative eligibility result. Use neutral profile labels instead of names, emails, account numbers, or other direct identifiers. Profiles are forwarded transiently and are not stored by this tool; unknown remains unknown.

輸入參數limitproduct必填profiles必填

get_eligibility_changes

Read the bounded, cursor-paginated feed of currently active eligibility publication replacements since an ISO timestamp. Use it to invalidate caches keyed by credit_union_id or publication identity. It exposes aggregate publication metadata only: no personal facts, no historical verdict, and no claim that a person is eligible or ineligible.

輸入參數limitsince必填cursor

extract_eligibility_facts

Turn a person's own words about themselves into the structured facts the eligibility tools accept. Pass their sentence verbatim ("I'm a nurse at a Tulsa hospital, I live in Broken Arrow, my late father was a TTCU member") and this returns each fact it could read, with the exact words it read it from, a confidence, and a needs_confirmation flag. THIS DOES NOT DECIDE ELIGIBILITY and never returns a credit union: it only fills in fields. Show the extracted facts to the user and get confirmation on every fact with needs_confirmation=true (family relationships, relatives' employers and associations, applicant kind, and asserted qualifiers are always flagged, because a wrong reading of those changes the answer). Then pass `person_search_body` — plus whatever the user confirmed — to find_eligible_credit_unions, which is what actually decides. If extraction is unavailable you get facts: [] and no eligibility signal at all; ask the user for fields directly instead. `confidence` is the extraction model's own uncalibrated self-report and gates only autofill — quote `evidence.quote` to the user, not the number. This call costs 3 API units.

輸入參數text必填known_facts

create_monitor

Create a new decision monitor that watches for rate changes and sends webhook notifications when conditions are met. Returns the monitor with a webhook_signing_secret for verifying webhook payloads.

輸入參數name必填conditions必填webhook_url必填cooldown_hoursdecision_context必填subscribed_statessubscribed_product_types

create_competitor_monitor

Subscribe a monitor to a SPECIFIC named credit union's published rate and alert via webhook when that CU changes its rate (vs the aggregate market-best decision). Returns the monitor with a webhook_signing_secret (shown once) and a baseline snapshot of the CU's current rate.

輸入參數name必填stateaudienceoccupancyconditionswebhook_url必填loan_programproduct_typecooldown_hourstarget_credit_union必填

list_monitors

List all monitors associated with your API key. Supports pagination and filtering by status.

輸入參數limitoffsetstatus

get_monitor

Get detailed information about a specific monitor by its ID.

輸入參數monitor_id必填

update_monitor

Update an existing monitor. Only provided fields will be updated.

輸入參數namestatusconditionsmonitor_id必填webhook_urlcooldown_hours

delete_monitor

Permanently delete a monitor. This action cannot be undone.

輸入參數monitor_id必填

simulate_monitor

Test a monitor with a simulated rate change to see if it would trigger. No webhook is sent. It is not a pure dry run: the simulation IS recorded, as a monitor_evaluations row (and a webhook audit row) flagged is_simulation = 1, so it appears in the monitor's history clearly marked as a simulation. It does not touch the monitor's cooldown or last_triggered_at. Use deliver_test_webhook to actually send a test webhook.

輸入參數monitor_id必填rate_change必填

deliver_test_webhook

Send a test webhook for a monitor using a simulated rate change. This actually delivers an HTTP request to the monitor's configured webhook URL. IMPORTANT: a test delivery is NOT signed with the monitor's signing secret — only a hash of that secret is stored, so test deliveries use a placeholder and will FAIL signature verification. Use this to test payload handling, not signature verification. Only use when the user explicitly requests a test webhook delivery.

輸入參數monitor_id必填rate_change必填

list_webhook_deliveries

Org-scoped webhook delivery observability for the authenticated API key. Lists the per-event webhook delivery log for your monitors — each row shows status (delivered/failed/pending), HTTP response code, error, response time, the destination URL, and timestamp — with a roll-up summary (total/delivered/failed/pending). Use this to surface SILENT webhook failures (a delivery that never reached your endpoint). Filter by monitor_id and/or status. To replay a failed (or any) delivery, set redeliver_id to that row's id; the original payload is re-sent verbatim and the replay is itself audited. Distinct from deliver_test_webhook, which sends a brand-new simulated event.

輸入參數limitoffsetstatusmonitor_idredeliver_id

get_eligibility_coverage

Enterprise RateAPI Routes coverage: how many US credit unions RateAPI holds live, verbatim-evidenced membership rules for (and what share of the active fleet that is), how the rules split by kind, how many counties, states and employers they name, verification status, and freshness. The `authority` object distinguishes exact immutable active publications from older graph and flat compatibility records; `evidence_sources` reports the public source mix. Returns a dated `headline` sentence that can be quoted verbatim. Use this BEFORE find_eligible_credit_unions or check_membership_eligibility when the user asks how complete, authoritative, or fresh the eligibility data is. Aggregate only — no institution-level rows; those come from the eligibility tools. Never reports credit data: the rule schema has no condition kind for credit score, income or debt. An institution absent from the graph is undecided, never ineligible.

無需輸入參數。

get_extraction_stats

Get data extraction statistics showing the scale and health of rate data collection. Use this to understand extraction volumes, product coverage, and data freshness. Supports filtering by date range and product type. Great for building transparency dashboards or monitoring data collection health.

輸入參數endTimestartTimeproduct_type

get_benchmarks

Get rate benchmark statistics (min/median/max APR) across all institutions. Use this for market analysis, comparing user quotes against market rates, or building benchmark dashboards. Returns statistics for mortgages (30yr fixed, 15yr fixed, and `mortgage_arm` — one bucket covering every adjustable-rate mortgage regardless of initial fixed period), auto loans (new/used — cars only), RV/boat/motorcycle/powersports (first-class vehicle categories), HELOCs, and personal loans. Each product shows the lowest APR institution, median APR, and count of institutions.

輸入參數stateproduct_type

compare_products

Compare the best real rates across MULTIPLE lending products in a single call — e.g. show a buyer mortgage vs HELOC, or new vs used auto. Runs the decision engine for each product and returns a ranked, true-cost (APR + fees) table. Use this instead of calling get_financing_decision repeatedly. Each product returns its top offer with rate, APR, and monthly payment.

輸入參數state必填amount必填intentterm_monthscredit_scoreproduct_types必填

refinance_break_even

Tell a borrower whether refinancing is worth it. Compares their current rate against the best real market offer and returns monthly savings, lifetime savings, and break-even months. Use for 'should I refinance?' questions.

輸入參數state必填balance必填term_months必填credit_scorecurrent_rate必填product_type必填closing_costs

optimize_buydown

Given a discount-points / lender-credit tradeoff menu for a candidate loan, returns break-even months, lifetime savings, and the optimal point-spend. The points analog of refinance_break_even.

輸入參數stateoptions必填base_rate必填hold_monthsloan_amount必填term_months必填

max_loan

Estimate the largest loan a borrower can afford from income and a target debt-to-income (DTI) ratio. Returns max monthly payment, max loan amount, and the rate used. If no rate is supplied, the current best market rate for the product/state is used.

輸入參數dti必填ratestateterm_months必填product_typeincome_annual必填existing_monthly_debt

estimate_affordability

Borrower-facing home affordability estimate: given gross income, existing monthly debts, down payment, and front-end/back-end DTI caps, compute the max monthly payment, max loan amount, and max home price. Surfaces the max_loan annuity engine. If no rate is supplied, the current best market rate for the state is used.

輸入參數ratestateterm_monthsback_end_dtidown_paymentproduct_typefront_end_dtiincome_annual必填monthly_debts

estimate_monthly_cost

Total monthly housing cost (PITI): principal+interest plus property tax, homeowners insurance, PMI, and HOA, so affordability reflects real monthly outlay. If no rate is supplied, the current best market rate for the state is used.

輸入參數ratestatepmi_ratehome_priceloan_amountmonthly_hoaterm_monthscredit_scoredown_paymentannual_insuranceproperty_tax_rate

analyze_rent_vs_buy

Compare projected cost of renting vs buying a home over a holding period, anchored to LIVE market mortgage rates. Given home price, down payment, monthly rent, and a holding period, returns year-by-year cumulative cost of each path (rent vs PITI), equity built, net cost of owning after sale, and the breakeven year where buying becomes cheaper than renting. If no rate is supplied, the current best market rate for the state is used. Use for 'should I rent or buy?' questions.

輸入參數ratestatepmi_ratehome_price必填monthly_hoaterm_monthsdown_paymentmonthly_rent必填annual_insuranceclosing_cost_pctmaintenance_raterent_growth_rate另有 6 個

project_pmi_removal

For low-down-payment borrowers (LTV > 80%): projects when private mortgage insurance (PMI) drops off, the total PMI paid until then, and how much extra monthly principal cancels PMI sooner. Reuses the same amortization + PMI logic as estimate_monthly_cost. If no rate is supplied, the current best market rate for the state is used. Use for 'when does my PMI go away / how do I get rid of PMI faster?' questions.

輸入參數ratestatepmi_ratehome_priceloan_amountterm_monthscredit_scoredown_paymentextra_monthly_payment

get_usage

Check the calling account's API usage and remaining quota for this month (tier, used, remaining, limit, reset date). Use BEFORE running many calls to avoid hitting rate limits.

無需輸入參數。

get_monitor_stats

Get rollup stats for the account's rate monitors: total, active, and webhooks sent. Complements list_monitors.

無需輸入參數。

save_scenario

Save a rate comparison for a named client so it can be recalled later (a lightweight CRM for loan officers). Pass the client label and the inputs/results you want to keep.

輸入參數input必填client_name必填result_snapshot必填

list_scenarios

List saved client scenarios for the account, newest first.

無需輸入參數。

get_scenario

Get a single saved scenario by id (inputs + stored comparison).

輸入參數id必填

delete_scenario

Delete a saved scenario by id.

輸入參數id必填

list_decision_logs

Recall past financing decisions made on this account (audit log). Filter by request_id to look up a specific prior decision, or paginate with limit/offset.

輸入參數limitoffsetrequest_id

generate_client_report

Produce a clean, client-facing markdown rate comparison report a loan officer can share with a buyer. Pass either a saved scenario_id, or an inline client_name + comparison result (from get_financing_decision/compare_products).

輸入參數resultclient_namescenario_idadvisor_name

rate_sanity_check

RECOMMENDED WHEN THE USER ALREADY HAS A QUOTE: answers "is this rate any good?" for a specific number a borrower was offered. Use this whenever someone says they were quoted / offered / approved at a rate and wants to know if it is fair, good, competitive, high, or a rip-off — e.g. "I got offered 6.9% on a 30-year in Ohio, is that fair?", "my dealer quoted 8.4% on a used car loan", "is 7.1% high for a HELOC in TX?". Given a product_type, state, and rate (and optional apr/fees/amount/term_months), returns the percentile of the quote within the live market distribution, a verdict (market_leading, plausible, suspicious_low, overpriced), whether it falls below the known product rate floor, and the market min/median/max with an as_of date. Prefer this over get_financing_decision for quote-in-hand questions: the user wants a verdict on THEIR number, not a list of other offers. Set include_better_offers=true to get named statewide lenders beating the quote. When the user provides a ZIP, set include_nearby_offers=true to pair product-matched rates with the closest credit unions by NCUA-reported branch location; distances are straight-line ZIP-center estimates, never driving distance. Every response also returns `share_url` — a link to this same check on rateapi.dev that the borrower can send to their lender or broker. Surface it whenever the user might act on the result; it re-runs against live rates when opened, so it never goes stale. NOTE: this is the BORROWER-side tool; check_competitive_position is the lender-side equivalent for benchmarking a lender's own published pricing. If the quote is an ADJUSTABLE-rate mortgage (the user says ARM / adjustable / "5/1" / "5/5" / "7/1"), pass product_type=mortgage_arm rather than mortgage — ARMs are scored against their own market. Caveat to surface to the user: the comparison does not currently segment by credit score, LTV, or points, and quoted fees are not folded into the APR comparison.

輸入參數aprzipfeesrate必填state必填amountmax_offersterm_monthscredit_scoreproduct_type必填include_better_offersinclude_nearby_offers

get_coverage

Introspect what mortgage/loan data the API covers BEFORE scanning — which states, lenders, and product types are present, row counts per segment, and last-updated freshness per segment. Returns a coverage matrix so an agent can pick a scannable state/product before calling scan_savings or get_financing_decision. Mirrors the /meta global counts, expanded into a per-segment matrix. Boats, RVs, motorcycles, and powersports are first-class product categories; auto means cars.

輸入參數stategroup_byfreshness_daysproduct_category

check_competitive_position

LENDER-side 'is my offer competitive' check — input your OWN published rate for a state+product, get the market percentile, bps vs the state median, and a leading/competitive/overpriced verdict. This is for a loan officer or credit union benchmarking their published pricing against the live market distribution. Do NOT use this for a consumer's quote: if the user is a BORROWER asking whether a rate they were offered is fair, use rate_sanity_check instead.

輸入參數aprrate必填state必填product必填

scan_savings

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.

輸入參數debts必填state必填credit_score

get_league_table

Loan-officer competitive-landscape report: ranked roster of the top N lenders publishing a given mortgage product in a state today — per-lender rows (name, best APR/rate, product, position, bps above the leader) — plus the market min/median/max. The market median is INSTITUTION-level — one vote per lender, using each lender's best APR (basis = total_lenders, not market.count) — so a lender publishing a large rate matrix cannot pull it. Extends get_benchmarks (which returns only min/median/max + the single lowest institution) with the full ranked table.

輸入參數limitstate必填metricproduct必填include_institution_context

get_deposit_benchmarks

Best/median/spread credit-union deposit APY by product, term, and state, with per-CU peer ranking. Pass the MCP field `product` using one exact underscore value: savings, cd, share_certificate, money_market, ira_cd, ira, or share_savings. The MCP server translates it to REST `product_category`; do not send `product_category`, `mma`, or `money-market` to this tool. Deposits quote APY (no APR); CDs/share certificates include term. Current + recent data; history is retention-bounded.

輸入參數limitstatemetricproductterm_months

get_deposit_beta

Deposit beta (repricing sensitivity) = change in deposit APY per 100bps change in a benchmark/market rate — the core credit-union/bank ALM & interest-rate-risk (IRR) model input. Pass the MCP field `product` using an exact underscore value such as `money_market`; do not send `product_category`, `mma`, or `money-market`. Derived from RateAPI's retained published deposit-rate history. SHORT-WINDOW / retention-bounded: full-cycle beta needs multi-year history (roadmap) — results ship with an explicit confidence/depth caveat. Deposits quote APY, never APR. Aggregate published rates only — never member/borrower data.

輸入參數statewindowproduct必填group_bybenchmarkterm_months

explain_ranking

Explain WHY each top lender ranked where it did for a financing decision. Takes a full decision scenario (same shape as get_financing_decision) and returns a structured per-offer cost breakdown (rate, points, fees, lifetime interest), scoring signals, how much each offer beats the next by, and a plain-language summary of the ranking weights. Use this when a user asks why one lender beat another.

輸入參數state必填amount必填intent必填term_monthscredit_scoreproduct_typemax_providers

simulate_decision

Run a what-if sweep over a financing decision. Holds a scenario fixed while sweeping one input (credit_score, down_payment_percent, or rate_shift_bps) across a from/to/step range, returning a grid of best_lender / best_apr / monthly_payment at each value plus any flip_points where the winning lender changes. Use this to show how rate eligibility or affordability changes with credit score, down payment, or a market rate shift.

輸入參數sweep必填scenario必填

build_amortization_schedule

Build a year-by-year amortization / payoff schedule for a loan: total lifetime interest, principal/interest split per period, and a what-if extra-payment accelerator showing months saved and interest saved. Resolves the market rate from real credit-union offers when no rate is provided.

輸入參數ratestateloan_amount必填term_months必填credit_scoreproduct_typeschedule_granularityextra_monthly_paymentextra_one_time_payment

compare_total_cost

Apples-to-apples multi-lender ranking by TOTAL cost of a loan (upfront origination/lender fees + lifetime interest over the holding period), not just the headline rate. Re-ranks real credit union offers and flags when the lowest-rate lender is not the cheapest overall.

輸入參數feesstate必填amount必填intentmax_lendersterm_monthscredit_scoreproduct_type必填down_payment_percentholding_period_months

batch_decisions

Score an array of inline financing scenarios in one stateless call; returns ranked decisions and top offers per item — no persisted cohorts, no per-borrower HTTP loops.

輸入參數statescenarios必填credit_scoremax_providers

get_rate_delta

Compare the LIVE market rate distribution now vs ~1/2/4 weeks ago for a product and state. Returns now/then min, median, max, count plus the median and min delta and a direction (down/up/flat). Bounded by data retention — if no comparable historical snapshot exists, then is null with an explanatory note. Use this to show how rates have moved recently.

輸入參數sincestate必填product_type必填

list_rates

List and filter raw rate rows (the core data primitive) by product, state, lender, and term with limit/offset pagination. Boats, RVs, motorcycles, and powersports are first-class product types; auto_loan means cars.

輸入參數sortlimitstatelenderoffsetmax_aprmin_apraudienceterm_monthsloan_programproduct_type

get_rate_history

Historical rate time-series: a date-ranged array of {date, min/median/max APR, count} points per product/state for dashboards, charts, backtests, and timing confidence — bounded by data retention. Differs from get_rate_delta (a single now-vs-then comparison): this returns the full series. Boats, RVs, motorcycles, and powersports are first-class product types; auto_loan means cars. Calls the /v1/rate-history public API (single source of truth).

輸入參數state必填windowintervalproduct_type必填vehicle_condition

assess_buy_timing

Frame a buy/refi-now vs wait recommendation. Combines recent rate movement (direction + magnitude over 1w/2w/4w) with break-even sensitivity on the borrower's loan to return a forward 'lock now' vs 'wait' lean, the bps swing that would change the call, and the cost of waiting. Use for 'should I lock now or wait for rates to drop?' questions. Distinct from get_rate_delta (raw historical deltas only) — this adds a forward recommendation. Not a rate forecast.

輸入參數sincestate必填loan_amount必填term_monthscurrent_rateproduct_type必填closing_costsrate_shift_bps

assess_rate_lock

Lock-window-aware lock-vs-float-down recommendation for a deal already in the pipeline. Given a known lock-expiration date, the currently locked rate, and the float-down cost, returns a defensible hold-lock vs exercise-float-down call a loan officer can document — combining recent market movement (1w/2w/4w) with payment and break-even math on this loan. Builds on the same recent-movement signal as assess_buy_timing but framed around the lock window/expiration. Not a rate forecast.

輸入參數sincestate必填loan_amount必填locked_rate必填term_monthsproduct_type必填float_down_bpsfloat_down_costfloat_down_ratelock_expiration_date必填

check_advice_guardrails

Run compliance/suitability guardrails over a financing scenario and an optional recommendation. Returns flags (red/yellow with code + message) for things like DTI strain, long auto terms with negative-equity risk, possible balloon payments, and stale market data, plus generic disclaimers and an overall verdict (ok/caution/stop). Use this before presenting a rate recommendation to a borrower.

輸入參數scenario必填recommendation

save_cohort

Save a named cohort ("book of business") — a list of borrower scenarios you want to track and re-scan over time. Each member has a label and a scenario (product_type, state, intent, amount, term_months, optional credit_score and current_offer). Returns the created cohort. Use scan_portfolio later to re-price every member against the live market.

輸入參數name必填members必填

list_cohorts

List saved cohorts for the account (newest first). Returns id, name, member count, and last scan time. Keeps the payload small — use get_cohort for full member detail.

無需輸入參數。

get_cohort

Get a single saved cohort by id, including all members and the last scan snapshot (triage list).

輸入參數id必填

delete_cohort

Permanently delete a saved cohort by id. This action cannot be undone.

輸入參數id必填

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.

輸入參數id必填

list_shares

List all hosted shareable report links for the account, newest first. Returns token, scenario_id, client_name, views, last_viewed_at, revoked, created_at, and url for each share. Use this to see view analytics and manage which links are still live.

無需輸入參數。

revoke_share

Revoke a hosted shareable report link by its token. Once revoked, the public URL returns a 404 and no longer exposes the report. This action cannot be undone.

輸入參數token必填

schedule_digest

Set up a recurring digest: on a cadence (default weekly), automatically re-scan a saved cohort and EMAIL the loan officer a triage of which clients have a new opportunity (best lender changed, crossed a threshold). Turns a one-time portfolio scan into a standing operation. Requires a cohort_id (from save_cohort/list_cohorts) and a delivery email.

輸入參數email必填cadencecohort_id必填

list_digests

List the account's scheduled digests (cohort, email, cadence, enabled, last run).

無需輸入參數。

delete_digest

Delete a scheduled digest by id. Stops the recurring email.

輸入參數id必填

set_email_branding

Set the organization's white-label email branding: display name (used as the From name and CAN-SPAM advertiser identity), brand color (#hex), default intro text, business_address (CAN-SPAM physical address — required before a campaign can be activated), and reply_to_email. Requires a Pro plan. (Logo upload is app-only — not available over MCP.)

輸入參數intro_textbrand_colordisplay_namereply_to_emailbusiness_addresslogo_background_color

get_email_branding

Get the organization's current email branding (display name, logo URL, brand color, intro, business address, reply-to).

無需輸入參數。

create_email_campaign

Create a branded rate-email campaign: on a cadence, email the campaign's recipient list the latest rates for one or more states (or a named region preset) under the org's branding, with ONE OR MORE products (1-5, no duplicates). Each product is one of: {category:'mortgage', subtype:'30-year-fixed'|'15-year-fixed'}, {category:'auto', condition:'new'|'used'|'any', term_months?:36|48|60|72|84} (auto = cars only), or {category:'rv'|'boat'|'motorcycle', condition:'new'|'used'|'any'}. Defaults to a single 30-year-fixed mortgage if products is omitted. Created 'paused'; add recipients, then activate via update_email_campaign (activation requires branding display_name + business_address). Requires a Pro plan. Provide exactly one of state_code, state_codes, or region.

輸入參數name必填regioncadenceproductsstate_codestate_codesintro_text_override

list_email_campaigns

List the organization's branded rate-email campaigns (name, criteria, cadence, status, last run).

無需輸入參數。

update_email_campaign

Update a campaign's name, geography, cadence, intro override, products, or status. products (if given) is the full replacement set (1-5, same union as create_email_campaign). Any geography field replaces the campaign's whole state selection. Set status 'active' to start sending (requires branding display_name + business_address) or 'paused' to stop. Provide exactly one of state_code, state_codes, or region.

輸入參數id必填nameregionstatuscadenceproductsstate_codestate_codesintro_text_override

delete_email_campaign

Delete a branded rate-email campaign and its recipients. This cannot be undone.

輸入參數id必填

add_campaign_recipients

Add recipients (email + optional name) to a campaign. Up to 50 per request, 200 per campaign. Duplicate addresses are ignored.

輸入參數id必填recipients必填

remove_campaign_recipient

Remove one recipient from a campaign by recipient id.

輸入參數id必填recipient_id必填

send_test_campaign

Send a one-off test render of a campaign (with live rates and the org's branding) to the organization owner's email. Does not affect the campaign schedule.

輸入參數id必填

send_campaign_now

Send a campaign to ALL of its recipients immediately (one full send, the same path the daily cron uses). The campaign must be active. Honors suppressions and the per-org daily cap, resets the cadence clock (the next scheduled send counts from now), and is guarded against double-fires. Returns { run_id, sent, suppressed, failed }.

輸入參數id必填

subscribe_rate_alert

Subscribe a consumer to an EMAIL rate alert: notify them when the live market meets their target (rate/apr/monthly_payment crossing a threshold). Consent-first — sends a double-opt-in confirmation email; the alert only activates after the recipient confirms. One-click unsubscribe in every email (CAN-SPAM). Stores only email + alert criteria. Provide exactly one of state, states, or region.

輸入參數email必填stateamountintent必填regionstatestarget必填term_monthscredit_scoreproduct_type必填

list_rate_alerts

List the rate alerts subscribed for a given email (status, product, state, intent, target, last notified).

輸入參數email必填

unsubscribe_rate_alert

One-click unsubscribe via the per-alert token embedded in every email.

輸入參數token必填

search_docs

DOCS: search the RateAPI documentation (authentication, rate limits and pricing, coverage, freshness, methodology, eligibility, endpoint map, product parameters, errors, the MCP server itself, and the rules for quoting the data). Use this whenever the question is about the API rather than about a rate — "how do I authenticate?", "what does rate_phase mean?", "which endpoint gives deposit APYs?", "how fresh is this?", "what does it cost?" — instead of guessing at parameters or inventing endpoints. Returns ranked pages with an excerpt; call get_doc for the full text. This tool NEVER returns rates.

輸入參數limitquery必填

get_doc

DOCS: return the full text of one RateAPI documentation page by slug (from search_docs) or by its published URL. Documentation only — it describes the contract, not live rates. Available slugs: quickstart, authentication, rate-limits-and-pricing, coverage, freshness, evidence-and-methodology, quoting-rules, eligibility, endpoints, mcp-server, products-and-parameters, errors-and-troubleshooting, deprecation-policy.

輸入參數urlslug

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 83%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款不適用

    託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。