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
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded13 tools