Real estate deal memo from a US address: AVM, rent, comps, cap rate, cash-on-cash, DSCR, red flags.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <api key> for paid calls ($0.75 memo, $0.10 lookup). Omit and pass sample=true for a free example.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Underwrite a US residential property from its street address for a rental, flip or hold strategy. Pulls the property record (owner, last sale, taxes, HOA), the automated value estimate with sale comps and the long-term rent estimate with rental comps from RentCast, then computes NOI, cap rate, cash-on-cash, DSCR, GRM and break-even occupancy from stated assumptions with deterministic math (plus 70%-rule, profit and ROI for a flip; a multi-year exit projection for a hold), lists red flags with a pass/review/fail screen, and adds a one-paragraph analyst memo. Returns {data, sources, as_of, confidence, notice}. Not financial advice: verify before acting. Paid: $0.75 per call; without credit you get a PAYMENT_REQUIRED result. Set sample=true for a free example response.
Include the one-paragraph memo (cheap model, cached). Default true.
Set true to return an example response at no charge (sample mode). Default false.
Full US street address: number, street, city, state, zip (e.g. 1547 Example Ave, Cleveland, OH 44109). Required unless sample=true.
rental: buy and rent out (NOI, cap rate, cash-on-cash, DSCR). flip: buy, rehab, resell (70% rule, profit, ROI). hold: rental metrics plus a multi-year exit projection (appreciation, principal paydown, equity multiple).
Underwriting assumptions. Every field is optional; omitted fields use the documented defaults.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Underwrite a US residential property from its street address for a rental, flip or hold strategy. Pulls the property record (owner, last sale, taxes, HOA), the automated value estimate with sale comps and the long-term rent estimate with rental comps from RentCast, then computes NOI, cap rate, cash-on-cash, DSCR, GRM and break-even occupancy from stated assumptions with deterministic math (plus 70%-rule, profit and ROI for a flip; a multi-year exit projection for a hold), lists red flags with a pass/review/fail screen, and adds a one-paragraph analyst memo. Returns {data, sources, as_of, confidence, notice}. Not financial advice: verify before acting. Paid: $0.75 per call; without credit you get a PAYMENT_REQUIRED result. Set sample=true for a free example response.
| Argument | Type | Description |
|---|---|---|
| memo | boolean | Include the one-paragraph memo (cheap model, cached). Default true. |
| sample | boolean | Set true to return an example response at no charge (sample mode). Default false. |
| address | string | Full US street address: number, street, city, state, zip (e.g. 1547 Example Ave, Cleveland, OH 44109). Required unless sample=true. |
| strategy | string | rental: buy and rent out (NOI, cap rate, cash-on-cash, DSCR). flip: buy, rehab, resell (70% rule, profit, ROI). hold: rental metrics plus a multi-year exit projection (appreciation, principal paydown, equity multiple). |
| assumptions | object | Underwriting assumptions. Every field is optional; omitted fields use the documented defaults. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"memo": {
"type": "boolean",
"default": true,
"description": "Include the one-paragraph memo (cheap model, cached). Default true."
},
"sample": {
"type": "boolean",
"default": false,
"description": "Set true to return an example response at no charge (sample mode). Default false."
},
"address": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Full US street address: number, street, city, state, zip (e.g. 1547 Example Ave, Cleveland, OH 44109). Required unless sample=true."
},
"strategy": {
"enum": [
"rental",
"flip",
"hold"
],
"type": "string",
"default": "rental",
"description": "rental: buy and rent out (NOI, cap rate, cash-on-cash, DSCR). flip: buy, rehab, resell (70% rule, profit, ROI). hold: rental metrics plus a multi-year exit projection (appreciation, principal paydown, equity multiple)."
},
"assumptions": {
"type": "object",
"properties": {
"arv": {
"type": "number",
"description": "After-repair value in USD (flip). Default: the RentCast value estimate.",
"exclusiveMinimum": 0
},
"capex_pct": {
"type": "number",
"maximum": 0.3,
"minimum": 0,
"description": "Capital reserves as a fraction of gross rent. Default 0.05."
},
"hold_years": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Years held before sale (hold). Default 5."
},
"hoa_monthly": {
"type": "number",
"minimum": 0,
"description": "Monthly HOA dues in USD. Default: RentCast HOA fee, else 0."
},
"vacancy_pct": {
"type": "number",
"maximum": 0.5,
"minimum": 0,
"description": "Vacancy and credit loss as a fraction of gross rent. Default 0.05."
},
"monthly_rent": {
"type": "number",
"description": "Expected monthly rent in USD. Default: the RentCast long-term rent estimate.",
"exclusiveMinimum": 0
},
"rehab_budget": {
"type": "number",
"minimum": 0,
"description": "Renovation budget in USD, paid in cash at purchase. Default 0."
},
"interest_rate": {
"type": "number",
"maximum": 0.3,
"minimum": 0,
"description": "Annual note rate as a fraction, e.g. 0.07. Default 0.07."
},
"holding_months": {
"type": "integer",
"maximum": 36,
"minimum": 1,
"description": "Months from purchase to resale (flip). Default 6."
},
"management_pct": {
"type": "number",
"maximum": 0.3,
"minimum": 0,
"description": "Property management as a fraction of gross rent. Default 0.08."
},
"purchase_price": {
"type": "number",
"description": "Offer or purchase price in USD. Default: the RentCast value estimate (AVM).",
"exclusiveMinimum": 0
},
"loan_term_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Default 30."
},
"maintenance_pct": {
"type": "number",
"maximum": 0.3,
"minimum": 0,
"description": "Repairs as a fraction of gross rent. Default 0.05."
},
"rent_growth_pct": {
"type": "number",
"maximum": 0.3,
"minimum": -0.2,
"description": "Annual rent growth (hold). Default 0.02."
},
"appreciation_pct": {
"type": "number",
"maximum": 0.3,
"minimum": -0.2,
"description": "Annual value growth (hold). Default 0.03."
},
"down_payment_pct": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Down payment as a fraction of price. Default 0.25. 1 = all cash."
},
"insurance_annual": {
"type": "number",
"minimum": 0,
"description": "Annual landlord insurance in USD. Default 0.5% of price."
},
"closing_costs_pct": {
"type": "number",
"maximum": 0.15,
"minimum": 0,
"description": "Buyer closing costs as a fraction of price. Default 0.03."
},
"selling_costs_pct": {
"type": "number",
"maximum": 0.15,
"minimum": 0,
"description": "Commissions and closing at sale as a fraction of sale price. Default 0.06."
},
"property_tax_annual": {
"type": "number",
"minimum": 0,
"description": "Annual property tax in USD. Default: latest RentCast tax record, else 1.1% of price."
}
},
"description": "Underwriting assumptions. Every field is optional; omitted fields use the documented defaults."
}
},
"additionalProperties": false
}Fetch one RentCast record for a US street address. kind=property: characteristics, owner, last sale, tax bill, assessment, HOA and sale history. kind=value: automated value estimate with a low/high range and the sale comps behind it. kind=rent: long-term rent estimate with a range and rental comps. One upstream call per lookup; use realestate_deal_memo when you need all three plus the underwriting. Returns {data, sources, as_of, confidence, notice}. Paid: $0.10 per call; without credit you get a PAYMENT_REQUIRED result. Set sample=true for a free example response.
| Argument | Type | Description |
|---|---|---|
| kind | string | property: characteristics, owner, last sale, taxes, HOA. value: automated value estimate with range and sale comps. rent: long-term rent estimate with range and rental comps. |
| sample | boolean | Set true to return an example response at no charge (sample mode). Default false. |
| address | string | Full US street address: number, street, city, state, zip (e.g. 1547 Example Ave, Cleveland, OH 44109). Required unless sample=true. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"kind": {
"enum": [
"property",
"value",
"rent"
],
"type": "string",
"default": "property",
"description": "property: characteristics, owner, last sale, taxes, HOA. value: automated value estimate with range and sale comps. rent: long-term rent estimate with range and rental comps."
},
"sample": {
"type": "boolean",
"default": false,
"description": "Set true to return an example response at no charge (sample mode). Default false."
},
"address": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Full US street address: number, street, city, state, zip (e.g. 1547 Example Ave, Cleveland, OH 44109). Required unless sample=true."
}
},
"additionalProperties": false
}