Koskamo

Lotlytics MCP

An official MCP server providing US real estate market data, investment analytics, price forecasts, and climate risk scores for 894 markets and 21,500+ ZIP codes, enabling AI agents to perform market analysis and investment calculations.

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.

Lotlytics MCP logo, by LotlyticsVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Lotlytics
MCP endpoint (Streamable HTTP)
https://lotlytics-mcp-production.up.railway.app/mcp
Vendor documentation

What its tools do

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

5 of 5 have a description · 5 of 5 declare behavior hints · 5 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to lotlytics.us ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Ask AI about US housing market questions
  • Analyze property investment potential
  • Compare markets side by side
  • Get price forecasts and climate risk scores

Source and maintenance

Vendor evidenceRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
Lotlytics 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
5 advertised
Resources
2 advertised
Resource templates
0 advertised
Prompts
25 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

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

You have access to Lotlytics real estate market data for 894 US cities and metros — https://www.lotlytics.us Free tier covers the top 50 markets — no API key needed. With an X-API-Key header (Investor plan), all 894 markets and advanced tools are unlocked: https://www.lotlytics.us/pricing Get or rotate a key at https://www.lotlytics.us/settings/api-keys Start with get_market_health for quick screening, then get_market_summary for full details. Use compare_markets or search_markets for deeper investment research (requires API key). This server also serves 25 ready-made prompts (prompts/list) and two reference resources (resources/list) — offer those before inventing a question of your own.

Tools

5 advertised

get_market_summary — Market summary for a US city
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Full market report for one US city or metro. Example: city='Austin', state='TX' returns Austin's median price, appreciation, rental yield, momentum and migration.

get_market_summary input schema
{
  "type": "object",
  "title": "get_market_summaryArguments",
  "required": [
    "city",
    "state"
  ],
  "properties": {
    "city": {
      "type": "string",
      "title": "City",
      "description": "City or metro, e.g. 'Austin'. Case-insensitive."
    },
    "state": {
      "type": "string",
      "title": "State",
      "description": "US state, 2-letter or full, e.g. 'TX'. Required — city names repeat."
    }
  }
}
get_market_summary output schema
{
  "type": "object",
  "title": "get_market_summaryOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
get_market_summary annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_markets — List available markets
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List the US markets this server can report on, optionally filtered to one state. Example: state='TX'

list_markets input schema
{
  "type": "object",
  "title": "list_marketsArguments",
  "properties": {
    "state": {
      "type": "string",
      "title": "State",
      "default": "",
      "description": "Optional state filter, e.g. 'TX'. Omit for every available market."
    }
  }
}
list_markets output schema
{
  "type": "object",
  "title": "list_marketsOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
list_markets annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_market_health — Investment health score (1-10)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Investment health score (1-10) for a US market, with a label (Strong Buy / Favorable / Neutral / Caution / Avoid) and the signals behind it. Example: city='Tampa', state='FL'

get_market_health input schema
{
  "type": "object",
  "title": "get_market_healthArguments",
  "required": [
    "city",
    "state"
  ],
  "properties": {
    "city": {
      "type": "string",
      "title": "City",
      "description": "City or metro, e.g. 'Tampa'. Case-insensitive."
    },
    "state": {
      "type": "string",
      "title": "State",
      "description": "US state, 2-letter or full, e.g. 'FL'. Required — city names repeat."
    }
  }
}
get_market_health output schema
{
  "type": "object",
  "title": "get_market_healthOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
get_market_health annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_markets — Compare two markets head-to-head
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Compare two US markets side by side, with a winner marked on price, yield and appreciation. Requires API key (Investor plan) — https://www.lotlytics.us/pricing ; key at https://www.lotlytics.us/settings/api-keys Example: city_a='Austin', state_a='TX', city_b='Nashville', state_b='TN'

compare_markets input schema
{
  "type": "object",
  "title": "compare_marketsArguments",
  "required": [
    "city_a",
    "state_a",
    "city_b",
    "state_b"
  ],
  "properties": {
    "city_a": {
      "type": "string",
      "title": "City A",
      "description": "First city or metro, e.g. 'Austin'."
    },
    "city_b": {
      "type": "string",
      "title": "City B",
      "description": "Second city or metro, e.g. 'Nashville'."
    },
    "state_a": {
      "type": "string",
      "title": "State A",
      "description": "State of the FIRST city, e.g. 'TX'."
    },
    "state_b": {
      "type": "string",
      "title": "State B",
      "description": "State of the SECOND city, e.g. 'TN'."
    }
  }
}
compare_markets output schema
{
  "type": "object",
  "title": "compare_marketsOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
compare_markets annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_markets — Search markets by investment criteria
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Rank US markets by investment criteria; no filters returns the top-ranked markets nationally. Requires API key (Investor plan) — https://www.lotlytics.us/pricing ; key at https://www.lotlytics.us/settings/api-keys Example: state='TX', max_price=300000, min_rental_yield=6

search_markets input schema
{
  "type": "object",
  "title": "search_marketsArguments",
  "properties": {
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 10,
      "description": "Markets to return, 1-25 (clamped). Default 10."
    },
    "state": {
      "type": "string",
      "title": "State",
      "default": "",
      "description": "Optional state filter, e.g. 'TX'. Omit = national, which samples only the first 20 markets."
    },
    "max_price": {
      "type": "number",
      "title": "Max Price",
      "default": 0,
      "description": "Max median price in dollars, e.g. 300000. 0 = no cap."
    },
    "min_appreciation": {
      "type": "number",
      "title": "Min Appreciation",
      "default": -999,
      "description": "Min YoY appreciation %, e.g. 3. Negatives allowed; -999 = no floor."
    },
    "min_rental_yield": {
      "type": "number",
      "title": "Min Rental Yield",
      "default": 0,
      "description": "Min gross rental yield %, e.g. 6. 0 = no floor."
    },
    "max_price_to_income": {
      "type": "number",
      "title": "Max Price To Income",
      "default": 999,
      "description": "Max price-to-income ratio, e.g. 4.5. 999 = no cap."
    }
  }
}
search_markets output schema
{
  "type": "object",
  "title": "search_marketsOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
search_markets annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

25 advertised

market_is_city_a_good_buy — Is this market a good buy right now?

Advertised by the server during the last successful anonymous check.

Gets you an investment score, price trend, affordability rating, and migration signal for any city. Works on the free plan (top 50 markets, no API key).

city
No description (required)
state
No description (required)
markets_affordable_with_appreciation — Most affordable markets with rising prices

Advertised by the server during the last successful anonymous check.

Surfaces markets where prices are rising but entry cost is still low — the sweet spot for buy-and-hold. Works on the free plan (top 50 markets, no API key).

No arguments advertised.

markets_top_net_migration — Top net-migration markets

Advertised by the server during the last successful anonymous check.

Migration is a leading indicator for demand. This pulls IRS migration data and explains the price impact. Works on the free plan (top 50 markets, no API key).

No arguments advertised.

market_full_summary — Full market summary

Advertised by the server during the last successful anonymous check.

One-shot market brief — everything you'd spend 30 minutes pulling manually, in one response. Works on the free plan (top 50 markets, no API key).

city
No description (required)
market_inventory_buyer_or_seller — Buyer's market or seller's market?

Advertised by the server during the last successful anonymous check.

Pulls days on market, inventory levels, and list-to-sale ratios to give you a supply/demand read. Works on the free plan (top 50 markets, no API key).

city
No description (required)
compare_two_markets_buy_and_hold — Compare two markets for buy-and-hold

Advertised by the server during the last successful anonymous check.

Side-by-side on price, rent yield, appreciation, affordability, migration, and climate risk. Works on the free plan (top 50 markets, no API key).

city_1
No description (required)
city_2
No description (required)
compare_three_for_first_rental — Rank three markets for a first rental

Advertised by the server during the last successful anonymous check.

Ranks all three markets across the key metrics that matter for rental ROI. Works on the free plan (top 50 markets, no API key).

city_1
No description (required)
city_2
No description (required)
city_3
No description (required)
compare_two_for_relocation_upside — Relocate and invest: which has better 5-year upside?

Advertised by the server during the last successful anonymous check.

Combines forecast data, migration trends, and employment to give a long-horizon view. Works on the free plan (top 50 markets, no API key).

city_1
No description (required)
city_2
No description (required)
screen_southeast_yield_and_appreciation — Screen the Southeast for yield and appreciation

Advertised by the server during the last successful anonymous check.

Screens all 894 markets against your criteria — replaces hours of manual spreadsheet work. Investor plan required — https://www.lotlytics.us/pricing (key: https://www.lotlytics.us/settings/api-keys)

No arguments advertised.

screen_top_score_with_affordability — Top investment scores with good affordability

Advertised by the server during the last successful anonymous check.

Pulls composite investment scores and filters by affordability — ideal for budget-conscious buyers. Investor plan required — https://www.lotlytics.us/pricing (key: https://www.lotlytics.us/settings/api-keys)

No arguments advertised.

screen_low_climate_risk_high_migration — Low climate risk, high migration growth

Advertised by the server during the last successful anonymous check.

Combines FEMA risk scores with IRS migration data — great for long-term hold decisions. Investor plan required — https://www.lotlytics.us/pricing (key: https://www.lotlytics.us/settings/api-keys)

No arguments advertised.

screen_zip_codes_in_state — ZIP-level screen inside one state

Advertised by the server during the last successful anonymous check.

ZIP-level screening across 21,500+ codes — finds the specific neighborhoods, not just the city. Investor plan required — https://www.lotlytics.us/pricing (key: https://www.lotlytics.us/settings/api-keys)

state
No description (required)
screen_cash_flow_cap_rates — Cash-flow markets with 7%+ cap rates

Advertised by the server during the last successful anonymous check.

Screens for high-yield markets using rental income and price data to calculate cap rate estimates. Investor plan required — https://www.lotlytics.us/pricing (key: https://www.lotlytics.us/settings/api-keys)

No arguments advertised.

risk_climate_profile — Climate risk profile for a market

Advertised by the server during the last successful anonymous check.

Pulls FEMA NRI risk scores for flood, fire, storm, and heat — critical for insurance cost estimates. Works on the free plan (top 50 markets, no API key).

city
No description (required)
risk_price_correction_signs — Price-correction warning signs

Advertised by the server during the last successful anonymous check.

Checks affordability ratios, days-on-market trends, and inventory build to flag overheating. Works on the free plan (top 50 markets, no API key).

city
No description (required)
risk_employer_concentration — Single-employer and single-industry exposure

Advertised by the server during the last successful anonymous check.

Pulls employment concentration and industry breakdown — catches markets exposed to single-sector risk. Works on the free plan (top 50 markets, no API key).

city
No description (required)
risk_affordability_vs_national — Affordability versus the national average

Advertised by the server during the last successful anonymous check.

Mortgage burden as % of income, compared to national median — shows how stretched buyers are. Works on the free plan (top 50 markets, no API key).

city
No description (required)
forecast_twelve_month_price — 12-month price forecast

Advertised by the server during the last successful anonymous check.

Zillow ZHVF-backed projections with confidence intervals — honest about uncertainty. Works on the free plan (top 50 markets, no API key).

city
No description (required)
forecast_national_outperformers — Markets forecast to beat the national average

Advertised by the server during the last successful anonymous check.

Ranks markets by projected appreciation — great for timing entry into new markets. Works on the free plan (top 50 markets, no API key).

No arguments advertised.

forecast_recovery_plays — Recovery plays: below pre-pandemic, trending up

Advertised by the server during the last successful anonymous check.

Finds recovery plays — markets that haven't fully rebounded but are trending up. Works on the free plan (top 50 markets, no API key).

No arguments advertised.

content_investor_market_brief — Three-paragraph investor market brief

Advertised by the server during the last successful anonymous check.

Investor-ready summary using real data — cuts hours off deal memo prep. Works on the free plan (top 50 markets, no API key).

city
No description (required)
content_five_data_backed_reasons — Five data-backed reasons to invest (or not)

Advertised by the server during the last successful anonymous check.

Forces structured analysis — great for content creation or investment committee prep. Works on the free plan (top 50 markets, no API key).

city
No description (required)
content_whats_changed_this_year — What changed in this market this year

Advertised by the server during the last successful anonymous check.

Year-over-year comparison across price, inventory, rents, and migration. Works on the free plan (top 50 markets, no API key).

city
No description (required)
content_lotlytics_vs_zillow — Lotlytics versus Zillow: what is different

Advertised by the server during the last successful anonymous check.

Highlights where Lotlytics data goes deeper — migration, climate, investment scoring, employment. Works on the free plan (top 50 markets, no API key).

city
No description (required)
content_one_page_investor_report — One-page market report for an investor packet

Advertised by the server during the last successful anonymous check.

Structured output with all key metrics — ready to paste into a pitch deck or PDF. Investor plan required — https://www.lotlytics.us/pricing (key: https://www.lotlytics.us/settings/api-keys)

city
No description (required)

Resources

2 advertised

Lotlytics prompt library — Ready-made research prompts

Advertised by the server during the last successful anonymous check.

All 25 Lotlytics research prompts with what each one returns and which plan it needs. Also published at https://www.lotlytics.us/prompts.

Lotlytics prompt library URI
lotlytics://prompt-library

MIME type: text/markdown

Free-tier markets — Markets available without an API key

Advertised by the server during the last successful anonymous check.

The 50 US metros every tool answers for with no API key. Anything outside this list needs the Investor plan.

Free-tier markets URI
lotlytics://markets/free-tier

MIME type: text/markdown

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
1223 ms
95th percentile latency
1223 ms

Maintenance history

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

  • · probe · passed · 1223 ms · metadata changed · 5 tool(s), 2 resource(s), 0 resource template(s), 25 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 lotlytics-mcp https://lotlytics-mcp-production.up.railway.app/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 lotlytics-mcp --url https://lotlytics-mcp-production.up.railway.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable lotlytics-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "lotlytics-mcp": {
      "url": "https://lotlytics-mcp-production.up.railway.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "lotlytics-mcp": {
      "type": "streamableHttp",
      "url": "https://lotlytics-mcp-production.up.railway.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start lotlytics-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "lotlytics-mcp": {
      "type": "http",
      "url": "https://lotlytics-mcp-production.up.railway.app/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 lotlytics-mcp https://lotlytics-mcp-production.up.railway.app/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://lotlytics-mcp-production.up.railway.app/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": {
    "lotlytics-mcp": {
      "serverUrl": "https://lotlytics-mcp-production.up.railway.app/mcp"
    }
  }
}

Let your agent find its tools

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

Do you run Lotlytics MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing