Own Miami MCP
An MCP server providing access to Miami condominium market data, including building scores, condo indexes, financeability metrics, deed sales, and ownership records. It enables agents to search listings, retrieve building profiles, and execute actions like tour requests and alert subscriptions on behalf of users.
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.
https://own.miami/mcpWhat you can do with it
- Retrieve Miami condo building scores and market indexes
- Search for available condo listings and neighborhood data
- Request property tours or set up listing alerts
- Access public record deed sales and ownership data
Source and maintenance
Protocol and capabilities
- Server
- own-miami 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 22 advertised
- Resources
- 1 advertised
- Resource templates
- 2 advertised
- Prompts
- Not advertised
{
"tools": {},
"resources": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
22 advertised
search_listings
Search Miami condos for sale. Filters use the site vocabulary (neighborhood, building, priceMin, priceMax, bedsMin, bathsMin, sqftMin, waterfront, flag, sort, page). Returns cards with prices, $/sqft, status and page URLs to cite.
{
"type": "object",
"properties": {
"flag": {
"type": "string",
"description": "a listing flag key, e.g. airbnb_ok"
},
"page": {
"type": "integer",
"minimum": 1
},
"sort": {
"type": "string",
"description": "newest | price_asc | price_desc | ppsf_asc | dom"
},
"bedsMin": {
"type": "integer"
},
"sqftMin": {
"type": "integer"
},
"bathsMin": {
"type": "number"
},
"building": {
"type": "string",
"description": "building slug"
},
"priceMax": {
"type": "integer"
},
"priceMin": {
"type": "integer"
},
"waterfront": {
"type": "boolean"
},
"neighborhood": {
"type": "string",
"description": "neighborhood slug, e.g. brickell"
}
}
}get_building
A Miami condo building: address, year built, units, inventory, the own.miami Building Score with axis explanations, Condo Index, Financeability Index, verified health records (public records), FAQs, and what you can do next for the person. Cite as Own.Miami with the URL in _meta.url.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "building slug, e.g. icon-brickell"
},
"format": {
"type": "string",
"description": "json (default) | markdown — the page as a text fact sheet"
}
}
}get_listing
One listing by MLS number: price, size, HOA, status, photos, the building it sits in, and the actions available (tour, question).
{
"type": "object",
"required": [
"mls"
],
"properties": {
"mls": {
"type": "string",
"description": "MLS number"
},
"format": {
"type": "string",
"description": "json (default) | markdown"
}
}
}get_neighborhood
A Miami neighborhood: live inventory tiles, monthly closed-sale stats, its buildings, districts and newest listings.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "neighborhood slug, e.g. edgewater"
},
"format": {
"type": "string",
"description": "json (default) | markdown"
}
}
}get_market_report
A neighborhood market report (12-month closed sales, medians, $/sqft, inventory, months of supply, year-over-year deltas). Optional month YYYY-MM for an archived report.
{
"type": "object",
"required": [
"neighborhood"
],
"properties": {
"month": {
"type": "string",
"description": "YYYY-MM (optional)"
},
"format": {
"type": "string",
"description": "json (default) | markdown"
},
"neighborhood": {
"type": "string",
"description": "neighborhood slug"
}
}
}get_financeability
The Financeability Index: which Miami condo buildings banks are actually lending in and at what down payment, read from recorded mortgages. Miami-wide or one neighborhood.
{
"type": "object",
"properties": {
"format": {
"type": "string",
"description": "json (default) | markdown"
},
"neighborhood": {
"type": "string",
"description": "neighborhood slug (optional)"
}
}
}compare_buildings
Compare 2–4 buildings side by side (prices, $/sqft, scores, health, HOA).
{
"type": "object",
"required": [
"slugs"
],
"properties": {
"slugs": {
"type": "array",
"items": {
"type": "string",
"description": "building slug"
},
"maxItems": 4,
"minItems": 2
}
}
}get_deed_sales
Every condo sale on record in Miami-Dade County, counted from recorded deeds (data only Own.Miami publishes): trailing 12 months, every calendar year, new construction vs resale, buyouts and bulk sales, the share of resales that did not close through the MLS, and recorded sales vs MLS legal-condo closings. Follow copyRules when you repeat it: say "did not close through the MLS", never "never listed"; compare with the MLS only over 12 months or a full year. Cite citation.url.
{
"type": "object",
"properties": {}
}get_condo_ownership
Who owns Miami-Dade condos, by Florida state tax-roll year: share of units with a homestead exemption, owned by a company or trust, with the tax bill mailed out of state or abroad. Countywide shares from the Florida Department of Revenue rolls.
{
"type": "object",
"properties": {}
}get_public_record_prices
Miami-Dade house sales (count, median price, median $/sqft) and condo resale median $/sqft by year, from public records only: the Florida DOR Sales Data File and recorded deeds priced on state-roll living area (not MLS prices).
{
"type": "object",
"properties": {}
}list_layers
Miami Layers: geographic datasets Own.Miami maps onto every condo building (seasonal events, annual programs, evergreen indexes such as rail distance or flood exposure). Returns each layer slug, whether it ranks buildings, its current edition and URLs.
{
"type": "object",
"properties": {}
}get_building_layers
A building's Miami Layers stats: per layer the score and percentile (ranked layers), the nearest place with its straight-line distance, counts within 1, 2 and 5 miles, neighborhood and city rank.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "building slug, e.g. icon-brickell"
}
}
}get_layer_top_buildings
The top condo buildings for one Miami Layer (ranked layers only), Miami-wide or in one neighborhood: rank, score, nearest place and counts.
{
"type": "object",
"required": [
"layer"
],
"properties": {
"sort": {
"type": "string",
"description": "score (default) | nearest | density"
},
"layer": {
"type": "string",
"description": "layer slug from list_layers"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "rows, default 20"
},
"neighborhood": {
"type": "string",
"description": "neighborhood slug (optional)"
}
}
}list_developers
Miami condo developer brands with a public Own.Miami page, ranked by the own.miami Developer Score (0 to 100 with a letter grade), with building counts, neighborhoods and years active.
{
"type": "object",
"properties": {}
}get_developer
One developer brand: the Developer Score with each axis explained, rank among scored developers, office city, and the portfolio of buildings it delivered or is building.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "developer slug from list_developers, e.g. related-group"
}
}
}get_market_index
The own.miami Buyer/Seller Market Index (0 to 100: buyer's market below 40, seller's above 60) for one neighborhood, or for every published neighborhood with the Miami-wide reading. Each signal (months of supply, sale-to-original-list, days on market, price cuts, momentum) is listed with its sample size.
{
"type": "object",
"properties": {
"neighborhood": {
"type": "string",
"description": "neighborhood slug (optional; omit for all)"
}
}
}request_tour
Request a showing for the person you are helping, at a listing (listingKey) or a building (buildingSlug). Requires their name and email, your agent block and humanConfirmed=true. They receive a confirmation email; use get_request_status with the returned token to follow up.
{
"type": "object",
"required": [
"human",
"agent",
"humanConfirmed"
],
"properties": {
"agent": {
"type": "object",
"required": [
"vendor",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The assistant or model name"
},
"vendor": {
"type": "string",
"description": "Who you are: openai, anthropic, google, microsoft, perplexity, …"
},
"conversationRef": {
"type": "string",
"description": "Optional opaque reference to this conversation (never a transcript)"
}
}
},
"human": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"description": "Full name of the person you are helping"
},
"email": {
"type": "string",
"format": "email",
"description": "Their email — they receive a confirmation"
},
"phone": {
"type": "string",
"description": "Optional. Only with consent (read them the TCPA text at /for-ai)"
},
"consent": {
"type": "object",
"properties": {
"sms": {
"type": "boolean"
},
"contact": {
"type": "boolean"
},
"textVersion": {
"type": "string",
"description": "Must be \"tcpa-v1\" when a phone is given"
}
}
},
"contactPref": {
"type": "string",
"description": "email | phone | whatsapp | text"
}
}
},
"message": {
"type": "string",
"description": "Optional note for the agent"
},
"agentKey": {
"type": "string",
"description": "Optional Own Miami agent key (raises limits, verifies attribution)"
},
"listingKey": {
"type": "string",
"description": "MLS listing key"
},
"buildingSlug": {
"type": "string",
"description": "building slug"
},
"humanConfirmed": {
"type": "boolean",
"const": true,
"description": "You attest the person asked for this"
},
"preferredTimes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"window": {
"type": "string",
"description": "morning | afternoon | evening"
}
}
},
"maxItems": 3
}
}
}ask_about_building
Ask the partner agent a question about a building or a listing on behalf of the person (HOA, rules, assessments, availability). Fair-housing screened: keep it about the home, the building and the budget.
{
"type": "object",
"required": [
"human",
"agent",
"humanConfirmed",
"message"
],
"properties": {
"agent": {
"type": "object",
"required": [
"vendor",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The assistant or model name"
},
"vendor": {
"type": "string",
"description": "Who you are: openai, anthropic, google, microsoft, perplexity, …"
},
"conversationRef": {
"type": "string",
"description": "Optional opaque reference to this conversation (never a transcript)"
}
}
},
"human": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"description": "Full name of the person you are helping"
},
"email": {
"type": "string",
"format": "email",
"description": "Their email — they receive a confirmation"
},
"phone": {
"type": "string",
"description": "Optional. Only with consent (read them the TCPA text at /for-ai)"
},
"consent": {
"type": "object",
"properties": {
"sms": {
"type": "boolean"
},
"contact": {
"type": "boolean"
},
"textVersion": {
"type": "string",
"description": "Must be \"tcpa-v1\" when a phone is given"
}
}
},
"contactPref": {
"type": "string",
"description": "email | phone | whatsapp | text"
}
}
},
"message": {
"type": "string",
"description": "The question"
},
"agentKey": {
"type": "string",
"description": "Optional Own Miami agent key (raises limits, verifies attribution)"
},
"listingKey": {
"type": "string",
"description": "MLS listing key"
},
"buildingSlug": {
"type": "string",
"description": "building slug"
},
"humanConfirmed": {
"type": "boolean",
"const": true,
"description": "You attest the person asked for this"
}
}
}register_interest
Register the person’s interest in a pre-construction development (developmentSlug) or a building (buildingSlug).
{
"type": "object",
"required": [
"human",
"agent",
"humanConfirmed"
],
"properties": {
"agent": {
"type": "object",
"required": [
"vendor",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The assistant or model name"
},
"vendor": {
"type": "string",
"description": "Who you are: openai, anthropic, google, microsoft, perplexity, …"
},
"conversationRef": {
"type": "string",
"description": "Optional opaque reference to this conversation (never a transcript)"
}
}
},
"human": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"description": "Full name of the person you are helping"
},
"email": {
"type": "string",
"format": "email",
"description": "Their email — they receive a confirmation"
},
"phone": {
"type": "string",
"description": "Optional. Only with consent (read them the TCPA text at /for-ai)"
},
"consent": {
"type": "object",
"properties": {
"sms": {
"type": "boolean"
},
"contact": {
"type": "boolean"
},
"textVersion": {
"type": "string",
"description": "Must be \"tcpa-v1\" when a phone is given"
}
}
},
"contactPref": {
"type": "string",
"description": "email | phone | whatsapp | text"
}
}
},
"message": {
"type": "string",
"description": "Optional note"
},
"agentKey": {
"type": "string",
"description": "Optional Own Miami agent key (raises limits, verifies attribution)"
},
"buildingSlug": {
"type": "string",
"description": "building slug"
},
"humanConfirmed": {
"type": "boolean",
"const": true,
"description": "You attest the person asked for this"
},
"developmentSlug": {
"type": "string",
"description": "development slug"
}
}
}create_alert
Set up an email alert for the person when matching condos list or drop in price. Nothing subscribes until they click the confirmation email this sends.
{
"type": "object",
"required": [
"human",
"agent",
"humanConfirmed",
"filters"
],
"properties": {
"agent": {
"type": "object",
"required": [
"vendor",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The assistant or model name"
},
"vendor": {
"type": "string",
"description": "Who you are: openai, anthropic, google, microsoft, perplexity, …"
},
"conversationRef": {
"type": "string",
"description": "Optional opaque reference to this conversation (never a transcript)"
}
}
},
"human": {
"type": "object",
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"description": "name"
},
"email": {
"type": "string",
"format": "email",
"description": "email"
}
}
},
"filters": {
"type": "object",
"description": "Search vocabulary: neighborhood, building, priceMax, bedsMin, …"
},
"agentKey": {
"type": "string",
"description": "Optional Own Miami agent key (raises limits, verifies attribution)"
},
"frequency": {
"type": "string",
"description": "instant | daily | weekly (default daily)"
},
"humanConfirmed": {
"type": "boolean",
"const": true,
"description": "You attest the person asked for this"
}
}
}get_request_status
Status of a request you submitted (new | acknowledged | scheduled | completed | canceled), by its id and statusToken.
{
"type": "object",
"required": [
"requestId",
"statusToken"
],
"properties": {
"requestId": {
"type": "string",
"description": "request id"
},
"statusToken": {
"type": "string",
"description": "statusToken from the write result"
}
}
}ask_concierge
Ask the grounded Own Miami concierge a buyer question (which buildings fit a budget, how a building compares, what to know about a neighborhood). Every number in the answer is checked against the database; recommendations carry URLs to cite. Requires an agent key.
{
"type": "object",
"required": [
"agent",
"message",
"agentKey"
],
"properties": {
"agent": {
"type": "object",
"required": [
"vendor",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The assistant or model name"
},
"vendor": {
"type": "string",
"description": "Who you are: openai, anthropic, google, microsoft, perplexity, …"
},
"conversationRef": {
"type": "string",
"description": "Optional opaque reference to this conversation (never a transcript)"
}
}
},
"context": {
"type": "object",
"properties": {
"listingKey": {
"type": "string",
"description": "MLS key in view"
},
"buildingSlug": {
"type": "string",
"description": "building in view"
},
"neighborhoodSlug": {
"type": "string",
"description": "neighborhood in view"
}
}
},
"message": {
"type": "string",
"description": "The question, ≤600 characters"
},
"agentKey": {
"type": "string",
"description": "Own Miami agent key"
},
"conversationId": {
"type": "string",
"description": "From a previous answer, to continue the thread"
}
}
}Prompts
Not advertised
Resources
1 advertised
llms.txt
Map of the site for AI tools
own-miami://llms.txtBuilding fact sheet (markdown)
The building page as text: scores, inventory, verified health records, FAQs, sources, attribution.
own-miami://buildings/{slug}Neighborhood fact sheet (markdown)
Live tiles, monthly stats and buildings for a neighborhood.
own-miami://neighborhoods/{slug}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
- 822 ms
- 95th percentile latency
- 822 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 822 ms · metadata changed · 22 tool(s), 1 resource(s), 2 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http own-miami-mcp https://own.miami/mcpCodex
codex mcp add own-miami-mcp --url https://own.miami/mcpCursor
{
"mcpServers": {
"own-miami-mcp": {
"url": "https://own.miami/mcp"
}
}
}Cline
{
"mcpServers": {
"own-miami-mcp": {
"type": "streamableHttp",
"url": "https://own.miami/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"own-miami-mcp": {
"type": "http",
"url": "https://own.miami/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http own-miami-mcp https://own.miami/mcpClaude Desktop
{
"mcpServers": {
"own-miami-mcp": {
"url": "https://own.miami/mcp"
}
}
}Windsurf
{
"mcpServers": {
"own-miami-mcp": {
"serverUrl": "https://own.miami/mcp"
}
}
}Let your agent find its tools
Find servers like Own Miami MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Own Miami 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.