CRE Intelligence

Live CRE analysis: Federal Reserve rates, Census 1/3/5-mile demographics, DCF models, IC memos.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
82%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,425Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.89% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "cre-intelligence-mcp": {
      "url": "https://cre-intelligence-mcp.onrender.com/mcp"
    }
  }
}

Remote endpoints

https://cre-intelligence-mcp.onrender.com/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_current_rates

Get live interest rates from the Federal Reserve (FRED). Returns SOFR, 10-year Treasury, 5-year Treasury, Fed Funds Rate, and 30-day SOFR average. Also calculates implied cap rate ranges based on current treasury spreads. Use this BEFORE any DCF model or loan underwriting. These are real-time numbers Claude cannot access on its own.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_market_demographics(address)

Get Census Bureau demographics for any US property address. Returns median income, population, employment rate, housing vacancy, median rents, and education levels for the census tract. This is address-specific data from the actual Census tract — not estimates. Claude cannot access this without the MCP. For 1/3/5-mile trade-area rings, use get_radius_demographics instead.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Full US property address (e.g. \"1234 Main St, Charlotte, NC 28202\")"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_radius_demographics(address, radii_miles)

Get aggregated Census demographics for radius rings around a US property address — the standard 1/3/5-mile trade-area format used in CRE site analysis. Aggregates every census tract whose centroid falls within each radius: population, household-weighted median income, employment rate, college attainment, housing vacancy, renter share, and median rent. Use this for trade-area / site analysis. Use get_market_demographics for the single census tract immediately around the address.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Full US property address (e.g. \"1234 Main St, Charlotte, NC 28202\")"
    },
    "radii_miles": {
      "default": "1,3,5",
      "type": "string",
      "description": "Comma-separated radii in miles (default \"1,3,5\", each capped at 15)"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪screen_land_market(state, county)

Screen a US county as a LAND-INVESTING market (raw-land flip / Podolsky style). Grades the county on the signals that matter for buying cheap rural land and reselling on terms: population growth, demographics, owner share, and affordability. IMPORTANT: This screens on FREE Census data only (growth + demographics + a home-value affordability proxy). It does NOT include actual land sale prices or comps — those require county records or a paid service, and must be verified per-parcel before buying. Use this to rank/shortlist markets, not to buy.

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "description": "2-letter state abbreviation (e.g. \"AZ\") or 2-digit state FIPS"
    },
    "county": {
      "type": "string",
      "description": "County name (e.g. \"Mohave\" or \"Mohave County\")"
    }
  },
  "required": [
    "state",
    "county"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢screen_parcel_dd(lat, lng)

Pre-screen a land parcel's location for the AUTOMATABLE due-diligence red flags: FEMA flood zone and federal wetlands. Pulls live from FEMA's National Flood Hazard Layer and the US Fish & Wildlife National Wetlands Inventory. Use this to kill obviously-bad parcels (flood zone, wetlands) at scale BEFORE spending time on manual due diligence. IMPORTANT: Checks flood + wetlands only. It does NOT check legal ACCESS (landlocked — the #1 land deal-killer), title/liens, or zoning — those stay MANUAL, per-parcel checks via county records. A clean screen here is necessary, NOT sufficient.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "description": "Parcel latitude (decimal degrees)"
    },
    "lng": {
      "type": "number",
      "description": "Parcel longitude (decimal degrees)"
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_inflation_data

Get current CPI and rent inflation data from the Federal Reserve. Returns overall inflation, shelter inflation, and rent-specific CPI with YoY changes. Use this to calibrate rent growth assumptions in your DCF model — don't guess.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_cre_market_data

Get Commercial Real Estate price index and broader market data from the Federal Reserve. Returns CRE price trends, office/retail/industrial vacancy proxies, and credit spreads. Provides macro context for deal underwriting and cap rate analysis.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢analyze_rent_roll(text, property_name)

Extract structured tenant and lease data from a rent roll document. Paste the text content of your rent roll PDF here (copy-paste from PDF reader). Returns tenant list, suite/SF, lease dates, monthly rent, escalations, and options.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Raw text copied from a rent roll PDF"
    },
    "property_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional property name for context"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢abstract_lease(text)

Extract all key terms from a commercial lease document. Returns term, base rent schedule, escalations, TI allowance, CAM structure, renewal options, termination rights, exclusivity, co-tenancy, and red flags.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Raw text copied from a commercial lease PDF"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢flag_lease_risks(rent_roll_json)

Analyze a parsed rent roll for investment risks. Feed the output from analyze_rent_roll directly into this tool. Returns: rollover risk, tenant concentration, credit risk, and actionable recommendations.

Input Schema

{
  "type": "object",
  "properties": {
    "rent_roll_json": {
      "type": "string",
      "description": "JSON string from the analyze_rent_roll tool output"
    }
  },
  "required": [
    "rent_roll_json"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪build_dcf_model(noi_year1, purchase_price, hold_years, noi_growth_rate, exit_cap_rate, ...)

Build a levered DCF model using live Federal Reserve rates. Automatically fetches current SOFR to derive the loan rate if not provided. Returns: annual cash flows, IRR, equity multiple, cash-on-cash, DSCR, and exit analysis.

Input Schema

{
  "type": "object",
  "properties": {
    "noi_year1": {
      "type": "number",
      "description": "Year 1 Net Operating Income ($)"
    },
    "purchase_price": {
      "type": "number",
      "description": "Acquisition price ($)"
    },
    "hold_years": {
      "default": 10,
      "type": "integer",
      "description": "Hold period in years (default 10)"
    },
    "noi_growth_rate": {
      "default": 3,
      "type": "number",
      "description": "Annual NOI growth rate % (default 3.0)"
    },
    "exit_cap_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exit cap rate % — if None, uses entry cap + 25bps (conservative)"
    },
    "equity_pct": {
      "default": 35,
      "type": "number",
      "description": "Equity as % of purchase price (default 35%)"
    },
    "loan_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Loan interest rate % — if None, fetches live SOFR + 175bps"
    },
    "amortization_years": {
      "default": 30,
      "type": "integer",
      "description": "Loan amortization period (default 30 years)"
    }
  },
  "required": [
    "noi_year1",
    "purchase_price"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪generate_deal_memo(property_address, property_type, noi, asking_price, rent_roll_summary, ...)

Generate a formatted CRE acquisition memo / Investment Committee memo. Automatically pulls live rates from FRED and demographics from Census Bureau to provide real market context — not guesses.

Input Schema

{
  "type": "object",
  "properties": {
    "property_address": {
      "type": "string",
      "description": "Full property address"
    },
    "property_type": {
      "type": "string",
      "description": "Multifamily / Office / Retail / Industrial / Mixed-Use"
    },
    "noi": {
      "type": "number",
      "description": "Net Operating Income ($)"
    },
    "asking_price": {
      "type": "number",
      "description": "Asking price ($)"
    },
    "rent_roll_summary": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional: paste output from analyze_rent_roll or flag_lease_risks"
    },
    "additional_context": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Any additional deal notes, seller info, market color"
    }
  },
  "required": [
    "property_address",
    "property_type",
    "noi",
    "asking_price"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "x-fastmcp-wrap-result": true
}
🟢export_dcf_excel(noi_year1, purchase_price, address, property_name, hold_years, ...)

Generate a downloadable Excel (.xlsx) underwriting model with LIVE formulas — editable assumptions, PMT/FV amortization, IRR, equity multiple, a sensitivity grid, live Fed rates, and (if an address is given) Census trade-area demographics. Returns a download link valid for 60 minutes.

Input Schema

{
  "type": "object",
  "properties": {
    "noi_year1": {
      "type": "number",
      "description": "Year 1 Net Operating Income ($)"
    },
    "purchase_price": {
      "type": "number",
      "description": "Acquisition price ($)"
    },
    "address": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional property address — adds a demographics sheet"
    },
    "property_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional label for the model header"
    },
    "hold_years": {
      "default": 10,
      "type": "integer",
      "description": "Hold period (default 10)"
    },
    "noi_growth_rate": {
      "default": 3,
      "type": "number",
      "description": "Annual NOI growth % (default 3.0)"
    },
    "exit_cap_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exit cap % — default entry cap + 25bps"
    },
    "equity_pct": {
      "default": 35,
      "type": "number",
      "description": "Equity as % of price (default 35)"
    },
    "loan_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Loan rate % — default live SOFR + 175bps"
    },
    "amortization_years": {
      "default": 30,
      "type": "integer",
      "description": "Amortization (default 30)"
    }
  },
  "required": [
    "noi_year1",
    "purchase_price"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools