deweloperuch-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Dane z deweloperuch.pl o mieszkaniach w Polsce. Typowy plan: search_locations (nazwa miejsca -> city_slug), search_offers (oferty w mieście albo dzielnicy, z filtrami), potem get_offer (oferta z historią ceny) albo get_investment (oferty jednej inwestycji). Projekty w mieście i slug inwestycji po nazwie daje search_investments, slug dewelopera po nazwie search_developers (dalej get_developer). Ocena ceny oferty: get_offer (price_flags), potem porównaj z get_market_statistics albo estimate_property_value.
Trzy rodzaje cen, nie mieszaj ich: ofertowe deweloperów (search_offers, get_offer, search_investments, get_investment, get_developer, get_market_statistics); transakcyjne z rejestru RCN (get_transaction_statistics, rank_locations bez indicator, get_building, estimate_property_value; najnowsze okresy są niepełne, get_transaction_statistics oznacza je incomplete, a jego miesiące to tylko rynek wtórny); oficjalne NBP, GUS i Eurostatu, obok cen także mieszkania oddane, bezrobocie i wynagrodzenia (get_government_statistics; porównanie wielu miast w jednym okresie: rank_locations z indicator). location w get_government_statistics: polska, agregat (np. 7-miast) albo slug miasta (małe litery, bez polskich znaków, myślniki); search_locations tylko pomocniczo.
Serwis jest projektem społecznym: pytaj oszczędnie i zawężaj filtry zamiast przeglądać kolejne strony. Gdy błąd narzędzia zawiera STOP, przestań używać tych narzędzi, niczego nie ponawiaj, nie szukaj obejścia i powiedz o tym użytkownikowi, podając powód z komunikatu. Dalsze kroki należą do użytkownika; sam niczego nie odblokowuj ani nie uruchamiaj ponownie. Gdy narzędzie odrzuci argumenty, popraw wskazane pola zgodnie z komunikatem i ponów. Gdy błąd mówi, że serwis mógł się zmienić, nie ponawiaj tego wywołania i powiedz o tym użytkownikowi; inne narzędzia mogą nadal działać. Gdy błąd mówi, że miejscowość istnieje, ale serwis nie ma dla niej danych, nie zgaduj innych slugów: powiedz to użytkownikowi. Pola kończące się na _url to linki do stron deweloperuch.pl: podawaj je użytkownikowi, np. w tabeli ofert.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_locationsA | Znajduje miasta, dzielnice i ulice w Polsce po fragmencie nazwy. Użyj na początku, żeby zamienić nazwę miejsca na city_slug, którego wymaga search_offers. Nie zwraca ofert ani cen. Zwraca items (kind: city, district albo street; name, city, city_slug, opcjonalnie district, street, lat, lng i offer_count, czyli liczbę ofert wg serwisu) oraz total, returned, truncated i hint. total jest null, gdy wyników jest więcej niż pokazano; truncated=true znaczy, że pasujących może być więcej: doprecyzuj nazwę. Miejscowości z offer_count=0 nie mają ofert: nie przekazuj ich do search_offers. Dzielnica i ulica podają city_slug swojego miasta. Nazwę dzielnicy (kind=district, pole name) przekaż do search_offers jako district razem z tym city_slug; po ulicy search_offers nie filtruje. |
| search_offersA | Wyszukuje oferty mieszkań od deweloperów (tylko rynek pierwotny, ceny ofertowe, nie transakcyjne) w jednym mieście albo w jego dzielnicy; city=polska nie działa. city_slug i nazwę dzielnicy daje search_locations. Filtry: cena, metraż, cena za m², dzielnica, status (aktywne, archiwalne) i obniżka od pierwszej ceny; sortowanie po cenie, cenie za m², metrażu albo największej obniżce; lista ofert nie filtruje po pokojach ani piętrze, ani po deweloperze (jego inwestycje daje get_developer). Zwraca jedną stronę: total (wszystkie pasujące), returned, page, per_page, pages_available, truncated, hint, list_url i items (offer_id, investment_slug, investment_url, name, cena w PLN, metraż w m², cena za m², status, inwestycja z dzielnicą, deweloper z developer_slug, zmiany ceny w procentach). Pozycje są skrócone; szczegóły oferty i historię ceny daje get_offer. Linki podawaj użytkownikowi. Ograniczenia: można przejrzeć najwyżej 20 stron po per_page ofert. Gdy truncated=true, zawęź filtry (np. dzielnica, cena) zamiast przeglądać kolejne strony. Wszystkie oferty jednej inwestycji daje get_investment, ceny całego miasta get_market_statistics. |
| get_offerA | Zwraca jedną ofertę z pełną historią ceny, inwestycją i deweloperem. Użyj, gdy chcesz zobaczyć, jak zmieniała się cena mieszkania. Wymaga offer_id i investment_slug (oba podaje search_offers albo get_investment): samo offer_id nie wystarcza. Zwraca cenę, metraż, cenę za m², status (active albo archived), zmianę od pierwszej ceny, daty, price_history (date, kind: offer, archived albo restored, price) i price_flags. investment_url i developer_url to strony inwestycji i dewelopera na deweloperuch.pl: podawaj je użytkownikowi jako linki. Do listy ofert jednej inwestycji użyj get_investment. price_flags (na dziś; ceny z offer i restored, wycofanie przerywa cenę; oferta archiwalna do dnia wycofania): lowest_price_30d i lowest_price_90d to najniższa cena obowiązująca w ostatnich 30 i 90 dniach, także ta sprzed okna; price_changes to liczba zmian ceny; largest_drop_pct i largest_rise_pct to największa pojedyncza obniżka i podwyżka w % poprzedniej ceny; suspicious_reduction=true, gdy ostatnia obniżka przyszła do 30 dni po podwyżce, a nowa cena nie jest niższa od najniższej z 30 dni przed nią („promocja” po podwyżce). |
| search_investmentsA | Wyszukuje inwestycje (projekty deweloperskie, rynek pierwotny). Dwa tryby: city (pełne dane) albo samo name (cała Polska; tylko investment_slug, name i offers_active, w kolejności serwisu). Użyj, gdy pytanie dotyczy projektów, a nie pojedynczych mieszkań: np. najtańsze za m² w mieście, inwestycje jednego dewelopera, slug inwestycji po nazwie. Z city zwraca inwestycje, które serwis pokazuje na mapie miasta (z aktywnymi ofertami; bez nich mogą nie być na liście): investment_slug, name, city_slug, ulica, status, offers_active, offers_total, średnie (avg_price, avg_area_m2, avg_price_per_m2; tylko aktywne oferty, wg serwisu), developer_slug, developer_name, investment_url i developer_url. name i developer_slug zawężają listę, sort ją porządkuje (domyślnie najwięcej aktywnych ofert); pozycje bez średniej są na końcu. Oferty i szczegóły inwestycji daje get_investment (investment_slug). Linki podawaj użytkownikowi. Ograniczenia: najwyżej limit pozycji; total, returned, truncated i hint mówią, ile pominięto i co zawęzić. Nie filtruje po cenie ani metrażu (do tego search_offers); city=polska nie działa. |
| get_investmentA | Zwraca inwestycję (projekt deweloperski): miasto, ulicę, współrzędne, dewelopera, średnie ceny aktywnych ofert, liczbę ofert i listę ofert (najpierw aktywne, potem archiwalne). Użyj, gdy chcesz zobaczyć mieszkania jednego projektu. investment_slug daje search_investments, search_offers albo get_developer. investment_url i developer_url to strony inwestycji i dewelopera na deweloperuch.pl: podawaj je użytkownikowi jako linki. Ograniczenia: zwraca najwyżej limit ofert (domyślnie 20); offers_returned mówi, ile ich jest na liście, truncated i offers_omitted, czy i ile pominięto. offers_total to liczba z serwisu, a pominięte oferty liczy offers_omitted. Przy dużej inwestycji nie zwiększaj limitu bez potrzeby; offers_omitted > 0 znaczy, że lista jest niepełna. include_history=true dodaje każdej zwróconej ofercie price_history (zdarzenia ceny od najstarszego): ok. 150 znaków więcej na ofertę, czyli przy limicie 20 do ok. 10 tys. znaków zamiast ok. 6 tys. Zmianę od pierwszej ceny ma każda oferta także bez historii (price_change_since_start), więc historię dodawaj, gdy liczy się przebieg ceny. Dla jednej oferty lepiej użyć get_offer. |
| search_developersA | Znajduje deweloperów (rynek pierwotny) po fragmencie nazwy, np. atal albo dom development. Użyj, żeby zamienić nazwę dewelopera na developer_slug, którego wymaga get_developer (profil dewelopera; domyślnie dla całej Polski, city=polska). Nie zwraca ofert ani cen. Zwraca items (developer_slug, name, offer_count, czyli liczbę ofert dewelopera wg serwisu, i developer_url, czyli profil na deweloperuch.pl: podawaj go użytkownikowi jako link) oraz total, returned, truncated i hint. truncated=true znaczy, że pasujących deweloperów jest więcej niż pokazano: doprecyzuj nazwę albo zwiększ limit (najwyżej 20). total jest null, gdy wiadomo tylko, że jest ich więcej. |
| get_developerA | Zwraca profil dewelopera: nazwę, podsumowanie jego aktywnych ofert (summary), inwestycje z aktywnymi ofertami (najpierw te z największą liczbą aktywnych ofert) i jego miasta (cities, od miasta z największą liczbą aktywnych ofert). Nie podaje strony www dewelopera. Użyj, gdy pytanie dotyczy dewelopera: gdzie i ile buduje, w jakich cenach. developer_slug weź z search_developers (po nazwie) albo z pól developer_slug w search_offers, get_investment, get_offer i get_market_statistics (top_developers). developer_url i investment_url to strony na deweloperuch.pl: podawaj je użytkownikowi jako linki. city zawęża summary i investments do jednego miasta (city_slug z search_locations albo z cities); domyślnie polska (cała Polska). cities obejmuje całą Polskę (gdy serwis nie podaje listy miast, tylko miasta inwestycji: wtedy hint). summary liczy narzędzie z inwestycji w zakresie city; summary.cities to liczba miast. Średnia cena oferty w jednym mieście: city=<city_slug>, pole summary.avg_price. Ograniczenia: najwyżej limit inwestycji (domyślnie 20); o pominięciu mówią investments_omitted (ile), truncated i hint. Pojedynczych ofert tu nie ma: oferty inwestycji daje get_investment. |
| get_market_statisticsA | Zwraca statystyki rynku ofert deweloperskich w jednym mieście: liczbę ofert, inwestycji i deweloperów, rozkład cen (PLN), cen za m² (PLN/m²) i metraży (m²) jako min, p25, median, p75 i max oraz największych deweloperów wg liczby ofert (developer_name, developer_slug, offers, investments, median_price_per_m2, developer_url). Opcjonalnie tylko oferty z zakresu ceny i metrażu. Użyj, gdy pytanie dotyczy rynku miasta (typowe ceny, kto ma najwięcej ofert), a nie konkretnych mieszkań (search_offers; inwestycje dewelopera daje get_developer). Ograniczenia: tylko aktywne oferty (bez archiwalnych) i tylko jedno miasto (city_slug z search_locations; polska nie działa). Liczby to stan na dzień z pola wyniku as_of i mogą się nieco różnić od total w search_offers. Pojedynczych ofert tu nie ma: list_url to lista tych ofert na deweloperuch.pl z tymi samymi filtrami, a developer_url profil dewelopera: podawaj je użytkownikowi jako linki. |
| get_transaction_statisticsA | Zwraca ceny transakcyjne mieszkań w mieście z Rejestru Cen Nieruchomości (RCN) od 2017 r., w kolejnych miesiącach albo kwartałach: liczbę transakcji i ceny za m². To ceny faktycznych sprzedaży, a nie ceny ofertowe deweloperów (search_offers, get_market_statistics) ani oficjalne ceny NBP (get_government_statistics). granularity=month (domyślnie): tylko rynek wtórny; mediana i średnia ceny za m², mediana metrażu i mediana ceny mieszkania. granularity=quarter: tylko mediana ceny za m² i liczba transakcji; rynek nieokreślony. Miesiące i kwartały to różne statystyki: nie łącz ich w jeden wykres ani szereg. Ograniczenia: tylko mieszkania i całe miasta (city_slug z search_locations; bez dzielnic, ulic, agregatów (np. 7-miast) i całej Polski). Domyślnie ostatnie 12 okresów; truncated=true znaczy, że są starsze (zwiększ periods, najwyżej 60; całą historię od 2017 r. daje tylko quarter). Dane RCN spływają z opóźnieniem, więc najnowsze okresy są niepełne: okres z incomplete=true pomiń, nie podawaj jego cen jako trendu. Okres bez transakcji nie ma cen. Trend kończ na last_complete_period (jego dane też mogą się zmienić); brak pola (za mało transakcji): czytaj hint. |
| rank_locationsA | Porównanie wielu miejsc w jednym okresie; nie zwraca szeregu czasowego. Dwa tryby: (1) bez indicator: ranking miejscowości (level=city) albo powiatów (level=powiat) wg transakcji z RCN (liczba, cena za m²); (2) z indicator: ranking 66 miast na prawach powiatu wg wskaźnika GUS lub NBP. Trend jednego miasta w czasie: get_transaction_statistics (RCN) albo get_government_statistics (GUS, NBP). Bez indicator to ceny transakcyjne z RCN, nie ofertowe; nbp_price_per_m2 to oficjalna cena NBP, nie RCN. Zwraca total, returned, truncated, hint i items. Transakcje: min_transactions (zastosowany próg), items (name, city_slug albo powiat_id, transaction_count, price_per_m2, area_m2, price); dla city ranking_url (link dla użytkownika); dla powiat market i okres 12 miesięcy period_start–period_end. Wskaźnik: indicator, unit, period, items (name, city_slug, value, stats_url: link dla użytkownika). Ograniczenia: serwis nie mówi, czy ceny i metraż to średnie, czy mediany. Okresu miejscowości serwis nie podaje; nie porównuj liczb transakcji miejscowości i powiatów. Sortowanie po cenie domyślnie pomija miejsca poniżej 20 transakcji (cena bywa przypadkowa); min_transactions=0 pokazuje wszystkie. |
| get_buildingA | Zwraca budynek z rejestru cen transakcyjnych (RCN): adres, współrzędne, średnie ceny podane przez serwis i lokale z transakcjami: datą, ceną, ceną za m², rynkiem, rodzajem i stronami. To ceny, za które lokale sprzedano, nie ceny ofertowe deweloperów. building_slug to ostatni człon adresu strony budynku z cenami transakcyjnymi na deweloperuch.pl, np. 23-marca-79c-sopot; gdy go nie znasz, poproś użytkownika o link do tej strony. building_url to ta strona: podaj ją jako link. Kolejność: lokale od tego z najnowszą transakcją, transakcje każdego lokalu od najstarszej. Transakcji o classification innym niż regular (udział, egzekucja, bonifikata…) nie uśredniaj ze zwykłymi: to nie zwykła sprzedaż po cenie rynkowej; liczy je non_regular_transactions. Ograniczenia: tylko budynki z mieszkaniami, nie domy. Zwraca najwyżej limit lokali (domyślnie 10); truncated i units_omitted mówią, czy i ile pominięto; units_total i transactions_total liczą cały budynek. Najnowsze miesiące bywają niepełne (rejestr spływa z opóźnieniem). include_trend=true dodaje średnią cenę za m² transakcji w okolicy budynku (promień radius_km) w ostatnich 12 kwartałach; to jedno zapytanie do serwisu więcej. |
| estimate_property_valueA | Szacuje wartość mieszkania o danym metrażu w punkcie (lat, lng) w Polsce na podstawie cen transakcyjnych z Rejestru Cen Nieruchomości (RCN) z okolicy. Wynik jest przybliżony: to porównanie z transakcjami w pobliżu, a nie operat szacunkowy. Użyj, gdy użytkownik pyta, ile może być warte mieszkanie albo czy jego cena jest rynkowa. Zwraca estimated_value (PLN), price_per_m2, radius_m i period_months (skąd i z ilu miesięcy są transakcje), stats (liczba, mediana, średnia, min i max ceny za m²) oraz comparables: najbliższe transakcje porównawcze (adres, data, cena, metraż, cena za m², piętro, odległość, rynek), z comparables_total, comparables_omitted, truncated i hint. estimated_value=null znaczy, że serwis nie podał wyceny: przeczytaj hint. low_confidence=true (mniej niż 5 transakcji porównawczych): wycenę podaj tylko jako orientacyjną, z zastrzeżeniem z hint. Wymaga współrzędnych: narzędzie nie zamienia adresu na lat i lng. Weź je od użytkownika, z search_locations (ulica lub dzielnica: to punkt przybliżony, nie konkretny budynek) albo z get_investment (współrzędne inwestycji oferty). Każde wywołanie to zapytanie do serwisu: nie wyceniaj seriami wielu punktów. |
| get_government_statisticsA | Zwraca oficjalne statystyki GUS, NBP i Eurostatu (demografia Polski) jako szeregi czasowe dla Polski, agregatu miast albo miasta na prawach powiatu: mieszkania oddane i rozpoczęte, średnią powierzchnię mieszkań deweloperskich, ceny m² wg NBP, bezrobocie, wynagrodzenia, demografię i ludność (parametr dataset). Ofert mieszkań tu nie ma (search_offers), ceny z rejestru RCN daje get_transaction_statistics, a porównanie wielu miast w jednym okresie rank_locations z indicator. Zwraca periods (od najstarszego) i series (series_id, label, unit, values wyrównane z periods; null = brak danych) oraz frequency, source, total, returned, truncated, available_from, note i stats_url (sekcja strony na deweloperuch.pl: podaj ją użytkownikowi jako link). Ograniczenia: domyślnie ostatnie 12 okresów; truncated=true: są starsze (zwiększ periods, najwyżej 120). nbp_prices: tylko 3 agregaty i część dużych miast (np. warszawa, krakow), nie polska. Nie każdy zestaw jest dostępny dla każdej lokalizacji (błąd wskaże, co podać); dane GUS i NBP są publikowane z opóźnieniem: ostatni okres bywa sprzed kilku tygodni lub miesięcy, dla demografii Polski nawet roku. Przeczytaj note: ostatni okres bywa niepełny. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| znajdz_mieszkanie | Mieszkania od deweloperów w jednym mieście z budżetem, metrażem i dzielnicą: tabela ofert od najniższej ceny za m² z linkami do deweloperuch.pl. |
| ocen_oferte | Ocena ceny jednej oferty: historia ceny (najniższa z 30 i 90 dni, podejrzane obniżki), porównanie z rynkiem miasta i z wyceną z transakcji w okolicy; werdykt z zastrzeżeniami. |
| przeswietl_dewelopera | Profil dewelopera: gdzie i ile buduje, jego inwestycje, aktywne oferty, ceny i ich zmiany; w całej Polsce albo w jednym mieście. |
| porownaj_miasta | Porównanie rynku mieszkań kilku miast: ceny ofertowe deweloperów, ceny transakcyjne z RCN i opcjonalnie wynagrodzenia i bezrobocie z GUS, w jednej tabeli. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools target clearly distinct resources or actions (offers, investments, developers, buildings, locations), and descriptions explicitly cross-reference alternatives. The main potential confusion is among the three statistics tools (market, transaction, government) and rank_locations, but their scopes are spelled out well enough to prevent most misselection.
All tool names use snake_case and a predictable verb_noun pattern: search_locations, search_offers, get_investment, get_developer, get_market_statistics, estimate_property_value. Related tools share suffixes such as *_statistics and search_* consistently.
The 13 tools are well-scoped for a real-estate data server, with each tool covering a distinct entity or analysis type. There are no obvious filler or redundant tools, and the count sits comfortably in the appropriate range.
The surface covers location lookup, offer search, offer/investment/developer detail, building transactions, market/transaction/government statistics, ranking, and valuation. A minor gap is building discovery: get_building requires a user-supplied slug, and there is no search_buildings by address or name, though workarounds via search_locations and user links exist.