Skip to main content
Glama

Deweloperuch MCP

Offer with price history

deweloperuch_get_offer
Read-only

One offer with its full price history, investment and developer. Use it to see how a flat's asking price changed. Needs offer_id and investment_slug (both come from deweloperuch_get_investment; investment_slug also from deweloperuch_search_investments): offer_id alone is not enough. investment_url and developer_url are the investment's and developer's pages on deweloperuch.pl: give them to the user as links. price_flags (as of today; prices from offer and restored events, a withdrawal ends the price in effect; an archived offer is judged up to the day it was withdrawn): lowest_price_30d and lowest_price_90d are the lowest price in effect over the last 30 and 90 days, including one set before the window; price_changes is the number of price changes; largest_drop_pct and largest_rise_pct are the largest single drop and rise as a % of the previous price; suspicious_reduction=true when the latest drop came within 30 days after a rise and the new price is not below the lowest of the 30 days before it (a 'promotion' after a price increase). These are developers' asking prices, not transaction prices. Two kinds of prices must not be mixed: developers' asking prices (deweloperuch_search_investments, deweloperuch_get_investment, deweloperuch_get_offer, deweloperuch_get_market_statistics), RCN transaction prices (deweloperuch_estimate_property_value, deweloperuch_get_transaction_statistics, deweloperuch_rank_locations, deweloperuch_get_building) — what flats actually sold for, from the Real Estate Price Register. deweloperuch.pl is a free community project queried politely (one request at a time, results cached): if a result is an error starting with STOP, stop using the deweloperuch_* tools, retry nothing, look for no workaround and tell the user that market data is temporarily unavailable. Result shape: { offer_id, name, status ('active' | 'archived'), price? (PLN, asking), currency?, area_m2?, price_per_m2?, price_change_since_start? (PLN; negative = cheaper), price_change_since_start_pct?, creation_date?, last_event_date?, last_change_date?, investment_slug, investment_name, investment_url?, city, city_slug, developer: { developer_slug, name, website?, description? }, developer_url?, price_history: [{ date?, kind ('offer' | 'archived' | 'restored'), price? }], price_flags: { lowest_price_30d?, lowest_price_90d?, price_changes, largest_drop_pct?, largest_rise_pct?, suspicious_reduction }, source } — the list key is price_history, oldest first. A flag with no basis (no drop yet) is omitted.

Input Schema

NameRequiredDescriptionDefault
offer_idYesoffer_id from deweloperuch_get_investment.
investment_slugYesinvestment_slug of this offer's investment, e.g. smolna (from deweloperuch_search_investments or deweloperuch_get_investment).

Output Schema

NameRequiredDescriptionDefault
cityYes
nameYes
priceNo
sourceYes
statusYes
area_m2No
currencyNo
offer_idYes
city_slugYes
developerYes
price_flagsNo
price_per_m2No
creation_dateNo
developer_urlNo
price_historyYes
investment_urlNo
investment_nameYes
investment_slugYes
last_event_dateNo
last_change_dateNo
price_change_since_startNo
price_change_since_start_pctNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover only readOnly and openWorld, so the description carries the rest and does it well: polite single-request access with caching, the STOP error protocol (retry nothing, report unavailability), the fact that price_flags are computed as of today with withdrawal/archival cutoffs, the exact definition of suspicious_reduction, and the caveat that these are asking rather than transaction prices.

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

Conciseness3/5

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

Purpose and prerequisites are front-loaded, but the body is a single dense paragraph that dumps the entire result shape and repeats the asking-vs-transaction tool roster twice. Since an output schema already exists, the long field enumeration is largely redundant padding that could be trimmed.

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?

Given the tool's complexity — derived price flags, mixed-source price data, an error protocol — the description leaves essentially nothing an agent needs unexplained. Even where it overlaps the output schema, the extra semantics (flag definitions, ordering 'oldest first', omission of baseless flags) remove ambiguity rather than repeat types.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: both parameters are mandatory and interdependent, and offer_id alone is insufficient. It also notes that investment_url and developer_url in the result are meant to be surfaced to the user as links.

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?

Opens with a specific verb-and-resource statement: a single offer retrieved together with its price history, investment and developer, and adds the differentiating detail that prices are developers' asking prices. The sibling tools are named with their distinct price universes, so an agent can tell this apart from deweloperuch_get_investment or deweloperuch_get_transaction_statistics without opening a 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?

Gives an explicit use case ('to see how a flat's asking price changed') and an explicit prerequisite constraint: both offer_id and investment_slug are required and 'offer_id alone is not enough,' with the source tools named. It also states an exclusionary rule — do not mix these asking prices with RCN transaction prices from six named siblings — and spells out what to do on a STOP error.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources