Skip to main content
Glama

Search sublets

search_listings
Read-onlyIdempotent

Search active rooms and flats for long-term stays in Warsaw or Kraków by district, move-in and move-out dates, place type, rooms and maximum monthly rent. Each result links to its Subletka page, where the person can contact the lister.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "city": "<city>"
    },
    "name": "search_listings"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoMove-out date, YYYY-MM-DD. Returns places available until at least this day or open-ended.
maxNoMaximum monthly rent in the currency of lang, so max=4000&lang=pl means 4000 zł and max=900&lang=en means €900.
cityYesCity slug. warszawa is Warsaw, krakow is Kraków.
fromNoMove-in date, YYYY-MM-DD. Returns places available on or before this day.
langNoResponse language and currency. pl returns prices in zł (PLN), en returns prices in € (EUR). Use the currency the user's budget is in.en
petsNoOnly places that allow pets.
sortNoListings available by the move-in day (from, or today without from) come first, as on the website. Within each group, best fit first (value for money, area, transit time to the centre, listing quality and freshness, with at most two in a row from one building), cheapest monthly rent first, or newest first.best
typeNoPlace types, comma separated in a URL. room is a private or shared room, studio is a one-room whole place, flat is any other whole place, whole is studio and flat together. Each result carries type room, studio or flat.
limitNoResults per page.
roomsNoMinimum number of rooms in a whole place, as the ad counts them. Implies a whole place. Ads count differently. Some count bedrooms, others count every room the Polish way, where a studio is 1 room and a one-bedroom flat is 2. For a one-bedroom, use rooms=1 and say which results have type studio, or rooms=2 to rule studios out.
offsetNoResults to skip, for paging.
districtNoDistrict name. Accents, case and hyphens are optional, so mokotow, Mokotów and praga poludnie all work. GET /api/v1/cities lists every district.
furnishedNoOnly furnished places.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / type / description
      Previous value: -"Place types, comma separated in a URL. room is a private or shared room, studio is a one-room whole place, flat is any other whole place. Each result carries the same type field."New value: +"Place types, comma separated in a URL. room is a private or shared room, studio is a one-room whole place, flat is any other whole place, whole is studio and flat together. Each result carries type room, studio or flat."
    • changedInput schema / properties / type / items / enum
      Previous value: -[
      -  "room",
      -  "studio",
      -  "flat"
      -]New value: +[
      +  "room",
      +  "studio",
      +  "flat",
      +  "whole"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / sort / default
      Previous value: -"newest"New value: +"best"
    • changedInput schema / properties / sort / description
      Previous value: -"Listings available by the move-in day (from, or today without from) come first, as on the website. Within each group, newest first or cheapest monthly rent first."New value: +"Listings available by the move-in day (from, or today without from) come first, as on the website. Within each group, best fit first (value for money, area, transit time to the centre, listing quality and freshness, with at most two in a row from one building), cheapest monthly rent first, or newest first."
    • changedInput schema / properties / sort / enum
      Previous value: -[
      -  "newest",
      -  "cheapest"
      -]New value: +[
      +  "best",
      +  "cheapest",
      +  "newest"
      +]
  3. First observed

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that results are active listings linking to a Subletka page where the lister is contacted, which is useful, but it says nothing about paging behaviour, result caps, or why 13 filters exist — moderate added value only.

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

Conciseness5/5

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

Two sentences, no filler: scope and filters come first, the result/contact behaviour second. Every clause carries information an agent can act on.

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

Completeness4/5

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

For a 13-parameter read-only search with no output schema, the description plus a fully documented schema covers enough to call it correctly. It could go further by mentioning paging/limit and the currency behaviour, but the essential shape is present.

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 every parameter, including the subtle currency/lang coupling and the rooms-counting caveat. The description merely restates the filter list (district, dates, type, rooms, max rent) without adding syntax or edge-case meaning, which is exactly the baseline case.

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?

States a specific verb (search) plus the resource (active rooms and flats), the geography (Warsaw or Kraków), the stay type (long-term) and the filter dimensions. It is clearly distinguishable from get_listing (single listing detail) and list_cities (enumeration of districts).

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

Usage Guidelines3/5

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

The description implies this is the discovery entry point and that per-result contact happens on the Subletka page, but it never names the alternatives (get_listing, list_cities) or states when not to use it. Usage is inferable from context rather than explicitly routed.

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