Skip to content

TerraVue

by terravue.app · remote · no sign-in to list tools · v1.0.0 · published by app.terravue

Analyze any US home: buy vs rent Monte Carlo, affordability, and ZIP-level appreciation data.

Changes · 4

6 tools: 4 change things and 2 only read.

Scanned Oct 21, 2026

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

claude mcp add --transport http terravue https://api.terravue.app/mcp

Tools

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

6 tools

Changes things 4Claude Code: ask
  • affordabilityCan this buyer afford this home?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
    Can this buyer afford this home? Returns the monthly PITI payment, front-end and back-end debt-to-income ratios (what a lender qualifies on), the income needed at a 28% front-end ratio, estimated after-tax money left over each month, the cash cushion left after closing, and a plain Comfortable / Qualifiable-tight / Stretch verdict. monthly_debts = recurring debt obligations a lender counts (car, student loan, minimum credit-card) — NOT living costs; this feeds DTI. monthly_expenses = living costs (food, utilities, childcare) used ONLY for the 'left over each month' life check, never DTI. Pass `address` to ground property tax + insurance in the ZIP's real rates. Pass `liquid_savings` to get the post-closing cash cushion (months of payment covered).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • affordable_priceWhat's the most this buyer can afford?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
    What's the most this buyer can afford? The reverse of `affordability` — 'what price can I afford?' instead of 'can I afford this specific home?'. Solves for the maximum home price under standard lender limits: a front-end DTI cap (default 28% = housing / gross income) and a back-end cap (default 36% = housing + other debts / gross income). If `liquid_savings` is given, also caps by the cash available for down payment + closing and reports which limit binds. Returns the affordable price, the PITI and DTIs at that price, and the cash to close. Pass `address` to ground property tax + insurance in the ZIP's real rates. This is a lender-limit ceiling, not a comfort recommendation — feed the result into `affordability` (or buy_vs_rent) to check monthly slack and whether buying pencils.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • buy_vs_rentShould someone buy this home or keep renting?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
    Should someone buy this home or keep renting? Runs the TerraVue engine: a deterministic 30-year simulation plus a 500-scenario Monte Carlo over correlated market paths. Returns the probability buying wins, the breakeven hold period, and net-worth outcomes. monthly_rent = what the person would pay to rent THE SAME HOME to live in — an owner-occupant buy-vs-rent decision, NOT rental income they'd collect as a landlord (this tool does not model rental cash flow; that lens lives on terravue.app). A rent far out of line with home_price is almost certainly a misunderstanding — confirm it before trusting the verdict. If `address` is given, the ZIP's real appreciation forecast and regional tax/insurance defaults are used (explicit parameters still win).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • request_capabilityRecord a question TerraVue could not answer, so it can be built.No findings

    Why it is in this group

    • The name "request_capability" says "request": a word for a change.
    Description, as the server wrote it
    Record a question TerraVue could not answer, so it can be built. Call this whenever a user asks for something outside the current tools' coverage (rental metrics, Airbnb modeling, valuations, move-vs-stay, non-US, anything else), then tell the user their request was captured. Keep `description` to the capability needed — no names, emails, or other personal details. category: rental_metrics | str_airbnb | valuation | move_vs_stay | data_coverage | other

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 2Claude Code: allow
  • analyze_addressLook up a US address (or bare 5-digit ZIP): ZIP-level home-price appreciation forecast (FHFA data back to 1975), estimated market rent, and neighborhood signals (schools, walkabili…No findings

    Why it is in this group

    • The name "analyze_address" says "analyze": a word for reading.
    Description, as the server wrote it
    Look up a US address (or bare 5-digit ZIP): ZIP-level home-price appreciation forecast (FHFA data back to 1975), estimated market rent, and neighborhood signals (schools, walkability, water quality, grocery/dining/outdoors proximity). For a full street address this also returns sub-ZIP `nbhd*` fields describing the specific census tract - how its prices, incomes and build era compare to the rest of the ZIP. That is POSITION, not a neighborhood forecast; see _units. property_type: sfr | condo | townhome | multi

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • compare_areasAnalyze and RANK 2-12 ZIPs or addresses side by side on the signals TerraVue has: home-price appreciation forecast (and how each compares to the national average), school rating, w…No findings

    Why it is in this group

    • The name "compare_areas" says "compare": a word for reading.
    Description, as the server wrote it
    Analyze and RANK 2-12 ZIPs or addresses side by side on the signals TerraVue has: home-price appreciation forecast (and how each compares to the national average), school rating, walkability, education level, and water quality. Returns the correct city name per ZIP, so locations are never guessed or mislabeled. Use for "which areas have the best appreciation / schools / upside." TerraVue has no listing inventory and cannot discover ZIPs on its own — to scan a metro, pass that metro's ZIP codes (the ranking then covers exactly what you passed).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: 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 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http terravue https://api.terravue.app/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__terravue__analyze_address",
      "mcp__terravue__compare_areas"
    ],
    "ask": [
      "mcp__terravue__request_capability",
      "mcp__terravue__buy_vs_rent",
      "mcp__terravue__affordability",
      "mcp__terravue__affordable_price"
    ],
    "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 terravue. Review it before you use it.