Skip to main content
Glama
MBratkowski

deweloperuch-mcp

by MBratkowski

Oferta z historią ceny

get_offer
Read-only

Retrieve a single property offer with its full price history, status, price flags, and investment/developer links; requires offer_id and investment_slug to show how the price changed.

Instructions

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 Schema

TableJSON Schema
NameRequiredDescriptionDefault
offer_idYesoffer_id z search_offers albo get_investment.
investment_slugYesinvestment_slug inwestycji tej oferty, np. smolna (z search_investments, search_offers albo get_developer).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYes
nameYes
priceNoCena ofertowa w PLN (nie transakcyjna).
statusYesactive (aktualna) albo archived (wycofana).
area_m2NoMetraż w m².
currencyNo
offer_idYes
city_slugYes
developerYes
price_flagsNoWnioski z historii ceny na dziś: ceny z offer i restored; wycofanie przerywa obowiązującą cenę.
price_per_m2NoCena za m² w PLN (price / area_m2).
creation_dateNo
developer_urlNoProfil dewelopera na deweloperuch.pl: podaj go użytkownikowi jako link.
price_historyYes
investment_urlNoStrona inwestycji na deweloperuch.pl: podaj ją użytkownikowi jako link.
investment_nameYes
investment_slugYes
last_event_dateNo
last_change_dateNo
price_change_since_startNoZmiana ceny od pierwszej zaobserwowanej, w PLN (ujemna = tańsza).
price_change_since_start_pctNoZmiana ceny od pierwszej zaobserwowanej, w procentach (ujemna = tańsza).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: the two-parameter prerequisite, the fields returned, the semantic meaning of price_flags, and the instruction to surface investment_url/developer_url as links. It does not cover pagination or error behavior, so a 4 rather than 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded correctly: purpose, then when-to-use, then prerequisites, then return contents. The price_flags explanation is lengthy and partly overlaps what the output schema already carries, but it does encode semantics (e.g. the suspicious_reduction rule) that are not self-evident. Slightly verbose but each block earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool whose complexity lies in price-history interpretation, the description supplies the prerequisite, the alternative tool, the return shape, and the meaning of every flag. Even though an output schema exists, the semantic definitions of lowest_price_30d/90d and suspicious_reduction are necessary context an agent cannot infer from structure alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters and their sources. The description adds only the constraint that offer_id alone is not enough, which is a marginal increment over the schema's own parameter descriptions. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: it returns one offer together with its full price history, investment, and developer. It explicitly distinguishes itself from the sibling get_investment by noting that listing offers for one investment is a different tool. An agent can tell exactly what it retrieves without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit use case ("Użyj, gdy chcesz zobaczyć, jak zmieniała się cena mieszkania"), names the alternative for a related task (get_investment for offer lists), and states a hard prerequisite: both offer_id and investment_slug are required, with offer_id alone insufficient. Nothing about when/when-not is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.