Real Estate Analyzer
Free real-estate underwriting, no key or account. 6 strategies, stress tests, max offer.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"deal-analysis": {
"url": "https://reizer.io/mcp"
}
}
}원격 엔드포인트
https://reizer.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (4)
🟢analyze_deal(strategy, inputs)
Underwrite a real-estate investment deal and get a 0-100 score, verdict, cash flow, cap rate, DSCR, stress tests, break-even thresholds, and a shareable report link. Strategies: ltr (long-term rental), str (short-term rental), brrr, multifamily, flip (fix-n-flip), newc (new construction). All rates/percents are FRACTIONS (0.0675 = 6.75%). Omitted operating inputs are filled with documented defaults and listed in assumptions.estimated_fields. Output is a software estimate, not financial, investment, tax or legal advice — figures are projections to verify, not recommendations. Free, no key; the response includes a shareable report_url.
입력 스키마
{
"type": "object",
"properties": {
"strategy": {
"type": "string",
"enum": [
"ltr",
"str",
"brrr",
"multifamily",
"flip",
"newc"
],
"description": "Investment strategy to analyze."
},
"inputs": {
"type": "object",
"description": "Deal inputs in camelCase engine keys. Anything omitted gets a documented default, listed back under assumptions.estimated_fields. Minimum: price + the strategy's income driver (marketRent / adr+occupancy / units / arv / land+build). Call list_strategies for the full per-strategy schema.",
"properties": {
"price": {
"type": "number",
"description": "Purchase price in dollars. Required for every strategy except newc."
},
"marketRent": {
"type": "number",
"description": "Expected monthly rent in dollars. Required for ltr and brrr."
},
"adr": {
"type": "number",
"description": "Average nightly rate in dollars. Required for str."
},
"occupancy": {
"type": "number",
"description": "Expected occupancy. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Required for str."
},
"rehabBudget": {
"type": "number",
"description": "Renovation budget in dollars. Required for brrr and flip."
},
"arv": {
"type": "number",
"description": "After-repair value in dollars. Required for brrr and flip."
},
"units": {
"type": "object",
"description": "Multifamily rent roll — {unitCount, avgRent, marketRent?} or an array of unit objects. Required for multifamily."
},
"landPrice": {
"type": "number",
"description": "Land acquisition cost in dollars. Required for newc."
},
"livingSqft": {
"type": "number",
"description": "Heated living area in square feet. Required for newc."
},
"buildPsf": {
"type": "number",
"description": "Build cost per square foot in dollars. Required for newc."
},
"btsArv": {
"type": "number",
"description": "Finished build-to-sell value in dollars. Required for newc."
},
"downPct": {
"type": "number",
"description": "Down payment. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional — a documented default applies."
},
"rate": {
"type": "number",
"description": "Annual interest rate. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional."
},
"term": {
"type": "number",
"description": "Loan term in years. Optional."
},
"taxes": {
"type": "number",
"description": "Annual property taxes in dollars. Optional."
},
"insurance": {
"type": "number",
"description": "Annual insurance in dollars. Optional."
},
"vacancyPct": {
"type": "number",
"description": "Vacancy allowance. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional."
}
},
"additionalProperties": true
}
},
"required": [
"strategy",
"inputs"
]
}출력 스키마
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string",
"description": "Not financial advice — software estimate only."
},
"data_note": {
"type": "string",
"description": "REIzer data tools that can refine this analysis (needs an API key)."
},
"strategy": {
"type": "string"
},
"score": {
"type": "number",
"description": "0-100 deal score."
},
"verdict": {
"type": "string",
"description": "Strong (85+) / Solid (70+) / Workable (50+) / Risky (25+) / Run Away."
},
"metrics": {
"type": "object",
"description": "Headline metrics for this strategy.",
"additionalProperties": true
},
"stress": {
"type": "array",
"description": "Stress scenarios, each with a verdict.",
"items": {
"type": "object",
"additionalProperties": true
}
},
"thresholds": {
"type": [
"object",
"null"
],
"additionalProperties": true
},
"assumptions": {
"type": "object",
"description": "estimated_fields lists every input REIzer defaulted.",
"additionalProperties": true
},
"inputs_used": {
"type": "object",
"description": "The resolved input set the analysis ran on — caller values plus documented defaults.",
"additionalProperties": true
},
"breakdown": {
"type": "array",
"description": "Ordered cash-flow / profit waterfall rows {label, amount, kind}; outflows are negative.",
"items": {
"type": "object",
"additionalProperties": true
}
},
"upfront": {
"type": "array",
"description": "Cash-into-the-deal / project-cost stack rows {label, amount, kind}.",
"items": {
"type": "object",
"additionalProperties": true
}
},
"sensitivity": {
"type": "array",
"description": "Which input drivers move the result most — {driver, range, low_impact, high_impact, swing}, sorted by swing (STR).",
"items": {
"type": "object",
"additionalProperties": true
}
},
"levers": {
"type": "array",
"description": "Top input changes that would each add ~$1,000/yr cash flow (STR).",
"items": {
"type": "object",
"additionalProperties": true
}
},
"summary": {
"type": "string",
"description": "Deterministic one-paragraph summary."
},
"report_url": {
"type": "string",
"description": "Shareable public report page (30 days)."
}
},
"required": [
"strategy",
"score",
"verdict",
"metrics",
"summary"
],
"additionalProperties": true
}🟢best_use(inputs)
Screen ONE property across every strategy the provided inputs qualify for and rank them by deal score — answers "what is the best use of this property?". Provide a superset of inputs (price, marketRent, adr, occupancy, rehabBudget, arv, units, …); strategies missing inputs are skipped with reasons. All rates/percents are FRACTIONS (0.0675 = 6.75%). Omitted operating inputs are filled with documented defaults and listed in assumptions.estimated_fields. Free, no key.
입력 스키마
{
"type": "object",
"properties": {
"inputs": {
"type": "object",
"description": "Deal inputs in camelCase engine keys. Anything omitted gets a documented default, listed back under assumptions.estimated_fields. Send a SUPERSET across strategies — whatever you know. Strategies missing their required fields are skipped with a reason rather than failing the call.",
"properties": {
"price": {
"type": "number",
"description": "Purchase price in dollars. Required for every strategy except newc."
},
"marketRent": {
"type": "number",
"description": "Expected monthly rent in dollars. Required for ltr and brrr."
},
"adr": {
"type": "number",
"description": "Average nightly rate in dollars. Required for str."
},
"occupancy": {
"type": "number",
"description": "Expected occupancy. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Required for str."
},
"rehabBudget": {
"type": "number",
"description": "Renovation budget in dollars. Required for brrr and flip."
},
"arv": {
"type": "number",
"description": "After-repair value in dollars. Required for brrr and flip."
},
"units": {
"type": "object",
"description": "Multifamily rent roll — {unitCount, avgRent, marketRent?} or an array of unit objects. Required for multifamily."
},
"landPrice": {
"type": "number",
"description": "Land acquisition cost in dollars. Required for newc."
},
"livingSqft": {
"type": "number",
"description": "Heated living area in square feet. Required for newc."
},
"buildPsf": {
"type": "number",
"description": "Build cost per square foot in dollars. Required for newc."
},
"btsArv": {
"type": "number",
"description": "Finished build-to-sell value in dollars. Required for newc."
},
"downPct": {
"type": "number",
"description": "Down payment. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional — a documented default applies."
},
"rate": {
"type": "number",
"description": "Annual interest rate. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional."
},
"term": {
"type": "number",
"description": "Loan term in years. Optional."
},
"taxes": {
"type": "number",
"description": "Annual property taxes in dollars. Optional."
},
"insurance": {
"type": "number",
"description": "Annual insurance in dollars. Optional."
},
"vacancyPct": {
"type": "number",
"description": "Vacancy allowance. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional."
}
},
"additionalProperties": true
}
},
"required": [
"inputs"
]
}출력 스키마
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string",
"description": "Not financial advice — software estimate only."
},
"data_note": {
"type": "string",
"description": "REIzer data tools that can refine this analysis (needs an API key)."
},
"best_use": {
"type": "string",
"description": "Highest-scoring strategy id."
},
"ranked": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"note": {
"type": "string"
}
},
"required": [
"best_use",
"ranked"
],
"additionalProperties": true
}🟢solve_max_offer(strategy, inputs, targets)
Reverse-solve the Maximum Allowable Offer: the highest purchase price that still meets every return target (defaults: CoC 8%, DSCR 1.20, cash flow ≥ 0; flip: 10% after-tax margin + 15% annualized ROI). Returns the MAO, the binding constraint, and per-target price ceilings. Strategies: ltr, str, brrr, multifamily, flip. Provide the deal inputs WITHOUT committing to a price (use arv or an asking price as reference). Override targets via the targets object. All rates/percents are FRACTIONS (0.0675 = 6.75%). Omitted operating inputs are filled with documented defaults and listed in assumptions.estimated_fields. Free, no key.
입력 스키마
{
"type": "object",
"properties": {
"strategy": {
"type": "string",
"enum": [
"ltr",
"str",
"brrr",
"multifamily",
"flip"
]
},
"inputs": {
"type": "object",
"description": "Deal inputs in camelCase engine keys. Anything omitted gets a documented default, listed back under assumptions.estimated_fields. price is optional here — the asking price or ARV anchors the price-derived defaults while the solver searches.",
"properties": {
"price": {
"type": "number",
"description": "Purchase price in dollars. Required for every strategy except newc."
},
"marketRent": {
"type": "number",
"description": "Expected monthly rent in dollars. Required for ltr and brrr."
},
"adr": {
"type": "number",
"description": "Average nightly rate in dollars. Required for str."
},
"occupancy": {
"type": "number",
"description": "Expected occupancy. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Required for str."
},
"rehabBudget": {
"type": "number",
"description": "Renovation budget in dollars. Required for brrr and flip."
},
"arv": {
"type": "number",
"description": "After-repair value in dollars. Required for brrr and flip."
},
"units": {
"type": "object",
"description": "Multifamily rent roll — {unitCount, avgRent, marketRent?} or an array of unit objects. Required for multifamily."
},
"landPrice": {
"type": "number",
"description": "Land acquisition cost in dollars. Required for newc."
},
"livingSqft": {
"type": "number",
"description": "Heated living area in square feet. Required for newc."
},
"buildPsf": {
"type": "number",
"description": "Build cost per square foot in dollars. Required for newc."
},
"btsArv": {
"type": "number",
"description": "Finished build-to-sell value in dollars. Required for newc."
},
"downPct": {
"type": "number",
"description": "Down payment. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional — a documented default applies."
},
"rate": {
"type": "number",
"description": "Annual interest rate. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional."
},
"term": {
"type": "number",
"description": "Loan term in years. Optional."
},
"taxes": {
"type": "number",
"description": "Annual property taxes in dollars. Optional."
},
"insurance": {
"type": "number",
"description": "Annual insurance in dollars. Optional."
},
"vacancyPct": {
"type": "number",
"description": "Vacancy allowance. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional."
}
},
"additionalProperties": true
},
"targets": {
"type": "object",
"description": "Return targets the price must still satisfy. Omit to use each strategy's defaults.",
"properties": {
"cocReturn": {
"type": "number",
"description": "Minimum cash-on-cash return. Expressed as a FRACTION (0.0675 = 6.75%), never a percent."
},
"dscr": {
"type": "number",
"description": "Minimum debt-service coverage ratio, e.g. 1.25."
},
"monthlyCF": {
"type": "number",
"description": "Minimum monthly cash flow in dollars."
},
"capitalRecovery": {
"type": "number",
"description": "BRRRR: minimum share of invested cash returned at refi. Expressed as a FRACTION (0.0675 = 6.75%), never a percent."
},
"afterTaxMargin": {
"type": "number",
"description": "Flip: minimum after-tax profit margin. Expressed as a FRACTION (0.0675 = 6.75%), never a percent."
},
"afterTaxAnnualROI": {
"type": "number",
"description": "Flip: minimum annualized after-tax ROI. Expressed as a FRACTION (0.0675 = 6.75%), never a percent."
}
},
"additionalProperties": true
}
},
"required": [
"strategy",
"inputs"
]
}출력 스키마
{
"type": "object",
"properties": {
"disclaimer": {
"type": "string",
"description": "Not financial advice — software estimate only."
},
"strategy": {
"type": "string"
},
"mao": {
"type": "number",
"description": "Maximum allowable offer in dollars."
},
"binding_constraint": {
"type": "object",
"additionalProperties": true
},
"metrics_at_mao": {
"type": "object",
"additionalProperties": true
},
"ceilings_per_target": {
"type": "object",
"additionalProperties": true
},
"summary": {
"type": "string"
}
},
"required": [
"mao",
"summary"
],
"additionalProperties": true
}🟢list_strategies
List every supported strategy with its required and optional input fields. Call this first when unsure which inputs a strategy needs. Free, no key.
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"properties": {
"strategies": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"required": [
"strategies"
],
"additionalProperties": true
}권장 프롬프트
list_strategieslist_strategies커뮤니티
증거