MCP-Server

Real Estate Analyzer

io.reizer/deal-analysis
Finanzen & Investieren Immobilien Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Underwrites real-estate deals across rental, renovation, multifamily, flipping, and construction strategies, including stress tests and maximum-offer calculations.

analyze_deal
Analyze a real-estate deal
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.
Eingabeschema
{'type': 'object', 'required': ['strategy', 'inputs'], 'properties': {'inputs': {'type': 'object', 'properties': {'adr': {'type': 'number', 'description': 'Average nightly rate in dollars. Required for str.'}, 'arv': {'type': 'number', 'description': 'After-repair value in dollars. Required for brrr and flip.'}, '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.'}, 'price': {'type': 'number', 'description': 'Purchase price in dollars. Required for every strategy except newc.'}, 'taxes': {'type': 'number', 'description': 'Annual property taxes in dollars. Optional.'}, 'units': {'type': 'object', 'description': 'Multifamily rent roll — {unitCount, avgRent, marketRent?} or an array of unit objects. Required for multifamily.'}, '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.'}, 'buildPsf': {'type': 'number', 'description': 'Build cost per square foot in dollars. Required for newc.'}, 'insurance': {'type': 'number', 'description': 'Annual insurance in dollars. Optional.'}, 'landPrice': {'type': 'number', 'description': 'Land acquisition cost in dollars. Required for newc.'}, 'occupancy': {'type': 'number', 'description': 'Expected occupancy. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Required for str.'}, 'livingSqft': {'type': 'number', 'description': 'Heated living area in square feet. Required for newc.'}, 'marketRent': {'type': 'number', 'description': 'Expected monthly rent in dollars. Required for ltr and brrr.'}, 'vacancyPct': {'type': 'number', 'description': 'Vacancy allowance. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional.'}, 'rehabBudget': {'type': 'number', 'description': 'Renovation budget in dollars. Required for brrr and flip.'}}, '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.", 'additionalProperties': True}, 'strategy': {'enum': ['ltr', 'str', 'brrr', 'multifamily', 'flip', 'newc'], 'type': 'string', 'description': 'Investment strategy to analyze.'}}}
Ausgabeschema
{'type': 'object', 'required': ['strategy', 'score', 'verdict', 'metrics', 'summary'], 'properties': {'score': {'type': 'number', 'description': '0-100 deal score.'}, 'levers': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Top input changes that would each add ~$1,000/yr cash flow (STR).'}, 'stress': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Stress scenarios, each with a verdict.'}, 'metrics': {'type': 'object', 'description': 'Headline metrics for this strategy.', 'additionalProperties': True}, 'summary': {'type': 'string', 'description': 'Deterministic one-paragraph summary.'}, 'upfront': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Cash-into-the-deal / project-cost stack rows {label, amount, kind}.'}, 'verdict': {'type': 'string', 'description': 'Strong (85+) / Solid (70+) / Workable (50+) / Risky (25+) / Run Away.'}, 'strategy': {'type': 'string'}, 'breakdown': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Ordered cash-flow / profit waterfall rows {label, amount, kind}; outflows are negative.'}, 'data_note': {'type': 'string', 'description': 'REIzer data tools that can refine this analysis (needs an API key).'}, 'disclaimer': {'type': 'string', 'description': 'Not financial advice — software estimate only.'}, 'report_url': {'type': 'string', 'description': 'Shareable public report page (30 days).'}, '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}, 'sensitivity': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Which input drivers move the result most — {driver, range, low_impact, high_impact, swing}, sorted by swing (STR).'}}, 'additionalProperties': True}
best_use
Rank the best use of a property
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['inputs'], 'properties': {'inputs': {'type': 'object', 'properties': {'adr': {'type': 'number', 'description': 'Average nightly rate in dollars. Required for str.'}, 'arv': {'type': 'number', 'description': 'After-repair value in dollars. Required for brrr and flip.'}, '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.'}, 'price': {'type': 'number', 'description': 'Purchase price in dollars. Required for every strategy except newc.'}, 'taxes': {'type': 'number', 'description': 'Annual property taxes in dollars. Optional.'}, 'units': {'type': 'object', 'description': 'Multifamily rent roll — {unitCount, avgRent, marketRent?} or an array of unit objects. Required for multifamily.'}, '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.'}, 'buildPsf': {'type': 'number', 'description': 'Build cost per square foot in dollars. Required for newc.'}, 'insurance': {'type': 'number', 'description': 'Annual insurance in dollars. Optional.'}, 'landPrice': {'type': 'number', 'description': 'Land acquisition cost in dollars. Required for newc.'}, 'occupancy': {'type': 'number', 'description': 'Expected occupancy. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Required for str.'}, 'livingSqft': {'type': 'number', 'description': 'Heated living area in square feet. Required for newc.'}, 'marketRent': {'type': 'number', 'description': 'Expected monthly rent in dollars. Required for ltr and brrr.'}, 'vacancyPct': {'type': 'number', 'description': 'Vacancy allowance. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional.'}, 'rehabBudget': {'type': 'number', 'description': 'Renovation budget in dollars. Required for brrr and flip.'}}, '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.', 'additionalProperties': True}}}
Ausgabeschema
{'type': 'object', 'required': ['best_use', 'ranked'], 'properties': {'note': {'type': 'string'}, 'ranked': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'skipped': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'best_use': {'type': 'string', 'description': 'Highest-scoring strategy id.'}, 'data_note': {'type': 'string', 'description': 'REIzer data tools that can refine this analysis (needs an API key).'}, 'disclaimer': {'type': 'string', 'description': 'Not financial advice — software estimate only.'}}, 'additionalProperties': True}
list_strategies
List strategies and their inputs
List every supported strategy with its required and optional input fields. Call this first when unsure which inputs a strategy needs. Free, no key.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
Ausgabeschema
{'type': 'object', 'required': ['strategies'], 'properties': {'strategies': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'additionalProperties': True}
solve_max_offer
Solve the maximum offer
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['strategy', 'inputs'], 'properties': {'inputs': {'type': 'object', 'properties': {'adr': {'type': 'number', 'description': 'Average nightly rate in dollars. Required for str.'}, 'arv': {'type': 'number', 'description': 'After-repair value in dollars. Required for brrr and flip.'}, '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.'}, 'price': {'type': 'number', 'description': 'Purchase price in dollars. Required for every strategy except newc.'}, 'taxes': {'type': 'number', 'description': 'Annual property taxes in dollars. Optional.'}, 'units': {'type': 'object', 'description': 'Multifamily rent roll — {unitCount, avgRent, marketRent?} or an array of unit objects. Required for multifamily.'}, '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.'}, 'buildPsf': {'type': 'number', 'description': 'Build cost per square foot in dollars. Required for newc.'}, 'insurance': {'type': 'number', 'description': 'Annual insurance in dollars. Optional.'}, 'landPrice': {'type': 'number', 'description': 'Land acquisition cost in dollars. Required for newc.'}, 'occupancy': {'type': 'number', 'description': 'Expected occupancy. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Required for str.'}, 'livingSqft': {'type': 'number', 'description': 'Heated living area in square feet. Required for newc.'}, 'marketRent': {'type': 'number', 'description': 'Expected monthly rent in dollars. Required for ltr and brrr.'}, 'vacancyPct': {'type': 'number', 'description': 'Vacancy allowance. Expressed as a FRACTION (0.0675 = 6.75%), never a percent. Optional.'}, 'rehabBudget': {'type': 'number', 'description': 'Renovation budget in dollars. Required for brrr and flip.'}}, '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.', 'additionalProperties': True}, 'targets': {'type': 'object', 'properties': {'dscr': {'type': 'number', 'description': 'Minimum debt-service coverage ratio, e.g. 1.25.'}, 'cocReturn': {'type': 'number', 'description': 'Minimum cash-on-cash return. Expressed as a FRACTION (0.0675 = 6.75%), never a percent.'}, 'monthlyCF': {'type': 'number', 'description': 'Minimum monthly cash flow in dollars.'}, 'afterTaxMargin': {'type': 'number', 'description': 'Flip: minimum after-tax profit margin. Expressed as a FRACTION (0.0675 = 6.75%), never a percent.'}, 'capitalRecovery': {'type': 'number', 'description': 'BRRRR: minimum share of invested cash returned at refi. 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.'}}, 'description': "Return targets the price must still satisfy. Omit to use each strategy's defaults.", 'additionalProperties': True}, 'strategy': {'enum': ['ltr', 'str', 'brrr', 'multifamily', 'flip'], 'type': 'string'}}}
Ausgabeschema
{'type': 'object', 'required': ['mao', 'summary'], 'properties': {'mao': {'type': 'number', 'description': 'Maximum allowable offer in dollars.'}, 'summary': {'type': 'string'}, 'strategy': {'type': 'string'}, 'disclaimer': {'type': 'string', 'description': 'Not financial advice — software estimate only.'}, 'metrics_at_mao': {'type': 'object', 'additionalProperties': True}, 'binding_constraint': {'type': 'object', 'additionalProperties': True}, 'ceilings_per_target': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
Geändert
analyze_deal
27. September 2026 02:50
Hinzugefügt
list_strategies
17. September 2026 12:53
Hinzugefügt
solve_max_offer
17. September 2026 12:53
Hinzugefügt
best_use
17. September 2026 12:53
Hinzugefügt
analyze_deal
17. September 2026 12:53

Superlógica Condomínios

io.github.mcp-dir/superlogica-mcp

Connects to a condominium ERP for billing, collections, agreements, expenses, bank movements, statements, files, communications, …

DFX Real Estate Intelligence

io.github.Capital-W-Holdings/us-property-parcel-real-estate-debt

Provides US commercial real estate, parcel, debt maturity, bank CRE exposure, private capital, investor, ownership, occupancy, an…

RateAPI — live US mortgage, auto, HELOC, personal & deposit rates

dev.rateapi/mcp

Supplies live US lending and deposit rates, financing comparisons, affordability and amortization calculations, eligibility check…

Rafid Intelligence Network

io.github.iabdullahm/rafid-agent-api

Analyzes Oman properties using rental comparables, yields, costs, and payback metrics, and supports Oman company search, profilin…

Housing Intel

io.github.pipeworx-io/housing-intel

Analyzes housing markets, affordability, mortgage rates, rental yields, property data, employment, metro demand, and investment s…

OpenLMNP

io.github.manganate006/openlmnp

Manages French LMNP furnished-rental accounting, including income, expenses, depreciation, loans, VAT, fiscal calculations, FEC f…

Antevo Wealth

ch.antevo/wealth

Aggregates household wealth data across investments, liabilities, credit facilities, real assets, markets, risk, exposure, and fi…

DataPorium

tech.dataporium/mcp

Provides market and company data covering stocks, ETFs, crypto, forex, commodities, economic indicators, housing, property listin…