Koskamo

ImotAI MCP

An official Model Context Protocol server for ImotAI that allows AI assistants to search Bulgarian real estate listings, retrieve property details, access district pricing statistics, and view monthly market reports without requiring authentication.

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.

ImotAI MCP logo, by ImotAIVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by ImotAI
MCP endpoint (Streamable HTTP)
https://imotai.bg/mcp
Vendor documentation

What you can do with it

  • Search for properties by city, district, type, price, area, and number of rooms
  • Retrieve detailed information for a specific property listing
  • Get market statistics and median prices by city or district
  • Access monthly ImotAI market reports for specific cities

Source and maintenance

Vendor evidenceRegistry 0.2.0
Maintenance checked

Protocol and capabilities

Server
imotai 0.2.0
MCP protocol
2025-06-18
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

6 advertised

list_districts — List ImotAI districts for a city
Advertised by the server during the last successful anonymous check.

List the districts (neighbourhoods) of a Bulgarian city that ImotAI has data for, with the count of active listings in each where a public price page exists. Call this first to learn which "district" values are valid for the other ImotAI tools in a given city.

list_districts input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "city"
  ],
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City slug (\"sofia\") or its Bulgarian name (\"София\")."
    }
  },
  "additionalProperties": false
}
search_properties — Search ImotAI listings
Advertised by the server during the last successful anonymous check.

Search Bulgarian real-estate listings on imotai.bg by city, district, property type, price range, area range and rooms. Returns up to 25 listings with structured fields, a link to each, and a district-level marketContext block (district average price per m² and how far this listing deviates from it). No contact details or free-text descriptions.

search_properties input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "city",
    "transactionType"
  ],
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City slug (\"sofia\") or Bulgarian name."
    },
    "limit": {
      "type": "integer",
      "maximum": 25,
      "minimum": 1,
      "description": "Default 10, max 25."
    },
    "rooms": {
      "type": "string",
      "description": "CSV of room counts, e.g. \"2,3\"; \"5+\" for 5 or more."
    },
    "maxArea": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "minArea": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "district": {
      "type": "string",
      "description": "District slug from list_districts, e.g. \"lozenets\"."
    },
    "maxPrice": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "minPrice": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "propertyType": {
      "enum": [
        "apartment",
        "house",
        "villa",
        "studio",
        "office",
        "shop",
        "warehouse",
        "land",
        "garage",
        "other"
      ],
      "type": "string"
    },
    "transactionType": {
      "enum": [
        "sale",
        "rent"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_property — Get one ImotAI listing
Advertised by the server during the last successful anonymous check.

Get the full structured data for one ImotAI listing by its id or slug: price, price per m², area, rooms, floor, construction, heating, location (city/district), features, and an authoritative per-listing marketContext (district average and median price per m², deviation percent, comparable active count). Does NOT return the broker free-text description, contact details, or exact coordinates.

get_property input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The listing id (UUID) or its URL slug."
    }
  },
  "additionalProperties": false
}
get_market_stats — ImotAI market statistics for a city or district
Advertised by the server during the last successful anonymous check.

The market picture for a Bulgarian city or district on imotai.bg: number of offers, average and P25/P50/P75 for total price and price per m², a breakdown by room count, and the neighbouring districts for comparison. Apartments for sale. Returns { available: false } below 8 offers.

get_market_stats input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "city"
  ],
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City slug (\"sofia\") or Bulgarian name."
    },
    "district": {
      "type": "string",
      "description": "District slug or name from list_districts; omit for city-level stats."
    }
  },
  "additionalProperties": false
}
estimate_value — ImotAI rough value positioning
Advertised by the server during the last successful anonymous check.

Rough price positioning for a property by city, district, type and area — based on the CURRENT ASKING PRICES of comparable active listings, not on closed transactions. Returns an estimate, a low–high range, a confidence level from sample size, and a mandatory disclaimer. Refuses below 5 comparable offers. You MUST show the "disclaimer" field to the user verbatim whenever you cite any number from this tool. Never call this an official or precise property valuation.

estimate_value input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "city",
    "district",
    "propertyType",
    "area"
  ],
  "properties": {
    "area": {
      "type": "number",
      "description": "Living area in m².",
      "exclusiveMinimum": 0
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City slug (\"sofia\") or Bulgarian name."
    },
    "rooms": {
      "type": "integer",
      "description": "Accepted but not used for filtering.",
      "exclusiveMinimum": 0
    },
    "district": {
      "type": "string",
      "minLength": 1,
      "description": "District slug or name from list_districts."
    },
    "propertyType": {
      "enum": [
        "apartment",
        "house",
        "villa",
        "studio",
        "land"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_market_report — ImotAI monthly market report for a city
Advertised by the server during the last successful anonymous check.

The monthly ImotAI market report for a Bulgarian city: median asking price per m² of apartments for sale, change versus the previous month, the same per district, and the number of new listings in the month. Omit "month" for the latest report. Cite the "url" and "source" fields when you use the numbers.

get_market_report input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "city"
  ],
  "properties": {
    "city": {
      "type": "string",
      "minLength": 1,
      "description": "City slug (\"plovdiv\") or Bulgarian name (\"Пловдив\")."
    },
    "month": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}$",
      "description": "Report month as YYYY-MM, e.g. \"2026-10\". Omit for the latest."
    }
  },
  "additionalProperties": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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

Maintenance history

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

  • · probe · passed · 1332 ms · metadata changed · 6 tool(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 imotai-mcp https://imotai.bg/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 imotai-mcp --url https://imotai.bg/mcp

Cursor

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

Cline

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

VS Code

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

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "imotai-mcp": {
      "url": "https://imotai.bg/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": {
    "imotai-mcp": {
      "serverUrl": "https://imotai.bg/mcp"
    }
  }
}

Let your agent find its tools

Find servers like ImotAI 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 ImotAI 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