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.
This server publishes no instructions, or was last inspected before Glama recorded them.
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 całej Polsce (city=polska). 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. Nie filtruje po liczbie pokoi ani piętrze (serwis nie ma takich danych) 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 (strona inwestycji), name, cena w PLN, metraż w m², cena za m², status, inwestycja, deweloper z developer_slug, zmiany ceny w procentach; miasto tylko przy city=polska). Pozycje są skrócone; szczegóły oferty i historię ceny daje get_offer. list_url to ta lista na deweloperuch.pl z tymi samymi filtrami. Linki podawaj użytkownikowi. Ograniczenia: można przejrzeć najwyżej 20 stron po per_page ofert. Gdy truncated=true, zawęź filtry 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 historię ceny każdej zwróconej oferty: wynik jest dłuższy i powstaje wolniej. 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ę, stronę www, podsumowanie jego aktywnych ofert (summary: active_offers, cities, avg_price, avg_area_m2, avg_price_per_m2), inwestycje z aktywnymi ofertami (najpierw te z największą liczbą aktywnych ofert: investment_slug, name, city, active_offers, total_offers razem z archiwalnymi, średnie aktywnych ofert, investment_url) i jego miasta (cities: inwestycje, aktywne oferty, średnia cena i cena za m²). 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. 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); domyślnie polska (cała Polska). cities zawsze obejmuje całą Polskę. Ograniczenia: najwyżej limit inwestycji (domyślnie 20); investments_omitted i truncated mówią, ile pominięto. 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_slug, offers, investments, median_price_per_m2, developer_url; developer_slug to identyfikator, a nazwę dewelopera daje get_developer). 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). Ograniczenia: tylko aktywne oferty (bez archiwalnych) i tylko jedno miasto (city_slug z search_locations; polska nie działa). Liczby 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) 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): mediana i średnia ceny za m², mediana metrażu i mediana ceny mieszkania. granularity=quarter: tylko średnia cena za m² i liczba transakcji, za to dłuższa historia. Miesiące i kwartały to różne statystyki: nie łącz ich w jeden wykres ani szereg. Zwraca periods (od najstarszego; okres bez transakcji nie ma cen) oraz total, returned, truncated, available_from, hint, note i stats_url (link dla użytkownika). Ograniczenia: tylko mieszkania i całe miasta (city_slug z search_locations; bez dzielnic, ulic i całej Polski). Domyślnie ostatnie 12 okresów; truncated=true znaczy, że są starsze (zwiększ periods, najwyżej 60). Najnowsze miesiące są niepełne, bo transakcje trafiają do RCN z kilkumiesięcznym opóźnieniem: mają zaniżoną liczbę transakcji i niepewne ceny, więc ich spadku nie traktuj jako trendu (przeczytaj note). |
| rank_locationsA | Ranking miejscowości (level=city) albo powiatów (level=powiat) w Polsce według transakcji z Rejestru Cen Nieruchomości (RCN): liczba transakcji i cena transakcyjna za m². Dla porównania wielu miast (gdzie najwięcej transakcji, gdzie najdrożej, gdzie najtaniej): to narzędzie; dla trendu jednego miasta w czasie: get_transaction_statistics. To ceny transakcyjne, nie ofertowe; oferty deweloperów daje search_offers. Zwraca total (miejsca z co najmniej min_transactions transakcji), returned, truncated, hint i items (name, city_slug albo powiat_id, transaction_count, price_per_m2, area_m2, price); dla city także ranking_url (strona rankingu na deweloperuch.pl: podaj ją użytkownikowi jako link). powiat_id jest informacyjny: żadne narzędzie go nie przyjmuje. Ograniczenia: serwis nie podaje okresu ani tego, czy ceny i metraż to średnie, czy mediany: przedstawiaj je jako wartości podane przez serwis. Liczby transakcji powiatów obejmują wiele lat: służą tylko do uporządkowania, nie są bieżącym wolumenem; nie porównuj ich z liczbami miejscowości. Przy sortowaniu miejscowości po cenie podaj min_transactions (np. 50): przy kilku transakcjach cena bywa przypadkowa. |
| get_buildingA | Zwraca budynek z rejestru cen transakcyjnych (RCN): adres, miasto, współrzędne, średnie ceny podane przez serwis i lokale (mieszkania) z ich transakcjami: datą, ceną, ceną za m², rynkiem (pierwotny albo wtórny), rodzajem transakcji i stronami. To ceny, za które lokale sprzedano, a 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 albo aleja-krakowska-279-warszawa; gdy go nie znasz, poproś użytkownika o link do tej strony. building_url to ta strona: podawaj ją użytkownikowi jako link. Kolejność: lokale od tego z najnowszą transakcją, transakcje każdego lokalu od najstarszej. Ograniczenia: tylko budynki z mieszkaniami, nie domy. Zwraca najwyżej limit lokali (domyślnie 10); units_returned mówi, ile ich jest na liście, truncated i units_omitted, czy i ile pominięto, a units_total i transactions_total liczą cały budynek. Najnowsze miesiące bywają niepełne, bo 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. 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 i NBP jako szeregi czasowe dla Polski, agregatu miast albo miasta na prawach powiatu: mieszkania oddane do użytkowania i rozpoczęte (razem, wg form budownictwa, na wynajem), średnią powierzchnię mieszkań oddanych przez deweloperów, średnie ceny m² wg NBP (rynek pierwotny i wtórny, ceny ofertowe i transakcyjne), stopę bezrobocia, wynagrodzenia, demografię i ludność. Użyj jako kontekstu rynku; ofert i cen konkretnych mieszkań tu nie ma (search_offers). 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 znaczy, że są starsze (zwiększ periods, najwyżej 120). nbp_prices: tylko 17 dużych miast i 3 agregaty, 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. 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
Each tool targets a distinct resource or data source (locations, primary-market offers, investments, developers, RCN transactions, GUS/NBP statistics, valuation). Descriptions explicitly state when to use one tool versus another (e.g. search_offers vs get_investment vs get_market_statistics), leaving little room for misselection despite the cluster of statistical tools.
All tool names follow a consistent snake_case verb_noun pattern (search_locations, get_offer, rank_locations, estimate_property_value), with no mixed conventions or vague verbs. The pattern is predictable and readable across the whole set.
13 tools is well-scoped for a Polish real-estate research server covering discovery, detail lookup, statistics, ranking, valuation and government data. Each tool earns its place; there is no obvious bloat or thin surface.
The surface covers the main lifecycle: resolving locations/developers, searching offers/investments, fetching detail and history, transaction and government statistics, ranking and valuation. Minor gaps remain, such as no built-in address-to-coordinates geocoding and no district-level transaction statistics, but these are documented limitations agents can work around.