LivinIsto CZ
Flats, houses and plots for sale or rent in Czechia: search, price verdicts and prices per m².
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"real-estate": {
"url": "https://www.livinisto.cz/mcp"
}
}
}Remote-Endpunkte
https://www.livinisto.cz/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (3)
🟢search_properties(query)
Use this when the user wants to find a home for sale or rent in the Czech Republic — a flat, house, cottage or building plot — by layout (2+kk, 3+1…), town, district or city part, price, floor area or features. Covers listings agencies and sellers published on LivinIsto directly and public listings from Czech property portals. Pass the criteria as ONE short phrase in Czech (Slovak also works), with numbers as the user said them. Examples that are fully understood: "byt 2+kk Praha do 6 milionů", "pronájem 1+1 Brno do 15000", "rodinný dům Plzeň do 8 milionů", "pozemek Kolín". Leave out filler words (hledám, prosím, pěkný); words that are not a recognised filter are either matched in the listing text (matchedInText) or not applied (notUnderstood). At most 6 such unrecognised words are matched in the text; any beyond that are returned in notUnderstood. Returns up to 10 homes, what was understood, which criteria were relaxed when nothing matched exactly, which words were not applied, and a link to all results. Limits: only homes currently listed on LivinIsto (Czech Republic, prices in CZK, rents monthly); no commercial property, garages, holiday stays or property abroad; the offer changes daily, so a home may already be gone.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "Concrete criteria in Czech, e.g. \"byt 3+kk Brno do 7 milionů\" or \"pronájem 2+1 Ostrava\"."
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"understood": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filters LivinIsto read from the phrase AND applied to these results, in Czech (e.g. byt, 2+kk, Praha, do 6 000 000 Kč). A filter that had to be dropped is in relaxed instead, never here."
},
"transaction": {
"type": "string",
"enum": [
"sale",
"rent"
],
"description": "Sale unless the phrase asked for rent (or the budget can only be a monthly rent — then summary says so)."
},
"relaxed": {
"type": "array",
"items": {
"type": "string"
},
"description": "Criteria dropped or widened because nothing matched exactly, in Czech: the relaxation step, then each understood filter the results may NOT satisfy."
},
"matchedInText": {
"type": "array",
"items": {
"type": "string"
},
"description": "Words that are not a filter LivinIsto understands; results were narrowed to listings whose text contains them. Say so — the text match is not a verified feature."
},
"notUnderstood": {
"type": "array",
"items": {
"type": "string"
},
"description": "Words from the query that were NOT applied at all. Empty together with empty relaxed and matchedInText = the results match everything in the query."
},
"totalMatches": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "How many listings in the offer match (after relaxing, if any)."
},
"properties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable LivinIsto listing id; pass it to get_property_details."
},
"name": {
"type": "string",
"description": "Property type and layout as on the LivinIsto card, in Czech (e.g. \"Byt 2+kk\", \"Rodinný dům\")."
},
"propertyType": {
"type": "string",
"description": "byt (flat), dum (house), chata (cottage), pozemek (building plot), apartman."
},
"transaction": {
"type": "string",
"enum": [
"sale",
"rent"
]
},
"layout": {
"description": "Czech layout, e.g. 2+kk (two rooms with a kitchenette) or 3+1 (three rooms and a separate kitchen).",
"type": [
"string",
"null"
]
},
"areaM2": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Floor area in m²; null when not stated (and for a room in a shared flat)."
},
"landAreaM2": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Plot area in m² (houses and plots)."
},
"location": {
"description": "Municipality and part as stated in the listing.",
"type": [
"string",
"null"
]
},
"municipality": {
"type": [
"string",
"null"
]
},
"cityPart": {
"type": [
"string",
"null"
]
},
"district": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
},
"priceCzk": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Asking price in CZK (monthly for rent). null = the listing states no real price for the whole property (auction starting bid, co-ownership share, price on request, short-term rent) — see priceNote; never present any number for it."
},
"priceText": {
"description": "The price formatted in Czech, e.g. \"6 490 000 Kč\" or \"18 000 Kč/měs.\".",
"type": [
"string",
"null"
]
},
"pricePerM2Czk": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"pricePerM2Text": {
"type": [
"string",
"null"
]
},
"priceNote": {
"description": "Why no price is shown, in Czech. Tell the user.",
"type": [
"string",
"null"
]
},
"priceVerdict": {
"anyOf": [
{
"type": "string",
"enum": [
"below_market",
"around_market",
"above_market"
]
},
{
"type": "null"
}
],
"description": "LivinIsto price verdict against comparable listings (same municipality and type, similar layout and size). null = not enough comparable listings, or no stated price."
},
"priceSavingPerM2Czk": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "CZK per m² below the median of comparable listings; only with below_market."
},
"comparableCount": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many comparable listings the saving is computed from."
},
"roomOnly": {
"type": "boolean",
"description": "A room in a shared flat, not the whole flat."
},
"reserved": {
"type": "boolean",
"description": "The source marks the property as reserved."
},
"source": {
"type": "string",
"description": "Where the listing comes from (portal name, or LivinIsto for a listing published directly on LivinIsto)."
},
"url": {
"type": "string",
"description": "Link to the listing on www.livinisto.cz — show it to the user unchanged."
},
"photoUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name",
"propertyType",
"transaction",
"layout",
"areaM2",
"landAreaM2",
"location",
"municipality",
"cityPart",
"district",
"region",
"priceCzk",
"priceText",
"pricePerM2Czk",
"pricePerM2Text",
"priceNote",
"priceVerdict",
"priceSavingPerM2Czk",
"comparableCount",
"roomOnly",
"reserved",
"source",
"url",
"photoUrl"
],
"additionalProperties": false
},
"description": "Up to 10 listings in LivinIsto's order (listings published directly on LivinIsto first, then best value or closest to the budget)."
},
"allResultsUrl": {
"type": "string",
"description": "All matching listings on www.livinisto.cz."
},
"summary": {
"type": "string",
"description": "LivinIsto's own Czech sentence about the results (what was found, relaxed and how it is sorted)."
},
"note": {
"type": [
"string",
"null"
]
}
},
"required": [
"query",
"understood",
"transaction",
"relaxed",
"matchedInText",
"notUnderstood",
"totalMatches",
"properties",
"allResultsUrl",
"summary",
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_property_details(propertyId)
Use this when the user asks for more about one specific home returned by search_properties (floor, condition, construction, ownership, energy class, balcony, lift, parking, price history). Requires the property id from search_properties; do not guess ids. Returns the facts LivinIsto shows on the listing page and its price verdict; it does not return the name, phone or e-mail of the agent or seller, the listing description or the source URL — for contact the user opens the listing's url. If the listing is no longer in the offer, found is false.
Eingabe-Schema
{
"type": "object",
"properties": {
"propertyId": {
"type": "string",
"minLength": 8,
"maxLength": 40,
"description": "The id of a property from search_properties results."
}
},
"required": [
"propertyId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"found": {
"type": "boolean"
},
"property": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable LivinIsto listing id; pass it to get_property_details."
},
"name": {
"type": "string",
"description": "Property type and layout as on the LivinIsto card, in Czech (e.g. \"Byt 2+kk\", \"Rodinný dům\")."
},
"propertyType": {
"type": "string",
"description": "byt (flat), dum (house), chata (cottage), pozemek (building plot), apartman."
},
"transaction": {
"type": "string",
"enum": [
"sale",
"rent"
]
},
"layout": {
"description": "Czech layout, e.g. 2+kk (two rooms with a kitchenette) or 3+1 (three rooms and a separate kitchen).",
"type": [
"string",
"null"
]
},
"areaM2": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Floor area in m²; null when not stated (and for a room in a shared flat)."
},
"landAreaM2": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Plot area in m² (houses and plots)."
},
"location": {
"description": "Municipality and part as stated in the listing.",
"type": [
"string",
"null"
]
},
"municipality": {
"type": [
"string",
"null"
]
},
"cityPart": {
"type": [
"string",
"null"
]
},
"district": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
},
"priceCzk": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Asking price in CZK (monthly for rent). null = the listing states no real price for the whole property (auction starting bid, co-ownership share, price on request, short-term rent) — see priceNote; never present any number for it."
},
"priceText": {
"description": "The price formatted in Czech, e.g. \"6 490 000 Kč\" or \"18 000 Kč/měs.\".",
"type": [
"string",
"null"
]
},
"pricePerM2Czk": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"pricePerM2Text": {
"type": [
"string",
"null"
]
},
"priceNote": {
"description": "Why no price is shown, in Czech. Tell the user.",
"type": [
"string",
"null"
]
},
"priceVerdict": {
"anyOf": [
{
"type": "string",
"enum": [
"below_market",
"around_market",
"above_market"
]
},
{
"type": "null"
}
],
"description": "LivinIsto price verdict against comparable listings (same municipality and type, similar layout and size). null = not enough comparable listings, or no stated price."
},
"priceSavingPerM2Czk": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "CZK per m² below the median of comparable listings; only with below_market."
},
"comparableCount": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "How many comparable listings the saving is computed from."
},
"roomOnly": {
"type": "boolean",
"description": "A room in a shared flat, not the whole flat."
},
"reserved": {
"type": "boolean",
"description": "The source marks the property as reserved."
},
"source": {
"type": "string",
"description": "Where the listing comes from (portal name, or LivinIsto for a listing published directly on LivinIsto)."
},
"url": {
"type": "string",
"description": "Link to the listing on www.livinisto.cz — show it to the user unchanged."
},
"photoUrl": {
"type": [
"string",
"null"
]
},
"rooms": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"floor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "0 = ground floor."
},
"totalFloors": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"condition": {
"type": [
"string",
"null"
]
},
"construction": {
"type": [
"string",
"null"
]
},
"ownership": {
"description": "Osobní (freehold) or Družstevní (cooperative).",
"type": [
"string",
"null"
]
},
"energyClass": {
"description": "PENB energy class A–G as stated.",
"type": [
"string",
"null"
]
},
"buildYear": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"balcony": {
"type": [
"boolean",
"null"
]
},
"lift": {
"type": [
"boolean",
"null"
]
},
"parking": {
"type": [
"boolean",
"null"
]
},
"cellar": {
"type": [
"boolean",
"null"
]
},
"priceHistory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"priceCzk": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"date",
"priceCzk"
],
"additionalProperties": false
},
"description": "Prices LivinIsto has seen for this listing, oldest first; empty when there is no real price."
},
"photoCountAtSource": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"propertyType",
"transaction",
"layout",
"areaM2",
"landAreaM2",
"location",
"municipality",
"cityPart",
"district",
"region",
"priceCzk",
"priceText",
"pricePerM2Czk",
"pricePerM2Text",
"priceNote",
"priceVerdict",
"priceSavingPerM2Czk",
"comparableCount",
"roomOnly",
"reserved",
"source",
"url",
"photoUrl",
"rooms",
"floor",
"totalFloors",
"condition",
"construction",
"ownership",
"energyClass",
"buildYear",
"balcony",
"lift",
"parking",
"cellar",
"priceHistory",
"photoCountAtSource"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"note": {
"type": [
"string",
"null"
]
}
},
"required": [
"found",
"property",
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_price_per_m2(location, propertyType, transaction, layout)
Use this when the user asks how much homes cost per square metre in a Czech town or city part, or whether a price per m² is reasonable. Returns the median ASKING price per m² of the municipality (monthly for rent) from LivinIsto's monthly index, with the sample size and month; with a layout (2+kk, 3+1…) also the median of today's comparable listings. No median below 8 listings. These are prices sellers ask, not sale prices; location, condition and floor move the price, so present it as a guide. No figure means found: false — an unknown place (location null) or a known place with too few listings (location set) — never a national figure. Do not use it to value a specific property's condition, for commercial property or for places outside the Czech Republic.
Eingabe-Schema
{
"type": "object",
"properties": {
"location": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "Municipality or city part in Czech, e.g. Brno, Kolín, Praha 5, Smíchov."
},
"propertyType": {
"description": "byt (flat, default), dum (house), chata (cottage), pozemek (building plot), apartman.",
"type": "string",
"enum": [
"byt",
"dum",
"chata",
"pozemek",
"apartman"
]
},
"transaction": {
"description": "prodej (sale, default) or pronajem (rent; figures are monthly).",
"type": "string",
"enum": [
"prodej",
"pronajem"
]
},
"layout": {
"description": "Czech layout such as 2+kk or 3+1 (optional).",
"type": "string",
"pattern": "^\\s*[1-6]\\s*\\+\\s*(kk|KK|1)\\s*$"
}
},
"required": [
"location"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"found": {
"type": "boolean",
"description": "false = no figure: either LivinIsto does not know the place (location is null) or it has too few comparable offers there (location is set; the note says so). Never a national median."
},
"location": {
"description": "The place as LivinIsto understood it (municipality, or a part of Prague/Brno…).",
"type": [
"string",
"null"
]
},
"municipality": {
"description": "The municipality the index covers. For a part of a city it is the WHOLE city — say so.",
"type": [
"string",
"null"
]
},
"propertyType": {
"type": "string"
},
"transaction": {
"type": "string",
"enum": [
"sale",
"rent"
]
},
"scope": {
"type": "string",
"enum": [
"municipality",
"none"
],
"description": "What medianCzkPerM2 covers."
},
"medianCzkPerM2": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Median ASKING price per m² (per month for rent) in the latest month of the municipality index; null when fewer than 8 listings."
},
"medianText": {
"type": [
"string",
"null"
]
},
"sampleSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Listings the median is computed from."
},
"month": {
"description": "Month of the index (YYYY-MM).",
"type": [
"string",
"null"
]
},
"monthComplete": {
"description": "false = the current month, still filling up.",
"type": [
"boolean",
"null"
]
},
"byLayout": {
"anyOf": [
{
"type": "object",
"properties": {
"layout": {
"type": "string"
},
"medianCzkPerM2": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"medianText": {
"type": "string"
},
"sampleSize": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"comparedWith": {
"type": "string",
"description": "Which group of today's offer: cityRoomsLayout = same layout in the municipality, cityRooms = same number of rooms, cityPart = the city part, city/citySize = whole municipality, district/districtSize = whole district."
}
},
"required": [
"layout",
"medianCzkPerM2",
"medianText",
"sampleSize",
"comparedWith"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Only with layout: median of today's comparable listings."
},
"asOf": {
"type": "string",
"description": "Date of the answer (YYYY-MM-DD)."
},
"url": {
"type": "string",
"description": "Price page on www.livinisto.cz."
},
"note": {
"type": [
"string",
"null"
]
}
},
"required": [
"found",
"location",
"municipality",
"propertyType",
"transaction",
"scope",
"medianCzkPerM2",
"medianText",
"sampleSize",
"month",
"monthComplete",
"byLayout",
"asOf",
"url",
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Nachweis