Deal Memo MCP
An MCP server that performs real estate underwriting for US residential properties. It accepts an address and strategy to generate automated value estimates, rent projections, comps, cap rates, cash-on-cash returns, DSCR, and red flags, outputting a one-paragraph analyst memo based on RentCast data.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://agentwares-deal-memo.vercel.app/api/mcpWhat its tools do
2 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Can change data (2)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Underwrite a US residential property for rental, flip, or hold strategies
- Fetch automated value estimates with sale comps from RentCast
- Generate long-term rent estimates with rental comps
- Calculate NOI, cap rate, cash-on-cash, and DSCR from stated assumptions
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- deal-memo 0.1.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 2 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"logging": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
2 advertised
realestate_deal_memo — Deal memo
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.
{
"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
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data",
"sources",
"as_of",
"confidence",
"notice",
"sample"
],
"properties": {
"data": {
"type": "object",
"required": [
"address",
"strategy",
"property",
"owner",
"avm",
"rent_estimate",
"comps",
"rent_comps",
"cap_rate",
"cash_on_cash",
"dscr",
"red_flags",
"underwriting",
"memo",
"memo_status"
],
"properties": {
"avm": {
"type": "object",
"required": [
"value",
"range"
],
"properties": {
"range": {
"type": "object",
"required": [
"low",
"high"
],
"properties": {
"low": {
"type": "number"
},
"high": {
"type": "number"
}
},
"additionalProperties": false
},
"value": {
"type": "number"
}
},
"additionalProperties": false
},
"dscr": {
"type": [
"number",
"null"
]
},
"memo": {
"type": [
"string",
"null"
],
"description": "one-paragraph analyst memo"
},
"comps": {
"type": "array",
"items": {
"type": "object",
"required": [
"address",
"price",
"bedrooms",
"bathrooms",
"square_footage",
"year_built",
"property_type",
"distance_miles",
"days_old",
"correlation",
"listing_type",
"status"
],
"properties": {
"price": {
"type": "number",
"description": "sale price for value comps; monthly rent for rent comps"
},
"status": {
"type": [
"string",
"null"
]
},
"address": {
"type": "string"
},
"bedrooms": {
"type": [
"number",
"null"
]
},
"days_old": {
"type": [
"number",
"null"
],
"description": "days since the comp was last seen on market"
},
"bathrooms": {
"type": [
"number",
"null"
]
},
"year_built": {
"type": [
"number",
"null"
]
},
"correlation": {
"type": [
"number",
"null"
],
"description": "RentCast similarity 0..1"
},
"listing_type": {
"type": [
"string",
"null"
]
},
"property_type": {
"type": [
"string",
"null"
]
},
"distance_miles": {
"type": [
"number",
"null"
]
},
"square_footage": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
"description": "sale comps behind the value estimate, best match first"
},
"owner": {
"anyOf": [
{
"type": "object",
"required": [
"names",
"type",
"occupied",
"mailing_address"
],
"properties": {
"type": {
"type": [
"string",
"null"
],
"description": "Individual or Organization"
},
"names": {
"type": "array",
"items": {
"type": "string"
}
},
"occupied": {
"type": [
"boolean",
"null"
]
},
"mailing_address": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"address": {
"type": "string"
},
"cap_rate": {
"type": "number"
},
"property": {
"type": "object",
"required": [
"rentcast_id",
"address",
"location",
"property_type",
"bedrooms",
"bathrooms",
"square_footage",
"lot_size_sqft",
"year_built",
"zoning",
"hoa_monthly",
"last_sale",
"tax",
"assessment",
"owner",
"history"
],
"properties": {
"tax": {
"anyOf": [
{
"type": "object",
"required": [
"year",
"annual_total"
],
"properties": {
"year": {
"type": "number"
},
"annual_total": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"owner": {
"anyOf": [
{
"type": "object",
"required": [
"names",
"type",
"occupied",
"mailing_address"
],
"properties": {
"type": {
"type": [
"string",
"null"
],
"description": "Individual or Organization"
},
"names": {
"type": "array",
"items": {
"type": "string"
}
},
"occupied": {
"type": [
"boolean",
"null"
]
},
"mailing_address": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"zoning": {
"type": [
"string",
"null"
]
},
"address": {
"type": "object",
"required": [
"formatted",
"line1",
"city",
"state",
"zip",
"county"
],
"properties": {
"zip": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"line1": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"county": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": "string"
}
},
"additionalProperties": false
},
"history": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"event",
"price"
],
"properties": {
"date": {
"type": "string"
},
"event": {
"type": "string"
},
"price": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
}
},
"bedrooms": {
"type": [
"number",
"null"
]
},
"location": {
"anyOf": [
{
"type": "object",
"required": [
"latitude",
"longitude"
],
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"bathrooms": {
"type": [
"number",
"null"
]
},
"last_sale": {
"anyOf": [
{
"type": "object",
"required": [
"date",
"price"
],
"properties": {
"date": {
"type": "string"
},
"price": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"assessment": {
"anyOf": [
{
"type": "object",
"required": [
"year",
"value",
"land",
"improvements"
],
"properties": {
"land": {
"type": [
"number",
"null"
]
},
"year": {
"type": "number"
},
"value": {
"type": "number"
},
"improvements": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"year_built": {
"type": [
"number",
"null"
]
},
"hoa_monthly": {
"type": [
"number",
"null"
]
},
"rentcast_id": {
"type": "string"
},
"lot_size_sqft": {
"type": [
"number",
"null"
]
},
"property_type": {
"type": [
"string",
"null"
]
},
"square_footage": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
"strategy": {
"enum": [
"rental",
"flip",
"hold"
],
"type": "string",
"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)."
},
"red_flags": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"severity",
"detail"
],
"properties": {
"code": {
"type": "string"
},
"detail": {
"type": "string"
},
"severity": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"rent_comps": {
"type": "array",
"items": {
"type": "object",
"required": [
"address",
"price",
"bedrooms",
"bathrooms",
"square_footage",
"year_built",
"property_type",
"distance_miles",
"days_old",
"correlation",
"listing_type",
"status"
],
"properties": {
"price": {
"type": "number",
"description": "sale price for value comps; monthly rent for rent comps"
},
"status": {
"type": [
"string",
"null"
]
},
"address": {
"type": "string"
},
"bedrooms": {
"type": [
"number",
"null"
]
},
"days_old": {
"type": [
"number",
"null"
],
"description": "days since the comp was last seen on market"
},
"bathrooms": {
"type": [
"number",
"null"
]
},
"year_built": {
"type": [
"number",
"null"
]
},
"correlation": {
"type": [
"number",
"null"
],
"description": "RentCast similarity 0..1"
},
"listing_type": {
"type": [
"string",
"null"
]
},
"property_type": {
"type": [
"string",
"null"
]
},
"distance_miles": {
"type": [
"number",
"null"
]
},
"square_footage": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
"description": "rental comps behind the rent estimate"
},
"memo_status": {
"type": "object",
"required": [
"status",
"model",
"cost_usd",
"reason"
],
"properties": {
"model": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"generated",
"cached",
"template",
"skipped"
],
"type": "string",
"description": "generated: fresh LLM paragraph; cached: identical request served from the LLM cache; template: deterministic paragraph (sample mode, LLM disabled or LLM error); skipped: memo=false"
},
"cost_usd": {
"type": "number"
}
},
"additionalProperties": false
},
"cash_on_cash": {
"type": [
"number",
"null"
]
},
"underwriting": {
"type": "object",
"required": [
"strategy",
"inputs",
"income",
"expenses",
"noi",
"financing",
"cash_invested",
"metrics",
"flip",
"hold",
"red_flags",
"screen"
],
"properties": {
"noi": {
"type": "number"
},
"flip": {
"anyOf": [
{
"type": "object",
"required": [
"arv",
"max_offer_70_rule",
"passes_70_rule",
"holding_costs",
"selling_costs",
"total_cost",
"profit",
"cash_in_deal",
"roi_on_cash",
"annualized_roi"
],
"properties": {
"arv": {
"type": "number"
},
"profit": {
"type": "number"
},
"total_cost": {
"type": "number"
},
"roi_on_cash": {
"type": [
"number",
"null"
]
},
"cash_in_deal": {
"type": "number"
},
"holding_costs": {
"type": "number"
},
"selling_costs": {
"type": "number"
},
"annualized_roi": {
"type": [
"number",
"null"
]
},
"passes_70_rule": {
"type": "boolean"
},
"max_offer_70_rule": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"hold": {
"anyOf": [
{
"type": "object",
"required": [
"years",
"projected_value",
"remaining_loan_balance",
"equity_at_exit",
"cumulative_cash_flow",
"total_profit",
"equity_multiple",
"annualized_return"
],
"properties": {
"years": {
"type": "number"
},
"total_profit": {
"type": "number"
},
"equity_at_exit": {
"type": "number"
},
"equity_multiple": {
"type": [
"number",
"null"
]
},
"projected_value": {
"type": "number"
},
"annualized_return": {
"type": [
"number",
"null"
]
},
"cumulative_cash_flow": {
"type": "number"
},
"remaining_loan_balance": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"income": {
"type": "object",
"required": [
"gross_scheduled_rent",
"vacancy_loss",
"effective_gross_income"
],
"properties": {
"vacancy_loss": {
"type": "number"
},
"gross_scheduled_rent": {
"type": "number"
},
"effective_gross_income": {
"type": "number"
}
},
"additionalProperties": false
},
"inputs": {
"type": "object",
"required": [
"purchase_price",
"monthly_rent",
"down_payment_pct",
"interest_rate",
"loan_term_years",
"closing_costs_pct",
"vacancy_pct",
"management_pct",
"maintenance_pct",
"capex_pct",
"insurance_annual",
"property_tax_annual",
"hoa_monthly",
"rehab_budget",
"arv",
"holding_months",
"selling_costs_pct",
"appreciation_pct",
"rent_growth_pct",
"hold_years",
"defaults_used"
],
"properties": {
"arv": {
"type": "number"
},
"capex_pct": {
"type": "number"
},
"hold_years": {
"type": "number"
},
"hoa_monthly": {
"type": "number"
},
"vacancy_pct": {
"type": "number"
},
"monthly_rent": {
"type": "number"
},
"rehab_budget": {
"type": "number"
},
"defaults_used": {
"type": "array",
"items": {
"type": "string"
}
},
"interest_rate": {
"type": "number"
},
"holding_months": {
"type": "number"
},
"management_pct": {
"type": "number"
},
"purchase_price": {
"type": "number"
},
"loan_term_years": {
"type": "number"
},
"maintenance_pct": {
"type": "number"
},
"rent_growth_pct": {
"type": "number"
},
"appreciation_pct": {
"type": "number"
},
"down_payment_pct": {
"type": "number"
},
"insurance_annual": {
"type": "number"
},
"closing_costs_pct": {
"type": "number"
},
"selling_costs_pct": {
"type": "number"
},
"property_tax_annual": {
"type": "number"
}
},
"additionalProperties": false
},
"screen": {
"type": "object",
"required": [
"result",
"rule"
],
"properties": {
"rule": {
"type": "string"
},
"result": {
"enum": [
"pass",
"review",
"fail"
],
"type": "string"
}
},
"additionalProperties": false
},
"metrics": {
"type": "object",
"required": [
"cap_rate",
"cash_on_cash",
"dscr",
"grm",
"rent_to_price",
"break_even_occupancy",
"annual_cash_flow",
"monthly_cash_flow"
],
"properties": {
"grm": {
"type": "number"
},
"dscr": {
"type": [
"number",
"null"
],
"description": "null when all cash"
},
"cap_rate": {
"type": "number"
},
"cash_on_cash": {
"type": [
"number",
"null"
],
"description": "null when no cash is invested"
},
"rent_to_price": {
"type": "number"
},
"annual_cash_flow": {
"type": "number"
},
"monthly_cash_flow": {
"type": "number"
},
"break_even_occupancy": {
"type": "number"
}
},
"additionalProperties": false
},
"expenses": {
"type": "object",
"required": [
"property_tax",
"insurance",
"hoa",
"management",
"maintenance",
"capex",
"total_operating"
],
"properties": {
"hoa": {
"type": "number"
},
"capex": {
"type": "number"
},
"insurance": {
"type": "number"
},
"management": {
"type": "number"
},
"maintenance": {
"type": "number"
},
"property_tax": {
"type": "number"
},
"total_operating": {
"type": "number"
}
},
"additionalProperties": false
},
"strategy": {
"enum": [
"rental",
"flip",
"hold"
],
"type": "string",
"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)."
},
"financing": {
"anyOf": [
{
"type": "object",
"required": [
"loan_amount",
"ltv",
"monthly_payment",
"annual_debt_service"
],
"properties": {
"ltv": {
"type": "number"
},
"loan_amount": {
"type": "number"
},
"monthly_payment": {
"type": "number"
},
"annual_debt_service": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "null when all cash"
},
"red_flags": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"severity",
"detail"
],
"properties": {
"code": {
"type": "string"
},
"detail": {
"type": "string"
},
"severity": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"cash_invested": {
"type": "object",
"required": [
"down_payment",
"closing_costs",
"rehab",
"total"
],
"properties": {
"rehab": {
"type": "number"
},
"total": {
"type": "number"
},
"down_payment": {
"type": "number"
},
"closing_costs": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"rent_estimate": {
"type": "object",
"required": [
"monthly_rent",
"range"
],
"properties": {
"range": {
"type": "object",
"required": [
"low",
"high"
],
"properties": {
"low": {
"type": "number"
},
"high": {
"type": "number"
}
},
"additionalProperties": false
},
"monthly_rent": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"as_of": {
"type": "string",
"description": "ISO time of the oldest upstream data point in this response"
},
"notice": {
"type": "string",
"description": "liability disclaimer; always present"
},
"sample": {
"type": "boolean",
"description": "true when this is the free example, not a live lookup"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"endpoint",
"url",
"fetched_at",
"cached"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string",
"const": "RentCast"
},
"cached": {
"type": "boolean"
},
"endpoint": {
"type": "string"
},
"fetched_at": {
"type": "string"
}
},
"additionalProperties": false
}
},
"confidence": {
"type": "object",
"required": [
"level",
"score",
"factors"
],
"properties": {
"level": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
"score": {
"type": "number",
"description": "0..1"
},
"factors": {
"type": "array",
"items": {
"type": "string"
},
"description": "what lowered the score"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}realestate_lookup — Property lookup
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.
{
"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
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data",
"sources",
"as_of",
"confidence",
"notice",
"sample"
],
"properties": {
"data": {
"type": "object",
"required": [
"address",
"kind",
"property",
"value",
"rent"
],
"properties": {
"kind": {
"enum": [
"property",
"value",
"rent"
],
"type": "string",
"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."
},
"rent": {
"anyOf": [
{
"type": "object",
"required": [
"monthly_rent",
"range",
"comps"
],
"properties": {
"comps": {
"type": "array",
"items": {
"type": "object",
"required": [
"address",
"price",
"bedrooms",
"bathrooms",
"square_footage",
"year_built",
"property_type",
"distance_miles",
"days_old",
"correlation",
"listing_type",
"status"
],
"properties": {
"price": {
"type": "number",
"description": "sale price for value comps; monthly rent for rent comps"
},
"status": {
"type": [
"string",
"null"
]
},
"address": {
"type": "string"
},
"bedrooms": {
"type": [
"number",
"null"
]
},
"days_old": {
"type": [
"number",
"null"
],
"description": "days since the comp was last seen on market"
},
"bathrooms": {
"type": [
"number",
"null"
]
},
"year_built": {
"type": [
"number",
"null"
]
},
"correlation": {
"type": [
"number",
"null"
],
"description": "RentCast similarity 0..1"
},
"listing_type": {
"type": [
"string",
"null"
]
},
"property_type": {
"type": [
"string",
"null"
]
},
"distance_miles": {
"type": [
"number",
"null"
]
},
"square_footage": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
}
},
"range": {
"type": "object",
"required": [
"low",
"high"
],
"properties": {
"low": {
"type": "number"
},
"high": {
"type": "number"
}
},
"additionalProperties": false
},
"monthly_rent": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"value": {
"anyOf": [
{
"type": "object",
"required": [
"value",
"range",
"comps"
],
"properties": {
"comps": {
"type": "array",
"items": {
"type": "object",
"required": [
"address",
"price",
"bedrooms",
"bathrooms",
"square_footage",
"year_built",
"property_type",
"distance_miles",
"days_old",
"correlation",
"listing_type",
"status"
],
"properties": {
"price": {
"type": "number",
"description": "sale price for value comps; monthly rent for rent comps"
},
"status": {
"type": [
"string",
"null"
]
},
"address": {
"type": "string"
},
"bedrooms": {
"type": [
"number",
"null"
]
},
"days_old": {
"type": [
"number",
"null"
],
"description": "days since the comp was last seen on market"
},
"bathrooms": {
"type": [
"number",
"null"
]
},
"year_built": {
"type": [
"number",
"null"
]
},
"correlation": {
"type": [
"number",
"null"
],
"description": "RentCast similarity 0..1"
},
"listing_type": {
"type": [
"string",
"null"
]
},
"property_type": {
"type": [
"string",
"null"
]
},
"distance_miles": {
"type": [
"number",
"null"
]
},
"square_footage": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
}
},
"range": {
"type": "object",
"required": [
"low",
"high"
],
"properties": {
"low": {
"type": "number"
},
"high": {
"type": "number"
}
},
"additionalProperties": false
},
"value": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"address": {
"type": "string"
},
"property": {
"anyOf": [
{
"type": "object",
"required": [
"rentcast_id",
"address",
"location",
"property_type",
"bedrooms",
"bathrooms",
"square_footage",
"lot_size_sqft",
"year_built",
"zoning",
"hoa_monthly",
"last_sale",
"tax",
"assessment",
"owner",
"history"
],
"properties": {
"tax": {
"anyOf": [
{
"type": "object",
"required": [
"year",
"annual_total"
],
"properties": {
"year": {
"type": "number"
},
"annual_total": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"owner": {
"anyOf": [
{
"type": "object",
"required": [
"names",
"type",
"occupied",
"mailing_address"
],
"properties": {
"type": {
"type": [
"string",
"null"
],
"description": "Individual or Organization"
},
"names": {
"type": "array",
"items": {
"type": "string"
}
},
"occupied": {
"type": [
"boolean",
"null"
]
},
"mailing_address": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"zoning": {
"type": [
"string",
"null"
]
},
"address": {
"type": "object",
"required": [
"formatted",
"line1",
"city",
"state",
"zip",
"county"
],
"properties": {
"zip": {
"type": [
"string",
"null"
]
},
"city": {
"type": [
"string",
"null"
]
},
"line1": {
"type": [
"string",
"null"
]
},
"state": {
"type": [
"string",
"null"
]
},
"county": {
"type": [
"string",
"null"
]
},
"formatted": {
"type": "string"
}
},
"additionalProperties": false
},
"history": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"event",
"price"
],
"properties": {
"date": {
"type": "string"
},
"event": {
"type": "string"
},
"price": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
}
},
"bedrooms": {
"type": [
"number",
"null"
]
},
"location": {
"anyOf": [
{
"type": "object",
"required": [
"latitude",
"longitude"
],
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"bathrooms": {
"type": [
"number",
"null"
]
},
"last_sale": {
"anyOf": [
{
"type": "object",
"required": [
"date",
"price"
],
"properties": {
"date": {
"type": "string"
},
"price": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"assessment": {
"anyOf": [
{
"type": "object",
"required": [
"year",
"value",
"land",
"improvements"
],
"properties": {
"land": {
"type": [
"number",
"null"
]
},
"year": {
"type": "number"
},
"value": {
"type": "number"
},
"improvements": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"year_built": {
"type": [
"number",
"null"
]
},
"hoa_monthly": {
"type": [
"number",
"null"
]
},
"rentcast_id": {
"type": "string"
},
"lot_size_sqft": {
"type": [
"number",
"null"
]
},
"property_type": {
"type": [
"string",
"null"
]
},
"square_footage": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"as_of": {
"type": "string",
"description": "ISO time of the oldest upstream data point in this response"
},
"notice": {
"type": "string",
"description": "liability disclaimer; always present"
},
"sample": {
"type": "boolean",
"description": "true when this is the free example, not a live lookup"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"endpoint",
"url",
"fetched_at",
"cached"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string",
"const": "RentCast"
},
"cached": {
"type": "boolean"
},
"endpoint": {
"type": "string"
},
"fetched_at": {
"type": "string"
}
},
"additionalProperties": false
}
},
"confidence": {
"type": "object",
"required": [
"level",
"score",
"factors"
],
"properties": {
"level": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
"score": {
"type": "number",
"description": "0..1"
},
"factors": {
"type": "array",
"items": {
"type": "string"
},
"description": "what lowered the score"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 682 ms
- 95th percentile latency
- 682 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 682 ms · metadata changed · 2 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http deal-memo-mcp https://agentwares-deal-memo.vercel.app/api/mcpCodex
codex mcp add deal-memo-mcp --url https://agentwares-deal-memo.vercel.app/api/mcpCursor
{
"mcpServers": {
"deal-memo-mcp": {
"url": "https://agentwares-deal-memo.vercel.app/api/mcp"
}
}
}Cline
{
"mcpServers": {
"deal-memo-mcp": {
"type": "streamableHttp",
"url": "https://agentwares-deal-memo.vercel.app/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"deal-memo-mcp": {
"type": "http",
"url": "https://agentwares-deal-memo.vercel.app/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http deal-memo-mcp https://agentwares-deal-memo.vercel.app/api/mcpClaude Desktop
https://agentwares-deal-memo.vercel.app/api/mcpWindsurf
{
"mcpServers": {
"deal-memo-mcp": {
"serverUrl": "https://agentwares-deal-memo.vercel.app/api/mcp"
}
}
}Let your agent find its tools
Find servers like Deal Memo MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.