Gratka & Morizon
Gratka.pl and Morizon.pl are two Polish property portals on one platform, and this server calls that platform’s own GraphQL API, so a search answers in well under a second. Each portal has its own tool pair — gratka_* and morizon_* — but both read one shared listings database, with the same offers under different ids: search one portal, not both, and open a listing with its own portal’s tool. Filter flats, houses, plots, premises, offices, garages or rooms anywhere in Poland by price, area, rooms, seller and market. Phone numbers are never returned.
Thirty seconds, any client.
claude mcp add --transport http gratka https://mcp.wondel.ai/gratka/mcp One command in your terminal — the server is available in every Claude Code session.
https://mcp.wondel.ai/gratka/mcp Works on every Claude plan that supports custom connectors.
{
"mcpServers": {
"gratka": {
"url": "https://mcp.wondel.ai/gratka/mcp"
}
}
} Add to .cursor/mcp.json, VS Code's mcp.json, or any client that takes an mcpServers map.
npx mcp-remote https://mcp.wondel.ai/gratka/mcp For stdio-only clients: mcp-remote bridges the remote endpoint to a local process. Streamable HTTP-capable clients can hit the URL directly.
This server works with Claude, Claude Code, Claude Desktop, Claude Cowork, Cursor, VS Code, Windsurf — and any other MCP client. Stdio-only clients connect through npx mcp-remote.
4 tools, fully typed.
Parameters below are transcribed from the server’s own zod schemas — what you see is what the tool validates.
gratka_search One results page (up to 35 listings) of Gratka.pl flats, houses, plots, premises, offices, garages or rooms for sale or rent anywhere in Poland: price, price per m², area, rooms, floor, location, seller and link. Shows the same listings as Morizon.pl under different ids and links — search one portal, not both.
| Param | Type | Description |
|---|---|---|
| type * | enum | Property type: flat = mieszkanie, house = dom, plot = działka (land), commercial = lokal użytkowy, office = biuro, garage = garaż, room = pokój (rent only). flathouseplotcommercialofficegarageroom |
| transaction * | enum | sale = na sprzedaż (buying); rent = na wynajem (renting — prices are monthly). salerent |
| location | string | A Polish place, matched by the site’s own location search: a city ("Kraków"), a district ("Warszawa Mokotów"), a town or village, a county ("krakowski") or a voivodeship ("mazowieckie"). Diacritics optional; English names other than Warsaw/Cracow aren’t recognized. Omit for all of Poland. |
| price_min | number | Minimum total price in PLN (monthly rent when transaction is rent). |
| price_max | number | Maximum total price in PLN (monthly rent when transaction is rent). |
| area_min | number | Minimum area in m² (the plot’s area for type plot). |
| area_max | number | Maximum area in m² (the plot’s area for type plot). |
| rooms_min | integer | Minimum rooms, 1–20 — not for plots and garages. |
| rooms_max | integer | Maximum rooms, 1–20 — not for plots and garages (min = max for exactly N). |
| private_only | boolean = false | Only listings from private owners — no agencies or developers. |
| market | enum | primary = new build from a developer (rynek pierwotny); secondary = resale (rynek wtórny). primarysecondary |
| sort | enum | Result order. Omit for the site’s default (recently refreshed first). newestprice_ascprice_descprice_per_m2_ascprice_per_m2_descarea_ascarea_desc |
| page | integer = 1 | Results page, 1-based (35 listings per page). |
| no_cache | boolean = false | Force a fresh fetch, bypassing this server’s 5-minute result cache. |
gratka_offer One Gratka.pl listing in full: price and price per m², area, rooms, floor, year built, address with coordinates, seller, the detail tables, amenities, description and photos. Never phone numbers.
| Param | Type | Description |
|---|---|---|
| id * | string | The listing’s Gratka.pl id (e.g. "48184615") or its full https://gratka.pl link, from gratka_search. Another portal’s ids don’t work here. |
| no_cache | boolean = false | Force a fresh fetch, bypassing this server’s 5-minute result cache. |
morizon_search One results page (up to 35 listings) of Morizon.pl flats, houses, plots, premises, offices, garages or rooms for sale or rent anywhere in Poland: price, price per m², area, rooms, floor, location, seller and link. Shows the same listings as Gratka.pl under different ids and links — search one portal, not both.
| Param | Type | Description |
|---|---|---|
| type * | enum | Property type: flat = mieszkanie, house = dom, plot = działka (land), commercial = lokal użytkowy, office = biuro, garage = garaż, room = pokój (rent only). flathouseplotcommercialofficegarageroom |
| transaction * | enum | sale = na sprzedaż (buying); rent = na wynajem (renting — prices are monthly). salerent |
| location | string | A Polish place, matched by the site’s own location search: a city ("Kraków"), a district ("Warszawa Mokotów"), a town or village, a county ("krakowski") or a voivodeship ("mazowieckie"). Diacritics optional; English names other than Warsaw/Cracow aren’t recognized. Omit for all of Poland. |
| price_min | number | Minimum total price in PLN (monthly rent when transaction is rent). |
| price_max | number | Maximum total price in PLN (monthly rent when transaction is rent). |
| area_min | number | Minimum area in m² (the plot’s area for type plot). |
| area_max | number | Maximum area in m² (the plot’s area for type plot). |
| rooms_min | integer | Minimum rooms, 1–20 — not for plots and garages. |
| rooms_max | integer | Maximum rooms, 1–20 — not for plots and garages (min = max for exactly N). |
| private_only | boolean = false | Only listings from private owners — no agencies or developers. |
| market | enum | primary = new build from a developer (rynek pierwotny); secondary = resale (rynek wtórny). primarysecondary |
| sort | enum | Result order. Omit for the site’s default (recently refreshed first). newestprice_ascprice_descprice_per_m2_ascprice_per_m2_descarea_ascarea_desc |
| page | integer = 1 | Results page, 1-based (35 listings per page). |
| no_cache | boolean = false | Force a fresh fetch, bypassing this server’s 5-minute result cache. |
morizon_offer One Morizon.pl listing in full: price and price per m², area, rooms, floor, year built, address with coordinates, seller, the detail tables, amenities, description and photos. Never phone numbers.
| Param | Type | Description |
|---|---|---|
| id * | string | The listing’s Morizon.pl id (e.g. "mzn2047996834") or its full https://www.morizon.pl link, from morizon_search. Another portal’s ids don’t work here. |
| no_cache | boolean = false | Force a fresh fetch, bypassing this server’s 5-minute result cache. |
Prompts that just work.
The cheapest two- or three-room flats for sale in Gdańsk Wrzeszcz — price per m² for each.
gratka_searchNew-build houses from developers around Kraków under 1.2 million zł, largest first — on Morizon.
morizon_searchOpen this Morizon listing: year built, heating, rent and what the description leaves out.
morizon_offerWhat comes back
gratka_search · live response, captured 2026-09-23 from production, abridged
{
"source": "gratka.pl via direct+zenrows",
"fetchedAt": "2026-09-23T23:40:28.215Z",
"query": { "type": "flat", "transaction": "sale", "location": "Gdańsk Wrzeszcz", "rooms_min": 2, "rooms_max": 3, "sort": "price_asc", "page": 1 },
"search_url": "https://gratka.pl/nieruchomosci/mieszkania/gdansk/wrzeszcz?liczba-pokoi:max=3&liczba-pokoi:min=2&sort=cheap",
"resolved_location": { "id": "117179", "name": "Gdańsk Wrzeszcz", "kind": "dzielnica", "description": "dzielnica, pomorskie, Gdańsk" },
"total_count": 191,
"page": 1,
"total_pages": 6,
"count": 35,
"listings": [
{
"source": "gratka",
"id": "47844367",
"url": "https://gratka.pl/nieruchomosci/mieszkanie-gdansk-wrzeszcz/ob/47844367",
"title": "2pok SKM |Tramwaj | Blisko uczelnie |4 km do morza",
"price": 374750,
"price_per_m2": 10523.73,
"currency": "PLN",
"area_m2": 35,
"rooms": 2,
"floor": "2/6",
"location": "Wrzeszcz Górny, Wrzeszcz, Gdańsk",
"seller_type": "agency",
…
},
…
]
}
Fetching tools share one envelope — source says where the data came from,
fetchedAt says when, query echoes what you asked.
Compact JSON in one text block, exactly how agents like it.
Add Gratka & Morizon
to your agent.
mcp.wondel.ai/gratka/mcp Authless · Read-only public data · Streamable HTTP at /mcp