Skip to content

com.candidcost/mcp

by candidcost.com · remote · no sign-in to list tools · v2.0.0 · published by com.candidcost

Cited, receipt-backed US home-buying data & calculators — education-only, every number sourced.

Final · 1Changes · 5

10 tools: 1 do something that can't be undone, 5 change things and 4 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http candidcost https://candidcost.com/api/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "payment_shock_estimate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "payment_shock_estimate" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Can't be undone 1Claude Code: ask
  • payment_shock_estimateEstimate why a mortgage payment often jumps in year two: escrow at closing is sized from the seller's current tax bill, but the county reassesses at your purchase price, and RESPA …1 finding

    Why it is in this group

    • The name "payment_shock_estimate" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "payment_shock_estimate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "payment_shock_estimate" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Estimate why a mortgage payment often jumps in year two: escrow at closing is sized from the seller's current tax bill, but the county reassesses at your purchase price, and RESPA spreads the resulting escrow shortage over 12 months. Given the purchase price, the seller's current annual tax (from the listing), a state (or county FIPS) for the reassessment rate, and insurance, returns the year-1 escrow, the year-2 ongoing escrow, the temporary catch-up peak, and the jump. Money is integer cents. This decomposes the mechanics; it is not a prediction of your specific bill.

    Annotations the server declares

    • title: Year-2 Property-Tax Payment-Shock Estimate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
Changes things 5Claude Code: ask
  • affordability_estimateCompute front-end (housing) and back-end (total debt) DTI budgets from income and debts, and the home price implied by the binding limit.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Compute front-end (housing) and back-end (total debt) DTI budgets from income and debts, and the home price implied by the binding limit. Reports the standard 28/36 thresholds without ever telling the user what they "can afford". Dollar inputs are US dollars; money in the response is integer cents.

    Annotations the server declares

    • title: Affordability / DTI Estimate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • decode_loan_estimate_feeClassify a mortgage Loan Estimate fee by CFPB section and control class (set by lender, shoppable, third-party, government, or prepaid), with a plain-language explanation and an ed…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Classify a mortgage Loan Estimate fee by CFPB section and control class (set by lender, shoppable, third-party, government, or prepaid), with a plain-language explanation and an educational question a buyer could ask. Omit "fee" to list the full catalog.

    Annotations the server declares

    • title: Decode a Loan Estimate Fee
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • pressure_checkDecompose the tradeoff a rushed buyer faces: the earnest money at risk by walking away versus what overpaying to "win" costs over the life of the loan.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Decompose the tradeoff a rushed buyer faces: the earnest money at risk by walking away versus what overpaying to "win" costs over the life of the loan. Given the earnest money at risk, the overpay amount over your walk-away price, down-payment percent, rate, and term, returns the cash and financed shares of the overpay, the extra monthly P&I, the lifetime cost of overpaying, and its ratio to the earnest money. Money is integer cents. Educational decomposition — it names the two numbers so they can be compared; it never tells the user to walk or stay.

    Annotations the server declares

    • title: Pressure Check — Walk-Away Math
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • true_cost_estimateEstimate the full monthly cost of owning a home — principal & interest, property tax, insurance, PMI, HOA, and maintenance — and contrast it with the lender "approval" payment (PIT…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate the full monthly cost of owning a home — principal & interest, property tax, insurance, PMI, HOA, and maintenance — and contrast it with the lender "approval" payment (PITI+PMI) to reveal the hidden monthly gap. Dollar inputs are US dollars; all money in the response is integer cents; rates are fixed-precision percent strings.

    Annotations the server declares

    • title: True Cost of Ownership Estimate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • verify_receiptVerify a CandidCost ledger receipt hash (full sha256 or short "3f9a…c21e" form).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Verify a CandidCost ledger receipt hash (full sha256 or short "3f9a…c21e" form). Confirms the receipt exists and that its dataset hash chain is intact, proving the underlying data has not been altered since ingestion.

    Annotations the server declares

    • title: Verify a Data Receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
Only reads 4Claude Code: allow
  • benchmark_ratesReturn the latest benchmark mortgage rates (e.g.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return the latest benchmark mortgage rates (e.g. 30-year and 15-year fixed) from the Federal Reserve (FRED), each with its observation date and ledger receipt. Rates are fixed-precision percent strings.

    Annotations the server declares

    • title: Current Benchmark Mortgage Rates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • fee_benchmarksReturn closing-cost and rate-spread percentile distributions (p25/p50/p75 + mean) for a US state, computed from the row-level CFPB HMDA LAR for originated, first-lien, home-purchas…No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return closing-cost and rate-spread percentile distributions (p25/p50/p75 + mean) for a US state, computed from the row-level CFPB HMDA LAR for originated, first-lien, home-purchase loans. Cells with fewer than 25 records are suppressed. Dollar metrics are integer cents (…Cents); percent metrics are fixed-precision strings (…Pct). Each distribution carries a ledger receipt hash for verification.

    Annotations the server declares

    • title: HMDA Fee & Rate-Spread Benchmarks
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • rent_vs_buy_estimateCompare the net cost of owning against renting over a holding period and find the break-even year.No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare the net cost of owning against renting over a holding period and find the break-even year. Owning nets upfront cash and recurring carrying costs against sale proceeds (appreciated value − selling costs − remaining loan); renting nets rent paid against the investment gain on the cash a buyer would tie up. Dollar inputs are US dollars; money in the response is integer cents. Appreciation, rent growth, and investment return are user-set assumptions. Tax deductions are excluded (documented simplification). Educational decomposition — it reports both net costs and the break-even year; it never says rent or buy.

    Annotations the server declares

    • title: Rent vs. Buy Net-Cost Estimate
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • search_dpa_programsFind down payment assistance (DPA) programs by US state and/or buyer type.No findings

    Why it is in this group

    • The name "search_dpa_programs" says "search": a word for reading.
    Description, as the server wrote it
    Find down payment assistance (DPA) programs by US state and/or buyer type. Includes national programs. Each result links to its official government source and carries a ledger receipt and last-verified date.

    Annotations the server declares

    • title: Search Down Payment Assistance Programs
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http candidcost https://candidcost.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__candidcost__fee_benchmarks",
      "mcp__candidcost__benchmark_rates",
      "mcp__candidcost__search_dpa_programs",
      "mcp__candidcost__rent_vs_buy_estimate"
    ],
    "ask": [
      "mcp__candidcost__true_cost_estimate",
      "mcp__candidcost__affordability_estimate",
      "mcp__candidcost__decode_loan_estimate_fee",
      "mcp__candidcost__payment_shock_estimate",
      "mcp__candidcost__pressure_check",
      "mcp__candidcost__verify_receipt"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as candidcost. Review it before you use it.