FlatHunt
MCP server by FlatHunt
Search and compare furnished apartments, studios and rooms in Berlin across multiple housing providers.
Connect to FlatHunt
No sign-in needed. Connect with FlatHunt’s own URL:
Paste it into any client that supports remote MCP servers. Your client talks to FlatHunt directly, not through mcp.tc.
Share this server
Opens this page, with the URL and setup steps.
mcp.tc/i/flathuntAbout
FlatHunt searches furnished apartments, studios, private rooms and shared rooms in Berlin from several providers. You can filter by price, size, rooms, district, availability dates, amenities and rental-policy flags, read listing details, compare listings side by side, and show listing cards in a gallery widget.
The server runs as a hosted streamable HTTP endpoint. Searching, listing details, comparison and the widget need no sign-in or API key. Saving listings and managing search alerts require signing in with OAuth.
What you can do
- Search Berlin furnished listings with price, size, room and date filters
- Filter by district or by coordinates and radius
- Get full details for a single listing
- Compare 2 to 10 listings side by side
- Render listing cards in an interactive gallery
- Save favourite listings and manage them (sign-in required)
- Create and delete search alerts (sign-in required)
Tools 12
search_listingsRead-onlySearch furnished Berlin listings by price, size, rooms, area, dates, amenities and policy flags.
get_listingRead-onlyGet full details for one listing by numeric id.
compare_listingsRead-onlyReturn normalized details for 2 to 10 listings for side-by-side comparison.
list_citiesRead-onlyList FlatHunt cities
list_areasRead-onlyList Berlin districts and neighbourhoods with canonical ids.
render_listings_widgetRead-onlyReturn UI cards and a gallery for 1 to 10 listings.
list_alertsRead-onlyList the signed-in user's saved search alerts.
create_alertWritesCreate a saved search alert for new matching listings.
delete_alertCan deleteDelete one or more saved search alerts by id.
list_saved_listingsRead-onlyList the signed-in user's favourite listings.
save_listingWritesSave a listing to the user's favourites.
remove_saved_listingCan deleteRemove a listing from the user's favourites.
Read from the live server on 12 Nov 2026. Read-only, Writes and Can delete are hints the server declares; your client decides whether to ask before running a tool.
Example prompts
Find a furnished studio in Kreuzberg under 1,200 EUR available from December
Compare listings 1234 and 5678 for me
Which Berlin districts can I filter by? Show Neukölln ids
Set up an alert for 2-room apartments in Mitte with Anmeldung
Set up
Every client connects to mcp.flat-hunt.com. Pick yours; the page remembers your choice.
Claude Code
- Run this in a terminal, in your project folder:
claude mcp add --transport http flathunt https://mcp.flat-hunt.com/mcp- Start Claude Code and type
/mcp. flathunt should show as connected.
Add --scope user to make it available in every project, not just this one.
Claude Desktop
- Open Customize → Connectors, click + Add, then Add custom connector.
- Name it FlatHunt and paste this URL:
https://mcp.flat-hunt.com/mcp- Click Add. Its tools appear in the chat’s tools menu.
Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.
claude.ai
- Open the connector form on claude.ai. This button fills in the name and URL for you:
Add to claude.ai (opens in a new tab)
- Check that the URL reads
https://mcp.flat-hunt.com/mcpand click Add. - Turn it on in a chat from the tools menu.
Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.
ChatGPT
- On chatgpt.com, go to Plugins, select +, then Add custom MCP server.
- Enter a name for the server.
- Under Connection, paste
https://mcp.flat-hunt.com/mcpas the server URL, then for authentication choose No authentication. - Check I understand and want to continue, then select Create as a plugin.
Whether you can add a custom MCP server depends on your ChatGPT plan and your workspace permissions (in Business workspaces, admins and owners can).
Cursor
Add to Cursor (opens in a new tab)
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"flathunt": {
"url": "https://mcp.flat-hunt.com/mcp"
}
}
}VS Code
Install in VS Code (opens in a new tab)
Or from a terminal:
code --add-mcp '{"name":"flathunt","type":"http","url":"https://mcp.flat-hunt.com/mcp"}'Or commit it to the repo in .vscode/mcp.json:
{
"servers": {
"flathunt": {
"type": "http",
"url": "https://mcp.flat-hunt.com/mcp"
}
}
}Devin Desktop
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"flathunt": {
"serverUrl": "https://mcp.flat-hunt.com/mcp"
}
}
}- Refresh the MCP server list in Cascade.
Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.
Codex
codex mcp add flathunt --url https://mcp.flat-hunt.com/mcpOr edit ~/.codex/config.toml directly:
[mcp_servers.flathunt]
url = "https://mcp.flat-hunt.com/mcp"Gemini CLI
gemini mcp add --transport http flathunt https://mcp.flat-hunt.com/mcpThis adds it to the current project. Add -s user to use it everywhere.
Any client
Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI’s settings file.
{
"mcpServers": {
"flathunt": {
"type": "http",
"url": "https://mcp.flat-hunt.com/mcp"
}
}
}Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.
Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.flat-hunt.com/mcp.
Embed
Show FlatHunt in a README or on your site. Each embed links to this page, uses the server’s own URL, and sets no cookies. How embeds work
The card, the iframe and the JSON are in English. Add ?lang=it, fr, de or es to their address for another language.
README badge
[](https://mcp.tc/i/flathunt)<a href="https://mcp.tc/i/flathunt"><img src="https://mcp.tc/i/flathunt/badge.svg" alt="FlatHunt on mcp.tc" height="20"></a>It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.
Website card
<script src="https://mcp.tc/w/flathunt.js" async></script>The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.
iframe
<iframe src="https://mcp.tc/embed/flathunt" title="FlatHunt on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.
JSON
The listing as data for your own pages and tools: name, tagline, the server’s own URL, tools and the “Add to” links. Any site can read it (CORS is open).
https://mcp.tc/i/flathunt.jsonAI prompt
Paste this into an AI coding assistant, such as Claude Code or Cursor, and it adds the FlatHunt card to your site.
Add the mcp.tc card for FlatHunt, an MCP server, to my website. It is one static script: no build step, no package to install, no cookies.
Put this tag where the card should appear. The card renders right before it:
```html
<script src="https://mcp.tc/w/flathunt.js" async></script>
```
To show the card somewhere else, put this placeholder there and load the same script once, for example before `</body>`. Keep the link inside: visitors without JavaScript see it.
```html
<div data-mcptc="flathunt"><a href="https://mcp.tc/i/flathunt">FlatHunt on mcp.tc</a></div>
```
Options:
- `data-theme="light"` or `"dark"` on the tag or the placeholder fixes the colors. Without it, the card follows the visitor’s light or dark mode.
- `data-size="compact"` gives a smaller card without the tagline.
- The CSS variable `--mcptc-max-width` on the placeholder or a parent sets the width (default `520px`).
- `?lang=` on the script URL sets the card’s language: `en`, `it`, `fr`, `de` or `es`.
If the site has a Content Security Policy, allow `script-src https://mcp.tc` and `img-src data:` (the icon is inline).
For a README or other Markdown docs, use the badge instead:
```markdown
[](https://mcp.tc/i/flathunt)
```
Reference: https://mcp.tc/embedChange history
We read this server’s tool list every 3 hours and record what changes. Last read 12 Nov 2026, 11:36 UTC.
-
3 tools changed.
Details, 11 Nov 2026, 14:53 UTC
Changed 3
compare_listingsoutput schemaget_listingoutput schemasearch_listingsoutput schema
-
2 tools changed.
Details, 9 Nov 2026, 11:52 UTC
Changed 2
render_listings_widgetinput schema and output schemasearch_listingsoutput schema
-
1 tool added and 7 tools changed. Server instructions changed.
New server instructions
Details, 9 Nov 2026, 02:51 UTC
Added 1
list_citiesRead-onlyList the cities FlatHunt covers (Berlin plus European university cities) with the canonical `city` id to pass to search_listings and create_alert, country, currency, how many listings are live, and whether district polygons (list_areas) exist for it. Berlin is the default city: omit `city` for Berlin. Call this when the user names any other city, or asks where FlatHunt works.
Changed 7
compare_listingstitle, output schema and hintstitle
BeforeCompare
BerlinlistingsAfterCompare listings
create_alertdescription and input schemaBeforeCreate a saved search alert so FlatHunt notifies the user about new matching
Berlin listings.Accepts housing, price, size, rooms, availability, canonical area ids, amenity and rental-policy filters. Email notifications are enabled by default; Telegram too when the user has linked Telegram on FlatHunt. Requires the alerts.write scope.AfterCreate a saved search alert so FlatHunt notifies the user about new matching listings in the chosen city (Berlin unless `city` is set). Accepts housing, price, size, rooms, availability, canonical area ids, amenity and rental-policy filters. Email notifications are enabled by default; Telegram too when the user has linked Telegram on FlatHunt. Requires the alerts.write scope.
- New parameters:
city - Description of
areasBeforeCanonical
Berlinarea IDs from list_areas(e.g.berlin:ortsteil:prenzlauer-berg). Up to 20 IDs; multiple IDs are combined with OR. District / Ortsteil mode — do not mix with lat/lng/radiusKm.When th…AfterCanonical area IDs from list_areas (Berlin only, e.g. berlin:ortsteil:prenzlauer-berg). Up to 20 IDs; multiple IDs are combined with OR. District / Ortsteil mode — do not mix with lat/lng/radiusKm. W…
- Description of
postCodeBeforeExact
Berlinpost code(PLZ),e.g.10115.AfterExact post code in the searched city, e.g. 10115 (Berlin).
- New parameters:
get_listingdescription, title, output schema and hintsBeforeGet detailed information about a single FlatHunt listing
in Berlinby its numericid.Returns its description, amenities, rental-policy flags, capacity, stay terms, utilities, nearby distances, media, provider and tracking URLs. Availability and provider terms may change.AfterGet detailed information about a single FlatHunt listing by its numeric id (any city). Returns its description, amenities, rental-policy flags, capacity, stay terms, utilities, nearby distances, media, provider and tracking URLs. Availability and provider terms may change.
title
BeforeGet
Berlinlisting detailsAfterGet listing details
list_areasdescription, title, input schema, output schema and hintsBeforeList
supported Berlin districts (Bezirke)andneighbourhoods (Ortsteile)with canonical FlatHuntids.Returns id, name, slug, type and parent area information, with optional name and type filtering. Mitte exists both as a whole Bezirk (berlin:bezirk:mitte) and as a smaller Ortsteil (berlin:ortsteil:mitte). Charlottenburg is an Ortsteil; the parent Bezirk is Charlottenburg-Wilmersdorf.AfterList district polygons (Berlin: Bezirke and Ortsteile) with canonical FlatHunt ids for the `areas` filter. District catalogs exist only for cities where list_cities reports hasAreas (today: Berlin, the default). For other cities search by city, post code or lat/lng/radiusKm. Returns id, name, slug, type and parent area information, with optional name and type filtering. Mitte exists both as a whole Bezirk (berlin:bezirk:mitte) and as a smaller Ortsteil (berlin:ortsteil:mitte). Charlottenburg is an Ortsteil; the parent Bezirk is Charlottenburg-Wilmersdorf.
title
BeforeList
Berlindistricts catalogAfterList districts catalog
- New parameters:
city
- New parameters:
list_saved_listingsoutput schemarender_listings_widgetoutput schemasearch_listingsdescription, title, input schema, output schema and hintsBeforeSearch current furnished apartments, studios, private rooms and shared rooms in Berlin
through FlatHunt.Supports price, size, rooms, bedrooms, canonical area ids or nearby coordinates, availability dates, capacity, deposit, providers, amenity tags, rental-policy flags, sorting and pagination up to 20 results. Returns normalized listing summaries and pagination metadata. Availability, prices and provider terms may change.AfterSearch current furnished apartments, studios, private rooms and shared rooms through FlatHunt in Berlin (default) or any city from list_cities via `city`. Supports price, size, rooms, bedrooms, canonical area ids (Berlin) or nearby coordinates, availability dates, capacity, deposit, providers, amenity tags, rental-policy flags, sorting and pagination up to 20 results. Returns normalized listing summaries and pagination metadata. Availability, prices and provider terms may change.
title
BeforeSearch
Berlinfurnished listingsAfterSearch furnished listings
- New parameters:
city - Description of
areasBeforeCanonical
Berlinarea IDs from list_areas(e.g.berlin:ortsteil:prenzlauer-berg). Up to 20 IDs; multiple IDs are combined with OR. District / Ortsteil mode — do not mix with lat/lng/radiusKm.When th…AfterCanonical area IDs from list_areas (Berlin only, e.g. berlin:ortsteil:prenzlauer-berg). Up to 20 IDs; multiple IDs are combined with OR. District / Ortsteil mode — do not mix with lat/lng/radiusKm. W…
- Description of
postCodeBeforeExact
Berlinpost code(PLZ),e.g.10115.AfterExact post code in the searched city, e.g. 10115 (Berlin).
- New parameters:
Server instructions
BeforeYou are FlatHunt's
Berlinhousing co-pilot: a sharp, warm, decisive friend who helps people actually find and rent furnished apartments, studios, private rooms, and shared rooms inBerlin.Guide the user from a vague need to a verified shortlist and an informed next step. Do not dump listings or let a provider link substitute for explaining a recommendation. Search, get_listing, compare, and the listings widget work without login. Save listing and create_alert require the user to be signed in (OAuth). Tone: expert friend who knowsBerlin housing.Be specific, opinionated when helpful, never vague. Match the user's language. Keep replies scannable (short paragraphs, bullets for options). Celebrate good finds briefly; never hype a weak match. Never sound helpless or bureaucratic. Personalization (use conversation history + tools, never invent preferences): - Remember and reuse stated constraints: budget, rooms, move-in date, must-have amenities, commute goals, vibe (quiet / nightlife / family / students), and areas already discussed. - When authenticated, call list_saved_listings and list_alerts early if relevant — use them as taste signals; reference them naturally. - If preferences conflict with inventory, say so and propose the best trade-offs (budget bump, adjacent Ortsteil, later availableFrom). - Ask at most 1–3 clarifying questions when a search would be guesswork. Prefer searching with sensible defaults over interrogation. Filters and soft criteria: - One precise search_listings with backend filters ≫ paging then hand-filtering. Put every hard constraint in that one call (limit max 20). Paginate only when meta.totalPages > 1 and the user asks for more — never page to drop small flats or wrong districts. - Structured filters: priceMin/priceMax,squareMetersMin/squareMetersMax, rooms[] (exact OR) or roomsMin/roomsMax, bedroomsMin, areas (list_areas ids — district polygons) OR lat+lng+radiusKm (nearby; never mix geo modes), availableFrom/availableTo (YYYY-MM-DD)…AfterYou are FlatHunt's housing co-pilot: a sharp, warm, decisive friend who helps people actually find and rent furnished apartments, studios, private rooms, and shared rooms in Berlin (the default city) and in the other European cities FlatHunt covers (list_cities: Lisbon, Porto, Madrid, Barcelona, Milan, Rome, Paris, Vienna … mostly Uniplaces student housing there). Guide the user from a vague need to a verified shortlist and an informed next step. Do not dump listings or let a provider link substitute for explaining a recommendation. Search, get_listing, compare, and the listings widget work without login. Save listing and create_alert require the user to be signed in (OAuth). Tone: expert friend who knows the local housing market. Be specific, opinionated when helpful, never vague. Match the user's language. Keep replies scannable (short paragraphs, bullets for options). Celebrate good finds briefly; never hype a weak match. Never sound helpless or bureaucratic. Personalization (use conversation history + tools, never invent preferences): - Remember and reuse stated constraints: budget, rooms, move-in date, must-have amenities, commute goals, vibe (quiet / nightlife / family / students), and areas already discussed. - When authenticated, call list_saved_listings and list_alerts early if relevant — use them as taste signals; reference them naturally. - If preferences conflict with inventory, say so and propose the best trade-offs (budget bump, adjacent Ortsteil, later availableFrom). - Ask at most 1–3 clarifying questions when a search would be guesswork. Prefer searching with sensible defaults over interrogation. Filters and soft criteria: - One precise search_listings with backend filters ≫ paging then hand-filtering. Put every hard constraint in that one call (limit max 20). Paginate only when meta.totalPages > 1 and the user asks for more — never page to drop small flats or wrong districts. - Structured filters: priceMin/priceMax, squareMetersMin/squareMetersMax…
-
5 tools changed.
Details, 8 Nov 2026, 17:53 UTC
Changed 5
compare_listingsoutput schemaget_listingoutput schemalist_saved_listingsoutput schemarender_listings_widgetoutput schemasearch_listingsoutput schema
-
Tracking started: 11 tools.
FAQ
Can I paste mcp.tc/i/flathunt into my MCP client?
No. mcp.tc links are pages, not server addresses. Connect with https://mcp.flat-hunt.com/mcp, so your client talks to FlatHunt directly. The quick link is for sharing: it opens this page, with setup steps for every client.
Does FlatHunt need an API key or a sign-in?
No. FlatHunt doesn’t ask for an account or key.
Is FlatHunt a remote or a local server?
Remote. FlatHunt hosts it at https://mcp.flat-hunt.com/mcp, and it speaks Streamable HTTP. There’s nothing to install.
What can FlatHunt do?
It has 12 tools, including search_listings, get_listing and compare_listings. You can search Berlin furnished listings with price, size, room and date filters, filter by district or by coordinates and radius and get full details for a single listing.
Which clients can use it?
Any client that supports remote MCP servers: Claude Code, Claude Desktop, claude.ai, ChatGPT, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. The setup steps cover each one.
Does mcp.tc track changes to FlatHunt?
Yes. FlatHunt’s History tab shows each change we find to its tools, down to descriptions and parameters, plus new versions and edits by its owner. Follow the listing to get an email when it changes.
Who wrote this page?
mcp.tc’s robot read FlatHunt’s own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.
mcp.tc isn’t affiliated with FlatHunt. This page was built from FlatHunt’s public metadata, last checked on 12 Nov 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.