Koskamo

CRE Intelligence MCP

A community MCP server for commercial real estate analysis that integrates live Federal Reserve rates and U.S. Census demographics to build DCF models, analyze rent rolls, and generate investment memos within Claude Desktop.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

CRE Intelligence MCP logo, by CRE IntelligenceCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by CRE Intelligence
MCP endpoint (Streamable HTTP)
https://cre-intelligence-mcp.onrender.com/mcp
Vendor documentation

What its tools do

13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

13 of 13 have a description · 0 of 13 declare behavior hints · 10 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Fetch live SOFR and Treasury rates for underwriting
  • Retrieve Census demographics for specific property addresses
  • Build levered 10-year DCF models with auto-fetched rates
  • Generate full IC memos with risk factors and recommendations

Source and maintenance

Community listingRegistry 1.1.0
Maintenance checked

Protocol and capabilities

Server
CRE Intelligence 3.4.2
MCP protocol negotiated in check
2025-11-25
Tools
13 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "logging": {},
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "subscribe": false,
    "listChanged": true
  },
  "extensions": {
    "io.modelcontextprotocol/ui": {}
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

You are a commercial real estate analyst with access to live market data. Use these tools to provide accurate, data-driven CRE analysis. All interest rate data comes directly from the Federal Reserve (FRED) — never guess at rates. All demographic data comes from the US Census Bureau — never estimate demographics. Always use get_current_rates() before building any DCF model. Always use get_market_demographics() when analyzing a specific property location. Use get_radius_demographics() for 1/3/5-mile trade-area analysis around a property.

Tools

13 advertised

get_current_rates
Advertised by the server during the last successful anonymous check.

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.

get_current_rates input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_current_rates output schema
{
  "type": "object",
  "additionalProperties": true
}
get_market_demographics
Advertised by the server during the last successful anonymous check.

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.

get_market_demographics input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "type": "string",
      "description": "Full US property address (e.g. \"1234 Main St, Charlotte, NC 28202\")"
    }
  },
  "additionalProperties": false
}
get_market_demographics output schema
{
  "type": "object",
  "additionalProperties": true
}
get_radius_demographics
Advertised by the server during the last successful anonymous check.

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.

get_radius_demographics input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "type": "string",
      "description": "Full US property address (e.g. \"1234 Main St, Charlotte, NC 28202\")"
    },
    "radii_miles": {
      "type": "string",
      "default": "1,3,5",
      "description": "Comma-separated radii in miles (default \"1,3,5\", each capped at 15)"
    }
  },
  "additionalProperties": false
}
get_radius_demographics output schema
{
  "type": "object",
  "additionalProperties": true
}
screen_land_market
Advertised by the server during the last successful anonymous check.

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.

screen_land_market input schema
{
  "type": "object",
  "required": [
    "state",
    "county"
  ],
  "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\")"
    }
  },
  "additionalProperties": false
}
screen_land_market output schema
{
  "type": "object",
  "additionalProperties": true
}
screen_parcel_dd
Advertised by the server during the last successful anonymous check.

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.

screen_parcel_dd input schema
{
  "type": "object",
  "required": [
    "lat",
    "lng"
  ],
  "properties": {
    "lat": {
      "type": "number",
      "description": "Parcel latitude (decimal degrees)"
    },
    "lng": {
      "type": "number",
      "description": "Parcel longitude (decimal degrees)"
    }
  },
  "additionalProperties": false
}
screen_parcel_dd output schema
{
  "type": "object",
  "additionalProperties": true
}
get_inflation_data
Advertised by the server during the last successful anonymous check.

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.

get_inflation_data input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_inflation_data output schema
{
  "type": "object",
  "additionalProperties": true
}
get_cre_market_data
Advertised by the server during the last successful anonymous check.

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.

get_cre_market_data input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_cre_market_data output schema
{
  "type": "object",
  "additionalProperties": true
}
analyze_rent_roll
Advertised by the server during the last successful anonymous check.

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.

analyze_rent_roll input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "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"
    }
  },
  "additionalProperties": false
}
analyze_rent_roll output schema
{
  "type": "object",
  "additionalProperties": true
}
abstract_lease
Advertised by the server during the last successful anonymous check.

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.

abstract_lease input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Raw text copied from a commercial lease PDF"
    }
  },
  "additionalProperties": false
}
abstract_lease output schema
{
  "type": "object",
  "additionalProperties": true
}
flag_lease_risks
Advertised by the server during the last successful anonymous check.

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.

flag_lease_risks input schema
{
  "type": "object",
  "required": [
    "rent_roll_json"
  ],
  "properties": {
    "rent_roll_json": {
      "type": "string",
      "description": "JSON string from the analyze_rent_roll tool output"
    }
  },
  "additionalProperties": false
}
flag_lease_risks output schema
{
  "type": "object",
  "additionalProperties": true
}
build_dcf_model
Advertised by the server during the last successful anonymous check.

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.

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

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.

generate_deal_memo input schema
{
  "type": "object",
  "required": [
    "property_address",
    "property_type",
    "noi",
    "asking_price"
  ],
  "properties": {
    "noi": {
      "type": "number",
      "description": "Net Operating Income ($)"
    },
    "asking_price": {
      "type": "number",
      "description": "Asking price ($)"
    },
    "property_type": {
      "type": "string",
      "description": "Multifamily / Office / Retail / Industrial / Mixed-Use"
    },
    "property_address": {
      "type": "string",
      "description": "Full property address"
    },
    "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"
    }
  },
  "additionalProperties": false
}
generate_deal_memo output schema
{
  "type": "object",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "x-fastmcp-wrap-result": true
}
export_dcf_excel
Advertised by the server during the last successful anonymous check.

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.

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

Prompts

0 advertised

No prompt definitions available.

Resources

0 advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1030 ms
95th percentile latency
1030 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1030 ms · metadata changed · 13 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http cre-intelligence-mcp https://cre-intelligence-mcp.onrender.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add cre-intelligence-mcp --url https://cre-intelligence-mcp.onrender.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable cre-intelligence-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "cre-intelligence-mcp": {
      "url": "https://cre-intelligence-mcp.onrender.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "cre-intelligence-mcp": {
      "type": "streamableHttp",
      "url": "https://cre-intelligence-mcp.onrender.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start cre-intelligence-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "cre-intelligence-mcp": {
      "type": "http",
      "url": "https://cre-intelligence-mcp.onrender.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http cre-intelligence-mcp https://cre-intelligence-mcp.onrender.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://cre-intelligence-mcp.onrender.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "cre-intelligence-mcp": {
      "serverUrl": "https://cre-intelligence-mcp.onrender.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like CRE Intelligence MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.