Real Estate MCP Toolkit
The Real Estate MCP Server gives an agent 50+ tools across property, agent,
market, client, area, mortgage, valuation, document, analysis-queue,
integration, and system categories. Tools are the execution layer — this
skill is the methodology layer: which tools to call, in what order, and
what to surface. It provides workflow augmentation, not financial or appraisal
advice; every financial workflow ends with a disclaimer, not a guarantee.
Non-negotiable rules
- Never present estimates as guarantees or appraisals. Mortgage,
valuation, and investment tools include a
disclaimer field — always
surface it.
- Prefer local, offline tools first; and free live sources over paid
ones.
lookup_live_property (RentCast) and lookup_live_zestimate
(Zillow) are opt-in and metered/paid (may incur cost). The other live
tools -- get_live_demographics (Census), get_live_walk_score,
get_live_flood_zone (FEMA), get_live_mortgage_rate (FRED),
get_live_crime_summary (FBI), get_live_environmental_hazards (EPA),
get_live_weather_forecast (NOAA) -- are free. Use local
estimate_property_value, comparable_market_analysis, and the seed data
unless the user needs live external data, and reach for a free source
before RentCast/Zillow.
- Real files over seed IDs when a file exists. If the user has an actual
.txt/.docx listing, use ingest_listing_document rather than assuming a
seed property_id.
- Respect feature flags. Categories can be disabled via
REALESTATE_MCP_ENABLE_*. If a tool is missing, read
realestate://server-config before assuming the server is broken.
- State assumptions on every financial calc. Rate, term, DTI, vacancy,
and down payment drive the numbers — surface them (they are in the
assumptions field).
Tool quick reference
| Category |
Tools |
| Property |
search_properties, filter_properties, get_property_details, get_property_insights |
| Agent |
get_agent_dashboard, get_agent_properties, get_agent_sales |
| Market |
get_market_overview, compare_areas, get_price_analytics, get_recent_sales |
| Client |
get_client_details, match_client_preferences |
| Area |
get_comprehensive_area_report, get_area_amenities, get_schools_data |
| Mortgage |
calculate_mortgage_payment, get_amortization_schedule, estimate_affordability_tool, compare_refinance |
| Valuation |
estimate_property_value, comparable_market_analysis, analyze_investment, analyze_listing_investment, deep_analyze_property |
| Document |
ingest_listing_document, compare_listing_documents, export_property_report |
| Analysis Queue |
queue_property_analysis, get_analysis_status, get_analysis_result, list_analysis_jobs |
| Integrations |
integration_status, get_live_demographics, get_live_walk_score, get_live_flood_zone, get_live_mortgage_rate, get_live_crime_summary, get_live_environmental_hazards, get_live_weather_forecast, lookup_live_property (paid), lookup_live_zestimate (paid) |
| System |
get_server_info, refresh_data, get_data_summary |
Full worked examples: WORKFLOW_EXAMPLES.md.
Workflow patterns
1. Buyer affordability & financing
Trigger: "how much house can I afford", "what's my monthly payment"
estimate_affordability_tool(annual_income, monthly_debts, down_payment) →
max price and loan.
filter_properties(max_price, min_bedrooms, ...) → shortlist in budget.
calculate_mortgage_payment(principal, annual_rate_pct, term_years) for the
target loan; get_amortization_schedule for the principal/interest split.
- Use
compare_refinance if the user already owns and asks about refinancing.
- Close with the
disclaimer and the assumptions used.
2. Comparable-based valuation
Trigger: "what's this home worth", "is it priced right"
estimate_property_value(property_id) → CMA-style estimate vs. list price.
comparable_market_analysis(area) → ground the estimate in recent comps.
- Surface the
assessment (under/over/fairly priced) and its basis.
3. Investment analysis
Trigger: "is this a good rental", "cap rate / cash flow"
- For a hypothetical:
analyze_investment(price, monthly_rent, down_payment).
- For an existing listing:
analyze_listing_investment(property_id, monthly_rent, down_payment_pct).
- Report cap rate, cash-on-cash, and annual cash flow with the assumptions.
4. Listing-document ingestion & report
Trigger: "read this listing sheet", "make a report"
ingest_listing_document(file_path) (.txt/.docx) → structured fields.
export_property_report(report_json, output_path.docx) for a deliverable.
compare_listing_documents(a, b) to diff two sheets.
5. Batch / async analysis
Trigger: "analyze these listings", "queue this batch"
queue_property_analysis(file_path, analysis_notes) → job_id.
- Poll
get_analysis_status(job_id); retrieve get_analysis_result(job_id).
list_analysis_jobs() for a batch summary. Results persist in local SQLite.
6. Deep property analysis
Trigger: "give me a deeper read on this property"
deep_analyze_property(property_id, focus) — uses MCP sampling when the
client supports it, otherwise returns the deterministic heuristic summary
(with a note). Surface the disclaimer.
7. Area & market intelligence
Trigger: "tell me about this neighborhood", "compare these areas"
get_comprehensive_area_report(area) for a full picture.
compare_areas("A,B,C") and get_market_overview for context.
- Only use
get_live_demographics if the free Census integration is enabled
(integration_status).
Response shape
Close every financial/valuation workflow with:
- The
disclaimer text verbatim from the tool response.
- The assumptions used (rate, term, DTI, vacancy, down payment).
- Concrete next steps (adjust inputs, pull comps, consult a lender/appraiser).
1---2name: real-estate-mcp-toolkit3description: Teaches an agent the methodology for chaining the Real Estate MCP Server's 50+ tools into complete workflows — buyer affordability and financing plans, comparable-based valuation, investment analysis, listing-document ingestion and report export, batch analysis, area/market intelligence, and deep property analysis. Use whenever the Real Estate MCP Server is connected and the user asks to search or evaluate properties, plan a mortgage, estimate a home's value, analyze a rental as an investment, ingest a listing sheet, or compare areas.4---56# Real Estate MCP Toolkit78The Real Estate MCP Server gives an agent 50+ tools across property, agent,9market, client, area, mortgage, valuation, document, analysis-queue,10integration, and system categories. Tools are the **execution layer** — this11skill is the **methodology layer**: which tools to call, in what order, and12what to surface. It provides workflow augmentation, not financial or appraisal13advice; every financial workflow ends with a disclaimer, not a guarantee.1415## Non-negotiable rules16171. **Never present estimates as guarantees or appraisals.** Mortgage,18 valuation, and investment tools include a `disclaimer` field — always19 surface it.202. **Prefer local, offline tools first; and free live sources over paid21 ones.** `lookup_live_property` (RentCast) and `lookup_live_zestimate`22 (Zillow) are opt-in and **metered/paid** (may incur cost). The other live23 tools -- `get_live_demographics` (Census), `get_live_walk_score`,24 `get_live_flood_zone` (FEMA), `get_live_mortgage_rate` (FRED),25 `get_live_crime_summary` (FBI), `get_live_environmental_hazards` (EPA),26 `get_live_weather_forecast` (NOAA) -- are free. Use local27 `estimate_property_value`, `comparable_market_analysis`, and the seed data28 unless the user needs live external data, and reach for a free source29 before RentCast/Zillow.303. **Real files over seed IDs when a file exists.** If the user has an actual31 `.txt`/`.docx` listing, use `ingest_listing_document` rather than assuming a32 seed `property_id`.334. **Respect feature flags.** Categories can be disabled via34 `REALESTATE_MCP_ENABLE_*`. If a tool is missing, read35 `realestate://server-config` before assuming the server is broken.365. **State assumptions on every financial calc.** Rate, term, DTI, vacancy,37 and down payment drive the numbers — surface them (they are in the38 `assumptions` field).3940## Tool quick reference4142| Category | Tools |43| --- | --- |44| Property | `search_properties`, `filter_properties`, `get_property_details`, `get_property_insights` |45| Agent | `get_agent_dashboard`, `get_agent_properties`, `get_agent_sales` |46| Market | `get_market_overview`, `compare_areas`, `get_price_analytics`, `get_recent_sales` |47| Client | `get_client_details`, `match_client_preferences` |48| Area | `get_comprehensive_area_report`, `get_area_amenities`, `get_schools_data` |49| Mortgage | `calculate_mortgage_payment`, `get_amortization_schedule`, `estimate_affordability_tool`, `compare_refinance` |50| Valuation | `estimate_property_value`, `comparable_market_analysis`, `analyze_investment`, `analyze_listing_investment`, `deep_analyze_property` |51| Document | `ingest_listing_document`, `compare_listing_documents`, `export_property_report` |52| Analysis Queue | `queue_property_analysis`, `get_analysis_status`, `get_analysis_result`, `list_analysis_jobs` |53| Integrations | `integration_status`, `get_live_demographics`, `get_live_walk_score`, `get_live_flood_zone`, `get_live_mortgage_rate`, `get_live_crime_summary`, `get_live_environmental_hazards`, `get_live_weather_forecast`, `lookup_live_property` (paid), `lookup_live_zestimate` (paid) |54| System | `get_server_info`, `refresh_data`, `get_data_summary` |5556Full worked examples: [WORKFLOW_EXAMPLES.md](../../../WORKFLOW_EXAMPLES.md).5758## Workflow patterns5960### 1. Buyer affordability & financing61**Trigger:** "how much house can I afford", "what's my monthly payment"62631. `estimate_affordability_tool(annual_income, monthly_debts, down_payment)` →64 max price and loan.652. `filter_properties(max_price, min_bedrooms, ...)` → shortlist in budget.663. `calculate_mortgage_payment(principal, annual_rate_pct, term_years)` for the67 target loan; `get_amortization_schedule` for the principal/interest split.684. Use `compare_refinance` if the user already owns and asks about refinancing.695. Close with the `disclaimer` and the assumptions used.7071### 2. Comparable-based valuation72**Trigger:** "what's this home worth", "is it priced right"73741. `estimate_property_value(property_id)` → CMA-style estimate vs. list price.752. `comparable_market_analysis(area)` → ground the estimate in recent comps.763. Surface the `assessment` (under/over/fairly priced) and its basis.7778### 3. Investment analysis79**Trigger:** "is this a good rental", "cap rate / cash flow"80811. For a hypothetical: `analyze_investment(price, monthly_rent, down_payment)`.822. For an existing listing: `analyze_listing_investment(property_id,83 monthly_rent, down_payment_pct)`.843. Report cap rate, cash-on-cash, and annual cash flow with the assumptions.8586### 4. Listing-document ingestion & report87**Trigger:** "read this listing sheet", "make a report"88891. `ingest_listing_document(file_path)` (`.txt`/`.docx`) → structured fields.902. `export_property_report(report_json, output_path.docx)` for a deliverable.913. `compare_listing_documents(a, b)` to diff two sheets.9293### 5. Batch / async analysis94**Trigger:** "analyze these listings", "queue this batch"95961. `queue_property_analysis(file_path, analysis_notes)` → `job_id`.972. Poll `get_analysis_status(job_id)`; retrieve `get_analysis_result(job_id)`.983. `list_analysis_jobs()` for a batch summary. Results persist in local SQLite.99100### 6. Deep property analysis101**Trigger:** "give me a deeper read on this property"1021031. `deep_analyze_property(property_id, focus)` — uses MCP sampling when the104 client supports it, otherwise returns the deterministic heuristic summary105 (with a note). Surface the `disclaimer`.106107### 7. Area & market intelligence108**Trigger:** "tell me about this neighborhood", "compare these areas"1091101. `get_comprehensive_area_report(area)` for a full picture.1112. `compare_areas("A,B,C")` and `get_market_overview` for context.1123. Only use `get_live_demographics` if the free Census integration is enabled113 (`integration_status`).114115## Response shape116117Close every financial/valuation workflow with:118- The `disclaimer` text verbatim from the tool response.119- The assumptions used (rate, term, DTI, vacancy, down payment).120- Concrete next steps (adjust inputs, pull comps, consult a lender/appraiser).