Koskamo

Bydleno Sales MCP

An official MCP server operated by Bydleno that allows AI assistants to search for apartments for sale in the Czech Republic. It aggregates listings from multiple real estate portals, deduplicates them, and provides search capabilities based on criteria like location, price, area, and amenities, returning the top 10 results with summary data.

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.

Bydleno Sales MCP logo, by BydlenoVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Bydleno
MCP endpoint (Streamable HTTP)
https://za.bydleno.cz/api/mcp/
Vendor documentation

What you can do with it

  • Search for apartments for sale by location, price, or amenities
  • Retrieve top 10 matching listings with price and area details
  • Access aggregated real estate data from multiple Czech portals

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
bydleno 1
MCP protocol
2025-06-18
Tools
1 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Nabídky bytů na prodej v Česku, sesbírané z realitních portálů a spojené do jedné nabídky, když stejný byt visí na víc z nich. Výsledky odkazuj na za.bydleno.cz.

Tools

1 advertised

search_sales — Hledání bytů na prodej
Advertised by the server during the last successful anonymous check.
Advertised read-only

Najde byty na prodej v Česku podle zadaných kritérií. Vrátí prvních deset nabídek, celkový počet a odkaz na celý výpis na za.bydleno.cz. Všechny parametry jsou volitelné a bez nich dostaneš nejnovější nabídky; zadávej jen ta kritéria, která uživatel řekl. Nejčastěji stačí location_texts, layout_id a price_range_to. Hodnoty výčtů piš přesně jako popisky ze schématu ("2+kk", "Vybavený"); hodnotu mimo výčet i neznámý parametr zahodíme. Místa (kraje, okresy, obce, městské části, čtvrti, ulice, adresy) předávej česky v 1. pádě v poli location_texts ("Praha 1", ne "Prague 1"), nejvýš deset; místo, které nerozpoznáme, hledáme v textu inzerátu. Když nic neodpovídá, vrátí nulový počet a odkaz na výpis; když hledání selže, vrátí isError a text chyby. Výpis je zdarma, celý detail nabídky je placený (199 Kč za 30 dní přístupu ke všem prodejům). Vždy nabídni uživateli odkaz na výpis i na jednotlivé nabídky.

search_sales input schema
{
  "type": "object",
  "properties": {
    "penb": {
      "type": "array",
      "items": {
        "enum": [
          "A – Mimořádně úsporná",
          "B – Velmi úsporná",
          "C – Úsporná",
          "D – Méně úsporná",
          "E – Nehospodárná",
          "F – Velmi nehospodárná",
          "G – Mimořádně nehospodárná"
        ],
        "type": "string"
      },
      "description": "PENB – energetický štítek budovy."
    },
    "auction": {
      "type": "boolean",
      "description": "Dražba nebo aukce – chci jen dražby (true), nechci dražby (false)."
    },
    "keywords": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Ve většině dotazů zůstává prázdné. Jen slovo, které uživatel sám napsal, popisuje konkrétní vlastnost bytu, nemá vlastní pole a čekáš, že ho majitel napsal i v popisu inzerátu. Slovo, kterému nerozumíš, překlep ani zbytek sousloví sem nepatří – ty dej do unsupported; název místa patří do location_texts."
    },
    "amenities": {
      "type": "array",
      "items": {
        "enum": [
          "Balkon",
          "Garáž",
          "Sklep",
          "Výtah",
          "Vnitroblok",
          "Výhled do zeleně",
          "Vana",
          "Recepce",
          "Sauna",
          "Sprchový kout",
          "Klimatizace",
          "Rekuperace",
          "Pračka",
          "Sušička",
          "Myčka",
          "TV",
          "Krb",
          "Žaluzie",
          "Bezpečnostní systém",
          "Podlahové topení"
        ],
        "type": "string"
      },
      "description": "Vybavení a příslušenství bytu, které uživatel chce (balkon, garáž, sklep, výtah, pračka, myčka, klimatizace…). \"vnitroblok\" znamená byt orientovaný okny do klidného vnitrobloku, ne do ulice. Vyber jen ta, která uživatel zmínil."
    },
    "condition": {
      "type": "array",
      "items": {
        "enum": [
          "Velmi dobrý",
          "Dobrý",
          "Špatný",
          "Ve výstavbě",
          "Projekt",
          "Novostavba",
          "K demolici",
          "Před rekonstrukcí",
          "Po rekonstrukci",
          "V rekonstrukci"
        ],
        "type": "string"
      },
      "description": "Stav"
    },
    "layout_id": {
      "type": "array",
      "items": {
        "enum": [
          "1+kk",
          "1+1",
          "2+kk",
          "2+1",
          "3+kk",
          "3+1",
          "4+kk",
          "4+1",
          "5+kk",
          "5+1",
          "6 a více",
          "Atypický"
        ],
        "type": "string"
      },
      "description": "Dispozice"
    },
    "ownership": {
      "type": "array",
      "items": {
        "enum": [
          "Osobní vlastnictví",
          "Družstevní vlastnictví"
        ],
        "type": "string"
      },
      "description": "Vlastnictví"
    },
    "last_floor": {
      "type": "boolean",
      "description": "Poslední patro – chci (true), nechci (false)."
    },
    "svetly_byt": {
      "type": "boolean",
      "description": "Světlý byt podle naší analýzy fotek inzerátu. Filtruje jen při true."
    },
    "furnished_id": {
      "type": "array",
      "items": {
        "enum": [
          "Vybavený",
          "Nevybavený",
          "Částečně vybavený"
        ],
        "type": "string"
      },
      "description": "Vybavenost"
    },
    "ground_floor": {
      "type": "boolean",
      "description": "Přízemí – chci přízemí (true), nechci přízemí (false)."
    },
    "area_range_to": {
      "type": "integer",
      "description": "Plocha (m²) – do"
    },
    "share_of_flat": {
      "type": "boolean",
      "description": "Jen podíl na bytě (true), nebo jen celý byt (false)."
    },
    "location_texts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Názvy míst v základním tvaru (1. pád) – např. \"Brno\" (ne \"Brně\"), \"Praha 1\", \"Vinohrady\", \"Vinohradská\". Patří sem názvy krajů, okresů, měst a obcí, městských částí, čtvrtí, katastrálních území, ulic i adres – i těch, které neznáš."
    },
    "price_range_to": {
      "type": "integer",
      "description": "Cena (Kč) – do"
    },
    "area_range_from": {
      "type": "integer",
      "description": "Plocha (m²) – od"
    },
    "klidna_lokalita": {
      "type": "boolean",
      "description": "Klidná lokalita podle hlukové mapy okolí adresy. Filtruje jen při true."
    },
    "price_range_from": {
      "type": "integer",
      "description": "Cena (Kč) – od"
    },
    "bezpecna_lokalita": {
      "type": "boolean",
      "description": "Bezpečná lokalita podle dat o kriminalitě v okolí adresy. Filtruje jen při true."
    },
    "cardinal_directions": {
      "type": "array",
      "items": {
        "enum": [
          "Sever",
          "Severovýchod",
          "Východ",
          "Jihovýchod",
          "Jih",
          "Jihozápad",
          "Západ",
          "Severozápad"
        ],
        "type": "string"
      },
      "description": "Světová strana"
    },
    "unit_floor_range_to": {
      "type": "integer",
      "description": "Patro – do"
    },
    "price_per_m2_range_to": {
      "type": "integer",
      "description": "Cena za m² (Kč) – do"
    },
    "unit_floor_range_from": {
      "type": "integer",
      "description": "Patro – od"
    },
    "building_flats_range_to": {
      "type": "integer",
      "description": "Počet bytů – do"
    },
    "building_floor_range_to": {
      "type": "integer",
      "description": "Počet podlaží – do"
    },
    "nearby_place_to_type_id": {
      "type": "array",
      "items": {
        "enum": [
          "Zastávka",
          "Metro",
          "Vlakové nádraží",
          "Restaurace",
          "Pekárna",
          "Supermarket",
          "Večerka",
          "Bar",
          "Kasino",
          "Lékárna",
          "Nemocnice",
          "Posilovna",
          "Bankomat",
          "Pošta",
          "Výdejní boxy",
          "Škola",
          "Kino",
          "Veterinární klinika",
          "Čerpací stanice"
        ],
        "type": "string"
      },
      "description": "Poblíž vybraného typu místa (\"chci to blízko restaurace, metra\")."
    },
    "price_per_m2_range_from": {
      "type": "integer",
      "description": "Cena za m² (Kč) – od"
    },
    "nearby_place_distance_to": {
      "enum": [
        "100 m",
        "200 m",
        "300 m",
        "400 m",
        "500 m",
        "1 km"
      ],
      "type": "string",
      "description": "Nejvýš jak daleko smí být blízké místo."
    },
    "building_flats_range_from": {
      "type": "integer",
      "description": "Počet bytů – od"
    },
    "building_floor_range_from": {
      "type": "integer",
      "description": "Počet podlaží – od"
    },
    "nearby_place_from_type_id": {
      "type": "array",
      "items": {
        "enum": [
          "Bar",
          "Kasino",
          "Čerpací stanice",
          "Vlakové nádraží",
          "Restaurace",
          "Zastávka",
          "Nemocnice"
        ],
        "type": "string"
      },
      "description": "Daleko od vybraného typu místa (\"daleko od baru, benzínky\")."
    },
    "nearby_place_distance_from": {
      "enum": [
        "100 m",
        "200 m",
        "300 m",
        "400 m",
        "500 m",
        "1 km"
      ],
      "type": "string",
      "description": "Nejméně jak daleko musí být nechtěné místo."
    }
  }
}
search_sales output schema
{
  "type": "object",
  "required": [
    "total",
    "listing_url",
    "unverified_criteria",
    "results"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "description": "Kolik nabídek kritériím odpovídá celkem, ne jen v results."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "price",
          "auction",
          "area_m2",
          "address",
          "url"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "Identifikátor nabídky na za.bydleno.cz."
          },
          "url": {
            "type": "string",
            "description": "Odkaz na detail nabídky na za.bydleno.cz. Výpis je zdarma, celý detail je placený."
          },
          "price": {
            "type": "string",
            "description": "Celková cena, nebo „Cena na vyžádání“, když ji inzerent neuvádí. U dražby je to vyvolávací cena."
          },
          "title": {
            "type": "string",
            "description": "Dispozice, například „Prodej 2+kk bytu“."
          },
          "address": {
            "type": "string",
            "description": "Ulice, městská část a kraj."
          },
          "area_m2": {
            "type": "integer",
            "description": "Plocha v m²."
          },
          "auction": {
            "type": "boolean",
            "description": "Byt se prodává v dražbě nebo aukci; o konečné ceně rozhodne aukce."
          },
          "price_per_m2": {
            "type": [
              "string",
              "null"
            ],
            "description": "Cena za m²; null, když neznáme cenu nebo plochu."
          }
        }
      },
      "description": "Prvních deset nabídek."
    },
    "listing_url": {
      "type": "string",
      "description": "Odkaz na celý výpis na za.bydleno.cz se stejnými filtry."
    },
    "unverified_criteria": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Kritéria, u kterých výpis pouští i nabídky s chybějícím údajem. U nich neplatí, že je vlastnost doložená — neříkej to uživateli jako fakt."
    }
  }
}
search_sales annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": 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
666 ms
95th percentile latency
666 ms

Maintenance history

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

  • · probe · passed · 666 ms · metadata changed · 1 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 bydleno-sales-mcp https://za.bydleno.cz/api/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 bydleno-sales-mcp --url https://za.bydleno.cz/api/mcp/

Cursor

Merge this server into .cursor/mcp.json in your project, then enable bydleno-sales-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "bydleno-sales-mcp": {
      "url": "https://za.bydleno.cz/api/mcp/"
    }
  }
}

Cline

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

VS Code

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

Let your agent find its tools

Find servers like Bydleno Sales 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 Bydleno Sales 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