{
"transport": "streamable_http",
"url": "http://localhost:8080/mcp",
"groups": {
"search": [
"search_similar_listings_tool",
"search_by_metadata_tool"
],
"details": [
"get_listing_by_id_tool"
],
"schema": [
"describe_schema_tool"
]
},
"instructions": "VMK Data MCP Server provides read-only access to a real-estate database (property_listings).\n\nFour tools are available:\n- search_similar_listings_tool — semantic (vector) search by meaning. Use when the user describes atmosphere, qualities, or feelings ('cozy apartment with renovation near metro').\n- search_by_metadata_tool — full-text search (FTS) + metadata filters. Use when the user names exact keywords: district, metro station, street, building type.\n- get_listing_by_id_tool — fetch a single listing by its integer ID.\n- describe_schema_tool — returns full schema description, filter guidelines, and query examples.\n\nCRITICAL RULES:\n1. ALL text queries ('query' parameter) MUST be in UKRAINIAN. Translate the user's request before calling the tool.\n2. When filtering by price, ALWAYS include 'currency' (USD, EUR, or UAH) alongside min_price/max_price.\n3. If a search returns 0 results, fallback: try the other search type, remove 1–2 strict filters (usually district or metro_station), or simplify the query.\n4. city, district, and metro_station use substring match (case-insensitive).\n5. rooms_count: 0 means studio apartment.\n6. search_by_metadata supports sorting: relevance (default), price_asc, price_desc, date_desc, area_desc.\n7. Pagination: total > limit means more pages exist. Next page: offset += limit.\n8. Images: every listing result includes an `images` field with direct URLs (http://localhost:8080/images/<local_path>). Search tools return up to 5 images per listing; get_listing_by_id_tool returns all available images. Always render these URLs to the user."
}