Skip to main content
Glama

Deweloperuch MCP

Search locations

deweloperuch_search_locations
Read-only

Find cities, districts and streets in Poland by a fragment of the name. Use it first, to turn a place name into the city_slug the other deweloperuch_* tools take (and the lat/lng of a street or district for deweloperuch_estimate_property_value — an approximate point, not a particular building). Returns no prices. A locality with offer_count 0 has no developer offers. Costs two requests to deweloperuch.pl. 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: { total: number | null, returned, truncated, hint?, items: [{ kind: 'city' | 'district' | 'street', name, city, city_slug, district?, street?, lat?, lng?, offer_count? }] } — the list key is items. total is null when more match than shown (truncated=true: refine the name). offer_count is the site's count of developer offers (exact for districts, approximate for streets and cities). A district or street carries the city_slug of its city (this server's tools have no district filter). Nothing matching is not an error: returned=0 with a hint.

Input Schema

NameRequiredDescriptionDefault
queryYesFragment of a city, district or street name, 2–100 characters, Polish characters allowed, e.g. Kraków, Mokotów.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover readOnly/openWorld, but the description adds cost ('Costs two requests to deweloperuch.pl'), throttling and caching behavior, a precise STOP-error protocol with explicit instructions to retry nothing and find no workaround, and the fact that no prices are returned. This is operationally significant context that annotations cannot express.

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?

Front-loaded with purpose and the 'use it first' instruction, then grouped into cost/behavior, result shape, and edge cases. The result-shape block is long, but with no output schema it is load-bearing rather than filler; the only marginal sentence is 'Returns no prices', which is still a useful exclusion.

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?

With no output schema, the description fully specifies the return shape including the `items` key, the total/returned/truncated/hint fields, per-item kind/name/city_slug/lat/lng/offer_count, and the exact-vs-approximate caveat on offer_count. Combined with the error protocol and rate-limit notes, an agent has everything needed to call and interpret it.

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% and the schema already specifies the 2–100 character constraint and Polish character support, so the description does not need to carry parameter burden. It still adds genuine meaning by characterizing the input as a name fragment and explaining that the resulting slug is the key other tools consume. No syntax or format gap remains.

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 set ('Find cities, districts and streets in Poland by a fragment of the name') and immediately differentiates itself from siblings by stating it is the entry point that produces city_slug for the other deweloperuch_* tools. It also carves out a distinct secondary consumer (lat/lng for deweloperuch_estimate_property_value), so an agent can place it in the tool graph without opening any 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 explicit ordering guidance ('Use it first, to turn a place name into the city_slug the other deweloperuch_* tools take') and names the sibling that consumes the coordinates. It also handles the negative case — 'Nothing matching is not an error: returned=0 with a hint' and 'A locality with offer_count 0 has no developer offers' — preempting the two most likely misuse paths.

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