# com.candidcost/mcp (remote · candidcost.com)

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

- Trust score: 75/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `candidcost.com`: 75/100 (this document), [markdown](https://verifymcp.io/servers/com-candidcost-mcp/api-mcp.md), [page](https://verifymcp.io/servers/com-candidcost-mcp/api-mcp)

## Channel facts

- Endpoint: `https://candidcost.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2004 tokens (~200/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

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

### Codex

```toml
[mcp_servers.com-candidcost-mcp]
url = "https://candidcost.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-candidcost-mcp": {
      "type": "remote",
      "url": "https://candidcost.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-candidcost-mcp --url https://candidcost.com/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-candidcost-mcp:
    url: "https://candidcost.com/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-candidcost-mcp": {
      "type": "http",
      "url": "https://candidcost.com/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 73, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-29 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 68, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 67)

First indexed and scored.

## MCP tools (10)

### `true_cost_estimate` (~384 tokens)

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.

Input parameters:

- `county` (string): 5-digit county FIPS code. When provided and its Census county rate is available, it takes priority over the state rate (more accurate).
- `downPaymentPct` (number): Down payment as a percent of price (0–100)
- `hoaMonthly` (number): Monthly HOA dues, US dollars
- `homePrice` (number, required): Home price in US dollars
- `homeYearBuilt` (integer): Year the home was built. Scales the maintenance reserve by age band: ×1.5 pre-1980, ×1.2 1980–2005, ×1.0 2006+.
- `insuranceAnnual` (number): Annual homeowners insurance premium, US dollars
- `maintenanceRatePct` (number): Annual maintenance reserve, % of home value (baseline before age adjustment)
- `pmiAnnualRatePct` (number): Annual PMI rate, % of loan, applied while LTV > 80%
- `propertyTaxRatePct` (number): Annual property tax rate, % of value. Overrides county/state-derived rates when supplied.
- `rateAnnualPct` (number): Annual interest rate percent, e.g. 6.5
- `state` (string): Two-letter US state code (e.g. "NJ"). When provided and propertyTaxRatePct is omitted, the Census ACS effective property-tax rate for that state is used.
- `termYears` (integer): Loan term in years (default 30)

### `affordability_estimate` (~226 tokens)

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.

Input parameters:

- `backEndLimitPct` (number): Total DTI ceiling percent (default 36)
- `downPayment` (number): Down payment available, US dollars
- `frontEndLimitPct` (number): Housing DTI ceiling percent (default 28)
- `grossMonthlyIncome` (number, required): Gross monthly income, US dollars
- `insuranceAnnual` (number): Annual homeowners insurance premium, US dollars
- `monthlyDebts` (number): Recurring monthly debt payments (cards, autos, student loans), US dollars
- `propertyTaxRatePct` (number): Annual property tax rate, % of value
- `rateAnnualPct` (number): Annual interest rate percent
- `termYears` (integer): Loan term in years (default 30)

### `fee_benchmarks` (~150 tokens)

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.

Input parameters:

- `metric` (string): One of: total_loan_costs, origination_charges, rate_spread, interest_rate. Omit to return all metrics.
- `state` (string, required): Two-letter US state code, e.g. "MA"

### `benchmark_rates` (~52 tokens)

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.

### `search_dpa_programs` (~95 tokens)

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.

Input parameters:

- `buyer` (string): Buyer type filter, e.g. "first-time", "veteran", "rural", "teacher"
- `state` (string): Two-letter US state code to filter by

### `decode_loan_estimate_fee` (~88 tokens)

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.

Input parameters:

- `fee` (string): Fee name or keyword, e.g. "origination", "title"

### `payment_shock_estimate` (~250 tokens)

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.

Input parameters:

- `county` (string): 5-digit county FIPS; its Census effective rate takes priority over the state rate
- `insuranceAnnual` (number): Annual homeowners insurance, US dollars
- `purchasePrice` (number, required): Purchase price in US dollars
- `reassessRatePct` (number): Effective annual property-tax rate at reassessment, %. Overrides county/state.
- `sellersCurrentAnnualTax` (number, required): Seller's current annual property tax in US dollars (from the listing)
- `state` (string): Two-letter US state code for the reassessment rate

### `pressure_check` (~249 tokens)

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.

Input parameters:

- `downPaymentPct` (number): Down payment as a percent of price (0–100); splits the overpay into cash-at-close vs. financed
- `earnestMoney` (number, required): Earnest money at risk if you walk away after removing contingencies, US dollars
- `overpay` (number, required): How much over your walk-away price the pressure would push you to pay, US dollars
- `rateAnnualPct` (number): Annual interest rate percent, e.g. 6.5
- `termYears` (integer): Loan term in years (default 30)

### `rent_vs_buy_estimate` (~368 tokens)

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.

Input parameters:

- `annualAppreciationPct` (number): Assumed annual home-price appreciation percent
- `annualRentIncreasePct` (number): Assumed annual rent increase percent
- `closingCostPct` (number): Upfront buy-side closing costs, % of price
- `downPaymentPct` (number): Down payment as a percent of price
- `hoaMonthly` (number): Monthly HOA dues, US dollars
- `holdingYears` (integer): How many years you plan to stay before selling
- `homePrice` (number, required): Home price in US dollars
- `insuranceAnnual` (number): Annual homeowners insurance, US dollars
- `investmentReturnPct` (number): Assumed annual return a renter earns on invested cash percent
- `maintenanceRatePct` (number): Annual maintenance reserve, % of home value
- `monthlyRent` (number, required): Comparable monthly rent in US dollars
- `propertyTaxRatePct` (number): Annual property tax rate, % of value
- `rateAnnualPct` (number): Annual interest rate percent
- `sellingCostPct` (number): Selling costs at exit, % of future value
- `termYears` (integer): Loan term in years

### `verify_receipt` (~73 tokens)

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.

Input parameters:

- `hash` (string, required): The receipt content hash to verify

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-candidcost-mcp/api-mcp#diagnostics

## Score history

- 2026-08-03: 75
- 2026-08-02: 74
- 2026-08-01: 74
- 2026-07-31: 73
- 2026-07-30: 70
- 2026-07-29: 69
- 2026-07-28: 68
- 2026-07-27: 68
- 2026-07-26: 67

## Links

- Remote endpoint: https://candidcost.com/api/mcp
- Repository: https://github.com/RCOLKITT/candidcost
- Website: https://candidcost.com/for-agents
- Changelog RSS feed: https://verifymcp.io/servers/com-candidcost-mcp/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-candidcost-mcp/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-candidcost-mcp/api-mcp
