Subletka

Rooms and flats for long-term stays in Warsaw and Kraków.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
97%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,096Tokens (tool definitions)
~3.3 KBTypical response size
Moderate attention impact (0.86% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "subletka": {
      "url": "https://subletka.com/api/mcp"
    }
  }
}

Remote endpoints

https://subletka.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_listings(city, district, from, to, type, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "enum": [
        "warszawa",
        "krakow"
      ],
      "description": "City slug. warszawa is Warsaw, krakow is Kraków.",
      "example": "warszawa"
    },
    "district": {
      "description": "District name. Accents, case and hyphens are optional, so mokotow, Mokotów and praga poludnie all work. GET /api/v1/cities lists every district.",
      "example": "mokotow",
      "type": "string",
      "minLength": 2,
      "maxLength": 40
    },
    "from": {
      "description": "Move-in date, YYYY-MM-DD. Returns places available on or before this day.",
      "example": "2026-11-01",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "format": "date"
    },
    "to": {
      "description": "Move-out date, YYYY-MM-DD. Returns places available until at least this day or open-ended.",
      "example": "2027-01-31",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "format": "date"
    },
    "type": {
      "description": "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.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "room",
          "studio",
          "flat"
        ]
      }
    },
    "rooms": {
      "description": "Minimum 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.",
      "example": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "max": {
      "description": "Maximum monthly rent in the currency of lang, so max=4000&lang=pl means 4000 zł and max=900&lang=en means €900.",
      "example": 4000,
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000
    },
    "furnished": {
      "description": "Only furnished places.",
      "type": "boolean"
    },
    "pets": {
      "description": "Only places that allow pets.",
      "type": "boolean"
    },
    "sort": {
      "default": "best",
      "description": "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.",
      "type": "string",
      "enum": [
        "best",
        "cheapest",
        "newest"
      ]
    },
    "lang": {
      "default": "en",
      "description": "Response language and currency. pl returns prices in zł (PLN), en returns prices in € (EUR). Use the currency the user's budget is in.",
      "type": "string",
      "enum": [
        "pl",
        "en"
      ]
    },
    "limit": {
      "default": 20,
      "description": "Results per page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "description": "Results to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 5000
    }
  },
  "required": [
    "city"
  ],
  "additionalProperties": false
}
🟢get_listing(id, lang)

Full details of one listing, including its description, all photos and terms.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_:-]{1,64}$",
      "description": "Listing id from a search result."
    },
    "lang": {
      "default": "en",
      "description": "Response language and currency. pl returns prices in zł (PLN), en returns prices in € (EUR). Use the currency the user's budget is in.",
      "type": "string",
      "enum": [
        "pl",
        "en"
      ]
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟢list_cities(lang)

Cities with active listing counts, lowest and median monthly rent, and every district name accepted by search_listings with its count and median monthly rent.

Input Schema

{
  "type": "object",
  "properties": {
    "lang": {
      "default": "en",
      "description": "Response language and currency. pl returns prices in zł (PLN), en returns prices in € (EUR). Use the currency the user's budget is in.",
      "type": "string",
      "enum": [
        "pl",
        "en"
      ]
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools