# deweloperuch.pl (unofficial) (mcpb · deweloperuch-mcp-0.1.3.mcpb)

Unofficial read-only deweloperuch.pl data: new-build asking prices, RCN transactions, GUS and NBP

- Trust score: 55/100 (low)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- mcpb · `deweloperuch-mcp-0.1.3.mcpb`: 55/100 (this document), [markdown](https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp.md), [page](https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp)
- pypi · `deweloperuch-mcp`: 76/100, [markdown](https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp-2.md), [page](https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp-2)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/MBratkowski/deweloperuch-mcp/releases/download/v0.1.3/deweloperuch-mcp-0.1.3.mcpb`
- Transport: `stdio`
- SHA-256: `6b9dec44c4d200ab84fa91543fbca6a0be33e5aa7f2f54c495aabe43195f11af`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 12/100
  - No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  - Known CVEs were checked across the 38 of 38 dependencies we could resolve, so this covers what we could see, not the whole tree.
  - Install-script risk not yet assessed.
  - 4 of 38 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 19 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 75/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7181 tokens (~552/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 70/100
  - Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the deweloperuch.pl (unofficial) MCP server?

deweloperuch.pl (unofficial) ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 6b9dec44c4d200ab84fa91543fbca6a0be33e5aa7f2f54c495aabe43195f11af; the commands to do that are on this page. If it does not match, do not open it.

- Download bundle: `https://github.com/MBratkowski/deweloperuch-mcp/releases/download/v0.1.3/deweloperuch-mcp-0.1.3.mcpb`
- SHA-256: `6b9dec44c4d200ab84fa91543fbca6a0be33e5aa7f2f54c495aabe43195f11af`

### Verify on macOS / Linux

```bash
echo "6b9dec44c4d200ab84fa91543fbca6a0be33e5aa7f2f54c495aabe43195f11af  deweloperuch-mcp-0.1.3.mcpb" | shasum -a 256 -c
```

### Verify on Windows (PowerShell)

```powershell
(Get-FileHash -Algorithm SHA256 .\deweloperuch-mcp-0.1.3.mcpb).Hash -eq "6b9dec44c4d200ab84fa91543fbca6a0be33e5aa7f2f54c495aabe43195f11af"
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 55, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-03 (score 54, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 53, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 52, +1)

No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 51, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-26 (score 50, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-24 (score 49, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 48, +3)

- [functional improvement] Stability: unverified → 0.27

## MCP tools (13)

### `search_locations` (~265 tokens)

Szukaj lokalizacji

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.

Input parameters:

- `query` (string, required): Fragment nazwy miasta, dzielnicy lub ulicy, 2–100 znaków, z polskimi znakami, np. Kraków, Mokotów.

Output parameters:

- `hint`
- `items` (array)
- `returned` (integer)
- `total`: Wszystkie pasujące; null, gdy wyników jest więcej niż pokazano.
- `truncated` (boolean)

### `search_offers` (~777 tokens)

Szukaj ofert mieszkań

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.

Input parameters:

- `area_max`: Największy metraż w m².
- `area_min`: Najmniejszy metraż w m².
- `city` (string, required): city_slug miasta z search_locations (np. warszawa, krakow) albo polska dla całego kraju.
- `district`: Nazwa dzielnicy dokładnie tak, jak podaje ją search_locations (kind=district, pole name), np. Mokotów; tylko z miastem tej dzielnicy, nie z polska.
- `page` (integer): Numer strony wyników, 1–20.
- `per_page` (integer): 10 albo 50. Pozycja to ok. 500 znaków wyniku (z linkiem), więc 50 daje ok. 25 tys.; zwykle wystarcza 10.
- `price_dropped` (boolean): true: tylko oferty, których obecna cena jest niższa od pierwszej ceny (liczy się zmiana od pierwszej ceny, nie ostatnia zmiana).
- `price_max`: Najwyższa cena oferty w PLN.
- `price_min`: Najniższa cena oferty w PLN.
- `price_per_m2_max`: Najwyższa cena za m² w PLN.
- `price_per_m2_min`: Najniższa cena za m² w PLN.
- `sort`: price_asc: od najtańszych, price_desc: od najdroższych, price_per_m2_asc i price_per_m2_desc: po cenie za m², area_asc i area_desc: po metrażu, biggest_drop: najpierw największa obniżka od pierwszej…
- `status`: active (domyślnie): oferty obecnie w cennikach; archived: tylko wycofane; all: aktywne i wycofane.

Output parameters:

- `hint`
- `items` (array)
- `list_url`: Ta lista ofert na deweloperuch.pl (te same filtry, sortowanie i strona): podaj ją użytkownikowi jako link.
- `page` (integer)
- `pages_available` (integer)
- `per_page` (integer)
- `returned` (integer)
- `total` (integer)
- `truncated` (boolean): true: pasujących ofert jest więcej, niż można przejrzeć (najwyżej 20 stron); zawęź filtry.

### `get_offer` (~399 tokens)

Oferta z historią ceny

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).

Input parameters:

- `investment_slug` (string, required): investment_slug inwestycji tej oferty, np. smolna (z search_investments, search_offers albo get_developer).
- `offer_id` (integer, required): offer_id z search_offers albo get_investment.

Output parameters:

- `area_m2`: Metraż w m².
- `city` (string)
- `city_slug` (string)
- `creation_date`
- `currency`
- `developer`
- `developer_url`: Profil dewelopera na deweloperuch.pl: podaj go użytkownikowi jako link.
- `investment_name` (string)
- `investment_slug` (string)
- `investment_url`: Strona inwestycji na deweloperuch.pl: podaj ją użytkownikowi jako link.
- `last_change_date`
- `last_event_date`
- `name` (string)
- `offer_id` (integer)
- `price`: Cena ofertowa w PLN (nie transakcyjna).
- `price_change_since_start`: Zmiana ceny od pierwszej zaobserwowanej, w PLN (ujemna = tańsza).
- `price_change_since_start_pct`: Zmiana ceny od pierwszej zaobserwowanej, w procentach (ujemna = tańsza).
- `price_flags`: Wnioski z historii ceny na dziś: ceny z offer i restored; wycofanie przerywa obowiązującą cenę.
- `price_history` (array)
- `price_per_m2`: Cena za m² w PLN (price / area_m2).
- `status` (string): active (aktualna) albo archived (wycofana).

### `search_investments` (~600 tokens)

Szukaj inwestycji

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.

Input parameters:

- `city`: city_slug miasta z search_locations, np. warszawa, sopot (nie polska).
- `developer_slug`: developer_slug z search_developers (po nazwie) albo z pól developer_slug w search_offers, get_investment, get_offer, np. atal. Tylko z city.
- `limit` (integer): Najwięcej inwestycji w wyniku, 1–30, domyślnie 10. Pozycja z city to ok. 550–750 znaków wyniku (z linkami), więc 30 daje najwyżej ok. 23 tys.; zwykle wystarcza 10.
- `name`: Fragment nazwy inwestycji, 2–100 znaków, np. Kolibki. Z city wielkość liter i polskie znaki nie mają znaczenia; bez city szuka serwis w całej Polsce.
- `sort`: Tylko z city. active_offers: najwięcej aktywnych ofert (domyślnie); price_per_m2_asc, price_per_m2_desc: średnia cena za m²; price_asc, price_desc: średnia cena; name: alfabetycznie. Bez średniej na…

Output parameters:

- `hint`
- `items` (array)
- `returned` (integer)
- `total`: Wszystkie pasujące; null, gdy serwis nie podaje (szukanie po nazwie).
- `truncated` (boolean): true: pasujących jest więcej, niż pokazano; co zawęzić, mówi hint.

### `get_investment` (~437 tokens)

Inwestycja z ofertami

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.

Input parameters:

- `include_history` (boolean): true: dołącz historię ceny każdej zwróconej oferty (dłuższy wynik).
- `investment_slug` (string, required): investment_slug z search_investments, search_offers albo get_developer, np. smolna.
- `limit` (integer): Najwięcej ofert w wyniku (najpierw aktywne), domyślnie 20, 0 = tylko podsumowanie inwestycji. Ile pominięto, mówi offers_omitted. Każda oferta to ok. 300 znaków wyniku, z historią ceny kilkaset więce…

Output parameters:

- `avg_area_m2`
- `avg_price`: Średnia cena aktywnych ofert w PLN.
- `avg_price_per_m2`
- `city` (string)
- `city_slug` (string)
- `currency`
- `developer`
- `developer_url`: Profil dewelopera na deweloperuch.pl: podaj go użytkownikowi jako link.
- `investment_slug` (string)
- `investment_url`: Strona inwestycji na deweloperuch.pl: podaj ją użytkownikowi jako link.
- `lat`
- `lng`
- `name` (string)
- `offers` (array)
- `offers_active`
- `offers_omitted` (integer): Ofert pominiętych przez limit.
- `offers_returned` (integer): Ofert na liście offers.
- `offers_total`: Wszystkie oferty inwestycji wg serwisu, także archiwalne; lista offers jest ucięta przez limit.
- `status` (string): active (aktualna) albo archived (wycofana).
- `street`
- `truncated` (boolean): true: lista offers jest niepełna (offers_omitted > 0).

### `search_developers` (~269 tokens)

Szukaj deweloperów

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.

Input parameters:

- `limit` (integer): Najwięcej deweloperów w wyniku, domyślnie 5, najwyżej 20. Każdy to ok. 150 znaków wyniku.
- `name` (string, required): Fragment nazwy dewelopera, 2–100 znaków, np. atal, Dom Development.

Output parameters:

- `hint`
- `items` (array)
- `returned` (integer)
- `total`: Wszyscy pasujący deweloperzy; null, gdy wiadomo tylko, że jest ich więcej.
- `truncated` (boolean): true: pasujących deweloperów jest więcej niż pokazano; co dalej, mówi hint.

### `get_developer` (~459 tokens)

Profil dewelopera

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.

Input parameters:

- `city` (string): city_slug miasta z search_locations (np. krakow) albo polska (domyślnie: cała Polska).
- `developer_slug` (string, required): developer_slug z search_developers (po nazwie) albo z pól developer_slug w search_offers, get_investment, get_offer, np. atal.
- `limit` (integer): Najwięcej inwestycji w wyniku (najpierw te z największą liczbą aktywnych ofert), 1–100, domyślnie 20. Inwestycja to ok. 350 znaków wyniku; zwykle wystarcza domyślne 20.

Output parameters:

- `cities` (array): Wszystkie miasta dewelopera w Polsce, niezależnie od argumentu city (także przy city=warszawa).
- `city_slug` (string): Zakres summary i investments: miasto albo polska.
- `developer`
- `developer_url`: Profil dewelopera na deweloperuch.pl: podaj go użytkownikowi jako link.
- `hint`
- `investments` (array)
- `investments_omitted` (integer): Inwestycji pominiętych przez limit.
- `investments_returned` (integer)
- `investments_total` (integer): Wszystkie inwestycje z aktywnymi ofertami.
- `summary`
- `truncated` (boolean): true: lista investments jest niepełna.

### `get_market_statistics` (~392 tokens)

Statystyki rynku miasta

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.

Input parameters:

- `area_max`: Największy metraż w m².
- `area_min`: Najmniejszy metraż w m².
- `city` (string, required): city_slug jednego miasta z search_locations, np. krakow (nie polska).
- `price_max`: Najwyższa cena oferty w PLN.
- `price_min`: Najniższa cena oferty w PLN.
- `top_developers` (integer): Ilu największych deweloperów pokazać, 1–30, domyślnie 10.

Output parameters:

- `area_m2`: Metraże w m².
- `city_slug` (string)
- `developers` (integer): Wszyscy deweloperzy z pasującymi ofertami.
- `developers_omitted` (integer)
- `developers_returned` (integer)
- `hint`
- `investments` (integer)
- `list_url`: Lista tych ofert na deweloperuch.pl (te same filtry ceny i metrażu): podaj ją użytkownikowi jako link.
- `offers` (integer): Pasujące aktywne oferty.
- `price`: Ceny w PLN: min, kwartyle, mediana, max.
- `price_per_m2`: Ceny za m² w PLN.
- `top_developers` (array): Deweloperzy z największą liczbą pasujących ofert, malejąco.
- `truncated` (boolean): true: deweloperów jest więcej niż w top_developers.

### `get_transaction_statistics` (~562 tokens)

Ceny transakcyjne w czasie

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).

Input parameters:

- `city` (string, required): city_slug miasta z search_locations, np. warszawa, krakow, gdansk (małe litery bez polskich znaków). Statystyki są dla całych miast; dzielnice, ulice i cała Polska (polska) nie są obsługiwane.
- `granularity` (string): month (domyślnie): miesiące, z medianą i średnią ceny za m², medianą metrażu i medianą ceny mieszkania; quarter: kwartały, tylko średnia cena za m² i liczba transakcji, ale dłuższa historia.
- `periods` (integer): Ile ostatnich okresów (miesięcy albo kwartałów) zwrócić, 1–60, domyślnie 12. 60 miesięcy to ok. 9 tys. znaków; dla trendu wieloletniego wybierz quarter zamiast wielu miesięcy.

Output parameters:

- `available_from` (string): Najstarszy okres, jaki ma serwis.
- `city_slug` (string)
- `granularity` (string): month (miesiące) albo quarter (kwartały).
- `hint`: Co zrobić dalej, gdy wynik jest obcięty.
- `note` (string): Uwaga do danych: najnowsze okresy są niepełne.
- `periods` (array): Okresy od najstarszego; okres bez transakcji nie ma cen ani metrażu.
- `returned` (integer): Okresy w wyniku: ostatnie z nich.
- `stats_url`: Strona statystyk transakcji na deweloperuch.pl dla ludzi: podaj ją użytkownikowi jako link.
- `total` (integer): Wszystkie okresy, które serwis ma dla miasta.
- `truncated` (boolean): true: są starsze okresy niż pokazane; co dalej, mówi hint.

### `rank_locations` (~576 tokens)

Ranking miast i powiatów

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.

Input parameters:

- `level` (string): city: miejscowości (miasta, także małe miasteczka i wsie), domyślnie; powiat: powiaty (bez ranking_url i bez odpowiednika w search_locations).
- `limit` (integer): Ile pierwszych pozycji rankingu zwrócić, 1–100, domyślnie 20. Pozycja to ok. 120 znaków wyniku. Dla pełnych list zawężaj min_transactions, nie podnoś limitu bez potrzeby.
- `min_transactions` (integer): Pomiń miejsca z mniejszą liczbą transakcji; domyślnie 0 (wszystkie). Przy sortowaniu miejscowości (level=city) po cenie podaj np. 50.
- `sort` (string): transactions_desc: najwięcej transakcji (domyślnie); price_per_m2_desc: najwyższa cena za m²; price_per_m2_asc: najniższa cena za m². Miejsca bez ceny są na końcu.

Output parameters:

- `hint`: Co zrobić, gdy wynik jest obcięty albo pusty.
- `items` (array)
- `level` (string): city (miejscowości) albo powiat (powiaty).
- `min_transactions` (integer): Próg z argumentu min_transactions (0 = wszystkie miejsca).
- `ranking_url`: Strona rankingu miast na deweloperuch.pl (tylko level=city): podaj ją użytkownikowi jako link.
- `returned` (integer): Pozycje w items: pierwsze z rankingu.
- `sort` (string): Kolejność rankingu, jak w argumencie sort.
- `total` (integer): Wszystkie miejsca tego poziomu z co najmniej min_transactions transakcji.
- `truncated` (boolean): true: miejsc jest więcej, niż pokazano; co dalej, mówi hint.

### `get_building` (~557 tokens)

Budynek z transakcjami

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.

Input parameters:

- `building_slug` (string, required): Slug budynku, np. 23-marca-79c-sopot, ze strony budynku albo z comparables w estimate_property_value.
- `include_trend` (boolean): true: dołącz średnią cenę za m² transakcji w okolicy budynku w ostatnich 12 kwartałach (jedno zapytanie więcej).
- `limit` (integer): Najwięcej lokali w wyniku (tych z najnowszymi transakcjami), domyślnie 10, najwyżej 50; 0 = tylko podsumowanie budynku. Ile pominięto, mówi units_omitted. Wynik ma ok. 200 znaków na transakcję; lokal…

Output parameters:

- `avg_area_m2`: Średnia powierzchnia lokalu w m², podana przez serwis.
- `avg_price`: Średnia cena transakcyjna lokalu w PLN, podana przez serwis.
- `avg_price_per_m2`: Średnia cena za m² w PLN, podana przez serwis.
- `building_slug` (string): Identyfikator do ponownego get_building.
- `building_url`: Strona budynku z cenami transakcyjnymi na deweloperuch.pl: podaj ją użytkownikowi jako link.
- `city` (string): Miasto budynku.
- `city_slug` (string): city_slug jak w search_locations.
- `first_transaction_date`: Data najstarszej transakcji w budynku.
- `last_transaction_date`: Data najnowszej transakcji w budynku.
- `lat`: Współrzędne budynku (WGS84).
- `lng`: Współrzędne budynku (WGS84).
- `name` (string): Adres budynku wg rejestru cen.
- `neighbourhood_trend`: Średnia cena za m² transakcji w okolicy budynku w kolejnych kwartałach; tylko przy include_trend=true.
- `street`: Ulica, tylko gdy inna niż name.
- `transactions_total` (integer): Wszystkie transakcje lokali budynku.
- `truncated` (boolean): true: lista units jest niepełna (units_omitted > 0).
- `units` (array): Lokale od tego z najnowszą transakcją.
- `units_omitted` (integer): Lokali pominiętych przez limit.
- `units_returned` (integer): Lokali na liście units.
- `units_total` (integer): Wszystkie lokale budynku w rejestrze cen.

### `estimate_property_value` (~639 tokens)

Wycena mieszkania

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.

Input parameters:

- `address`: Opcjonalny opis adresu, np. Marszałkowska 100, Warszawa. Trafia do serwisu, ale nie wyznacza położenia: decydują lat i lng.
- `area_m2` (number, required): Metraż mieszkania w m², 10–500, np. 48.5.
- `lat` (number, required): Szerokość geograficzna punktu w Polsce w stopniach, np. 52.2297: pole lat z search_locations (ulica albo dzielnica, nie samo miasto) albo ze współrzędnych inwestycji w get_investment (dokładniejsze d…
- `limit` (integer): Ile najbliższych transakcji porównawczych zwrócić, 0–50, domyślnie 10. Transakcja to ok. 210 znaków wyniku (50 to ok. 10,6 tys.); 0 = tylko wycena i statystyki.
- `lng` (number, required): Długość geograficzna punktu w Polsce w stopniach, np. 21.0122: pole lng z search_locations (ulica albo dzielnica, nie samo miasto) albo ze współrzędnych inwestycji w get_investment (dokładniejsze dla…

Output parameters:

- `area_m2` (number): Metraż podany w zapytaniu w m².
- `comparables` (array): Transakcje porównawcze od najbliższych, najwyżej limit.
- `comparables_omitted` (integer): Transakcji pominiętych przez limit.
- `comparables_returned` (integer): Transakcji na liście comparables.
- `comparables_total` (integer): Wszystkie transakcje porównawcze serwisu.
- `estimated_value`: Szacowana wartość mieszkania w PLN podana przez serwis: przybliżenie, nie operat szacunkowy. null: serwis nie podał wyceny.
- `hint`: Co zrobić dalej.
- `lat` (number)
- `lng` (number)
- `period_months`: Z ilu ostatnich miesięcy są transakcje porównawcze.
- `price_per_m2`: Szacowana cena za m² w PLN.
- `radius_m`: Promień w metrach, z którego są transakcje porównawcze.
- `stats`: Statystyki cen za m² podane przez serwis.
- `truncated` (boolean): true: lista comparables jest niepełna (comparables_omitted > 0).

### `get_government_statistics` (~822 tokens)

Statystyki GUS i NBP

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.

Input parameters:

- `dataset` (string, required): dwellings_quarterly: mieszkania oddane do użytkowania i rozpoczęte (razem, wg form budownictwa, na wynajem), kwartalnie; dwellings_monthly: to samo miesięcznie; average_area: średnia powierzchnia mie…
- `location` (string, required): polska (cała Polska), agregat 7-miast, 10-miast albo 6-miast-bez-warszawy, albo jedno z 66 miast na prawach powiatu: nazwa małymi literami bez polskich znaków, z myślnikami zamiast spacji, np. warsza…
- `periods` (integer): Ile ostatnich okresów zwrócić (lat, kwartałów albo miesięcy), 1–120, domyślnie 12. Najszerszy zestaw (mieszkania, 15 szeregów) przy 120 miesiącach to ok. 10 tys. znaków. Dla trendów bierz dane roczne…

Output parameters:

- `available_from` (string): Najstarszy okres, jaki ma serwis.
- `dataset` (string)
- `frequency` (string): year (lata), quarter (kwartały) albo month (miesiące).
- `hint`: Co zrobić dalej, gdy wynik jest obcięty.
- `location_name` (string)
- `location_slug` (string)
- `note`: Uwaga do danych, np. ostatni kwartał obejmuje tylko część miesięcy.
- `periods` (array): Okresy od najstarszego: 2025 (rok), 2025-Q3 (kwartał) albo 2025-08 (miesiąc).
- `returned` (integer): Okresy w wyniku: ostatnie z nich.
- `series` (array)
- `source` (string): Źródło danych: GUS, NBP albo Eurostat.
- `stats_url`: Link do sekcji z tymi danymi w serwisie: podaj go użytkownikowi.
- `title` (string)
- `total` (integer): Wszystkie okresy, które serwis ma dla tego zestawu.
- `truncated` (boolean): true: są starsze okresy niż pokazane; co dalej, mówi hint.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp#diagnostics

## Score history

- 2026-11-05: 55
- 2026-11-04: 54
- 2026-11-03: 54
- 2026-11-02: 53
- 2026-11-01: 53
- 2026-10-31: 52
- 2026-10-30: 52
- 2026-10-29: 51
- 2026-10-28: 51
- 2026-10-27: 50
- 2026-10-26: 50
- 2026-10-25: 49
- 2026-10-24: 49
- 2026-10-23: 48
- 2026-10-22: 45
- 2026-10-21: 45
- 2026-10-20: 45
- 2026-10-19: 45
- 2026-10-18: 45
- 2026-10-17: 45
- 2026-10-16: 45
- 2026-10-15: 45
- 2026-10-14: 13

## Common questions

### What is the deweloperuch.pl (unofficial) MCP server?

deweloperuch.pl (unofficial) is an MCP server listed in the public MCP registry as io.github.MBratkowski/deweloperuch-mcp. Unofficial read-only deweloperuch.pl data: new-build asking prices, RCN transactions, GUS and NBP. This page covers its MCPB bundle (https://github.com/MBratkowski/deweloperuch-mcp/releases/download/v0.1.3/deweloperuch-mcp-0.1.3.mcpb).

### Is the deweloperuch.pl (unofficial) MCP server safe to use?

deweloperuch.pl (unofficial) scores 55 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the deweloperuch.pl (unofficial) MCP server expose?

deweloperuch.pl (unofficial) exposes 13 tools: search_locations, search_offers, get_offer, search_investments, get_investment, and 8 more. Their descriptions and schemas cost roughly 6,754 tokens of context every time the server is loaded.

### What licence is the deweloperuch.pl (unofficial) MCP server under?

deweloperuch.pl (unofficial) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- Repository: https://github.com/MBratkowski/deweloperuch-mcp
- Website: https://github.com/MBratkowski/deweloperuch-mcp/blob/main/docs/mcp/README.md
- Changelog RSS feed: https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp.json
- HTML version of this page: https://verifymcp.io/servers/mbratkowski-deweloperuch-mcp/deweloperuch-mcp
