LivinIsto CZ

Flats, houses and plots for sale or rent in Czechia: search, price verdicts and prices per m².

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
100%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~4,521Tokens (definiciones de herramientas)
~14.3 KBTamaño de respuesta típico
Impacto significativo en la atención (3.53% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "real-estate": {
      "url": "https://www.livinisto.cz/mcp"
    }
  }
}

Puntos de conexión remotos

https://www.livinisto.cz/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (3)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada3 herramientas