LivinIsto CZ
Server Details
Flats, houses and plots for sale or rent in Czechia: search, price verdicts and prices per m².
- Status
- Healthy
- Uptime
- 100.0% over 32 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
The three tools target distinct actions: search listings, fetch one listing's details by id, and retrieve a town-level price index. The only mild overlap is price-related questions, which could plausibly route to either search_properties or get_price_per_m2, but the descriptions clearly separate town-level index figures from individual listing search. No real risk of misselection.
All names are snake_case and follow a verb_noun structure (get_price_per_m2, get_property_details, search_properties). The get_ prefix is used twice while the third uses search_, a minor deviation, but the verb choice reflects the action well and the pattern stays readable.
Three tools is on the lean side but well-scoped: find homes, inspect one home, and get area pricing. Each tool earns its place with no filler. A slightly larger surface (e.g., a refine/results tool) could help, but nothing feels redundant.
For a read-only listing/index server the core lifecycle is covered: search, per-property detail, and market pricing, with a clear dependency chain (details require an id from search). Minor gaps exist—no explicit pagination or result-refinement tool beyond the 'link to all results'—but these are workable.
Available Tools
3 toolsget_price_per_m2Get typical asking price per m²ARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| layout | No | Czech layout such as 2+kk or 3+1 (optional). | |
| location | Yes | Municipality or city part in Czech, e.g. Brno, Kolín, Praha 5, Smíchov. | |
| transaction | No | prodej (sale, default) or pronajem (rent; figures are monthly). | |
| propertyType | No | byt (flat, default), dum (house), chata (cottage), pozemek (building plot), apartman. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | Price page on www.livinisto.cz. |
| asOf | Yes | Date of the answer (YYYY-MM-DD). |
| note | Yes | |
| found | Yes | 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. |
| month | Yes | Month of the index (YYYY-MM). |
| scope | Yes | What medianCzkPerM2 covers. |
| byLayout | Yes | Only with layout: median of today's comparable listings. |
| location | Yes | The place as LivinIsto understood it (municipality, or a part of Prague/Brno…). |
| medianText | Yes | |
| sampleSize | Yes | Listings the median is computed from. |
| transaction | Yes | |
| municipality | Yes | The municipality the index covers. For a part of a city it is the WHOLE city — say so. |
| propertyType | Yes | |
| monthComplete | Yes | false = the current month, still filling up. |
| medianCzkPerM2 | Yes | Median ASKING price per m² (per month for rent) in the latest month of the municipality index; null when fewer than 8 listings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover read-only/idempotent/no-destruction, but the description adds substantive behavior: asking prices vs actual sale prices, the 8-listing minimum sample rule, monthly figures for rent, and the found: false contract distinguishing an unknown place from a too-sparse one (never a national fallback). This is meaningfully beyond what the structured fields disclose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded with the usage trigger, then return semantics, then caveats and exclusions. Every clause carries information (thresholds, rent cadence, found: false), though the single long paragraph is heavier than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a statistical lookup with an output schema, the description covers everything an agent needs: trigger, caveat framing ('a guide'), sample-size floor, the missing-data contract, and exclusions. Return-value structure is deferred to the output schema, which is correct.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, so the baseline is 3, but the description adds effect-level meaning: supplying a layout also returns the median of today's comparable listings, and the rent transaction yields monthly figures. It stops short of explaining propertyType choices (e.g. pozemek/apartman), so it is above baseline rather than exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: returns the median ASKING price per m² of a Czech municipality from LivinIsto's monthly index, optionally extended by layout. This is clearly distinct from get_property_details (a specific property) and search_properties (finding listings), since it is an aggregate statistic and the description frames it that way.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger conditions ('when the user asks how much homes cost per square metre... or whether a price per m² is reasonable') and explicit exclusions ('Do not use it to value a specific property's condition, for commercial property or for places outside the Czech Republic'). The when/when-not pair is about as complete as this class of tool needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_property_detailsGet property detailsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| propertyId | Yes | The id of a property from search_properties results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| found | Yes | |
| property | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive), yet the description still adds substantive behavior: what is deliberately NOT returned (agent/seller name, phone, e-mail, listing description, source URL) and the miss case ('found is false' when the listing left the offer). That is exactly the kind of negative/boundary disclosure annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the usage trigger and tightly packed — every clause carries information (scope, precondition, exclusions, miss case). It is dense rather than bloated, though the long parenthetical field list and multi-clause final sentences make it heavier than an ideal single-pass read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with an output schema already defining return shape, the description supplies everything an agent needs: invocation source for the id, scope of returned facts, explicit omissions, and the failure signal. No gaps remain that would cause a mis-call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single propertyId parameter, so baseline is 3, but the description adds real meaning beyond the schema: the id must originate from search_properties results and must not be guessed. It stops short of format examples or validation behavior, so it is above baseline but not maximal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('more about one specific home returned by search_properties') and enumerates exactly what detail is covered (floor, condition, construction, ownership, energy class, balcony, lift, parking, price history). This clearly separates it from get_price_per_m2 and search_properties without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('when the user asks for more about one specific home returned by search_properties'), a precondition ('Requires the property id from search_properties; do not guess ids'), and routes the out-of-scope contact need to an alternative ('the user opens the listing's url'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_propertiesSearch homes for sale or rentARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Concrete criteria in Czech, e.g. "byt 3+kk Brno do 7 milionů" or "pronájem 2+1 Ostrava". |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| query | Yes | |
| relaxed | Yes | Criteria dropped or widened because nothing matched exactly, in Czech: the relaxation step, then each understood filter the results may NOT satisfy. |
| summary | Yes | LivinIsto's own Czech sentence about the results (what was found, relaxed and how it is sorted). |
| properties | Yes | Up to 10 listings in LivinIsto's order (listings published directly on LivinIsto first, then best value or closest to the budget). |
| understood | Yes | 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 | Yes | Sale unless the phrase asked for rent (or the budget can only be a monthly rent — then summary says so). |
| totalMatches | Yes | How many listings in the offer match (after relaxing, if any). |
| allResultsUrl | Yes | All matching listings on www.livinisto.cz. |
| matchedInText | Yes | 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 | Yes | Words from the query that were NOT applied at all. Empty together with empty relaxed and matchedInText = the results match everything in the query. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, openWorldHint=false, destructiveHint=false), so the description is free to add the traits annotations cannot express: at most 6 unrecognised words get matched in listing text, extras are returned in notUnderstood, up to 10 results, and relaxed criteria are reported when nothing matched exactly. This is unusually rich disclosure for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the when-to-use trigger, then query mechanics, then limits and return behaviour — a logical order with no filler sentences. It is long for a one-parameter tool, and the Czech-language examples plus the 6-word rule could be tightened, but each sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists and return values need not be explained, the description covers what an agent needs end-to-end: query format, language, limits, exclusions, result cap, and how unparsed input is surfaced (notUnderstood/matchedInText). Nothing required to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'query' param, yet the description still adds real semantics beyond the schema: pass criteria as ONE short phrase, in Czech (Slovak accepted), with numbers as the user said them, omitting filler words like hledám/prosím. The worked examples ('byt 2+kk Praha do 6 milionů') show the expected string shape far better than the schema's single example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (homes for sale or rent), plus a precise scope: Czech Republic, flats/houses/cottages/plots, by layout, town, district, price, floor area or features. An agent can immediately tell this apart from get_property_details and get_price_per_m2, which are single-property/price-analytics tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit when-to-use trigger ('Use this when the user wants to find a home for sale or rent...') and closes with an explicit when-not list: no commercial property, garages, holiday stays or property abroad. It also states the freshness caveat ('the offer changes daily, so a home may already be gone'), which tells the agent to expect stale results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
search_properties1 field changed- added
Output schema / properties / properties / items / properties / paidListingAdded value: +{ + "type": "boolean" +}
1 tool update
- Changed
get_price_per_m21 field changed- changed
Output schema / properties / found / descriptionPrevious value: -"false = LivinIsto does not know the place; no figure is given for it (never a national median)."New value: +"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."
3 tool updates
- First observed
get_price_per_m2 - First observed
get_property_details - First observed
search_properties
Related MCP Connectors
Flats, houses and plots for sale or rent in Slovakia: search, price verdicts and prices per m².
Search Czech flats for sale from 19 portals, merged into one offer per flat.
Search Czech rental listings from 27 portals, merged into one offer per flat.
Used cars for sale in Czechia: plain-language search, price verdicts and typical asking prices.
Related MCP Servers
AlicenseAqualityBmaintenance7M+ real estate transactions from Poland's RCN registry. Search, compare, and analyze prices30174 npm1MIT- AlicenseAqualityCmaintenanceEnables AI assistants to query real Polish real-estate transaction prices for flats, houses, and building plots from the official notarial registry. It returns median price per square meter, price ranges, room breakdowns, market type, yearly trends, and recent sales within a radius of any Polish address, street, town, or coordinates.493 npmMIT
- AlicenseNot gradedqualityCmaintenanceAccess 17M+ geocoded French property transactions (DVF), 22M+ DPE energy ratings, and 20M+ building records via MCP or REST API. Search transactions, market stats, comparables, price trends, rental yield, flip detection, and more.MIT
- AlicenseAqualityBmaintenanceEnables read-only search and retrieval of real-estate listings, district browsing, and market price statistics such as median price per square meter.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.