Search homes for sale and to rent across Europe and the UAE, keep shortlists, reveal sellers.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Two to six listings side by side: price, euros per square metre, size, rooms, place and age of the ad.
Listing ids from search_listings.
Two to six listings side by side: price, euros per square metre, size, rooms, place and age of the ad.
| Argument | Type | Description |
|---|---|---|
| ids* | array | Listing ids from search_listings. |
{
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 6,
"minItems": 2,
"description": "Listing ids from search_listings."
}
},
"additionalProperties": false
}Delete one of the person's saved searches by its id from my_saved_searches. Needs sign-in.
| Argument | Type | Description |
|---|---|---|
| id* | integer |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
}
},
"additionalProperties": false
}Turn a place name into the area slugs search_listings filters on, with how many homes each area has. Example: country "ae", text "marina" finds dubai-marina.
| Argument | Type | Description |
|---|---|---|
| deal | string | Count only homes for sale, or only to rent. |
| text* | string | A neighbourhood, district or town name, in any spelling. |
| country* | string | Two-letter market code from list_markets. |
{
"type": "object",
"required": [
"country",
"text"
],
"properties": {
"deal": {
"enum": [
"sale",
"rent"
],
"type": "string",
"description": "Count only homes for sale, or only to rent."
},
"text": {
"type": "string",
"description": "A neighbourhood, district or town name, in any spelling."
},
"country": {
"type": "string",
"description": "Two-letter market code from list_markets."
}
},
"additionalProperties": false
}Everything public about one listing: title, description, all photos, price, size, rooms, place and similar homes. Seller contact is not included.
| Argument | Type | Description |
|---|---|---|
| id* | integer | A listing id from search_listings. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "A listing id from search_listings."
}
},
"additionalProperties": false
}The countries Every Room covers, with how many homes are for sale and to rent in each, the currency, and which filters work there. Call this first to get the two-letter market codes the other tools take.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}The signed-in person's Every Room account: their plan and how many seller reveals are left this week, their shortlists and their saved searches. Needs sign-in.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}The listings in the person's shortlists, newest first: every list, or only the one named. Needs sign-in.
| Argument | Type | Description |
|---|---|---|
| list | string | Only this shortlist. Optional. |
{
"type": "object",
"properties": {
"list": {
"type": "string",
"description": "Only this shortlist. Optional."
}
},
"additionalProperties": false
}The person's saved searches, newest first, each with the link that reopens it. Needs sign-in.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Take a listing out of the person's shortlists: out of the named `list`, or out of every list of theirs that holds it. Needs sign-in.
| Argument | Type | Description |
|---|---|---|
| id* | integer | |
| list | string | Only this shortlist. Optional. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
},
"list": {
"type": "string",
"description": "Only this shortlist. Optional."
}
},
"additionalProperties": false
}Reveal who is selling or letting a listing: the portal or agency it is advertised on, the agent, the ad reference and the link to the original ad, plus the ad's own text. Spends one reveal from the person's Every Room plan (Search US$9.99 a week (5 sellers), Pro US$21.99 a week (20 sellers)), or their one free reveal; a listing already revealed costs nothing. Ask the person before spending one. Without reveals left it returns revealed: false with an upgrade_url for the person to open. Needs sign-in.
| Argument | Type | Description |
|---|---|---|
| id* | integer | A listing id from search_listings. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "A listing id from search_listings."
}
},
"additionalProperties": false
}Save a listing to one of the person's shortlists, the same lists the heart on evryroom.com saves to. Without `list`, it goes to their first list (made for them if they have none); a `list` name that does not exist yet becomes a new list. Needs sign-in.
| Argument | Type | Description |
|---|---|---|
| id* | integer | A listing id from search_listings. |
| list | string | A shortlist name. Optional. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"description": "A listing id from search_listings."
},
"list": {
"type": "string",
"description": "A shortlist name. Optional."
}
},
"additionalProperties": false
}Save a search under a name, with the same filters as search_listings. It appears in the person's saved searches on evryroom.com. Needs sign-in.
| Argument | Type | Description |
|---|---|---|
| deal | string | For sale or to rent. Defaults to sale where the market has it. |
| kind | string | |
| name* | string | What to call it, e.g. "2-bed Marina under 6k". |
| near | object | Only homes within a radius of a point. |
| page | integer | |
| sort | string | ppm2 sorts by price per square metre, cheapest first. |
| text | string | Words to find in the title or place, e.g. "penthouse" or "sea view". |
| town | string | A town name exactly as listings carry it. |
| areas | array | Area slugs from find_area. A home in any of them matches. |
| min_m2 | number | Minimum floor area in square metres. |
Search homes for sale or to rent in one market. Returns 24 listings a page, newest first unless sorted, with price, size, rooms, place and a photo. Up to 4 pages per search: narrow with filters rather than paging. Prices filter in euros: the sale price, or the rent per month (also in markets that quote rent per year).
| Argument | Type | Description |
|---|---|---|
| deal | string | For sale or to rent. Defaults to sale where the market has it. |
| kind | string | |
| near | object | Only homes within a radius of a point. |
| page | integer | |
| sort | string | ppm2 sorts by price per square metre, cheapest first. |
| text | string | Words to find in the title or place, e.g. "penthouse" or "sea view". |
| town | string | A town name exactly as listings carry it. |
| areas | array | Area slugs from find_area. A home in any of them matches. |
| min_m2 | number |
| country* |
| string |
| Two-letter market code from list_markets. |
| setting | array | What is around the home; every one listed must hold. Only where list_markets says setting_filter. |
| min_beds | integer | Minimum bedrooms; in markets where list_markets says rooms, minimum rooms. |
| min_baths | integer |
| max_price_eur | number | Sale price, or rent per month, in euros. |
| min_price_eur | number | Sale price, or rent per month, in euros. |
{
"type": "object",
"required": [
"name",
"country"
],
"properties": {
"deal": {
"enum": [
"sale",
"rent"
],
"type": "string",
"description": "For sale or to rent. Defaults to sale where the market has it."
},
"kind": {
"enum": [
"apartment",
"house",
"land",
"commercial",
"garage",
"other"
],
"type": "string"
},
"name": {
"type": "string",
"description": "What to call it, e.g. \"2-bed Marina under 6k\"."
},
"near": {
"type": "object",
"required": [
"lat",
"lon",
"km"
],
"properties": {
"km": {
"type": "number",
"description": "Radius, 0.05 to 100 km."
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
}
},
"description": "Only homes within a radius of a point."
},
"page": {
"type": "integer",
"maximum": 4,
"minimum": 1
},
"sort": {
"enum": [
"newest",
"price_asc",
"price_desc",
"ppm2"
],
"type": "string",
"description": "ppm2 sorts by price per square metre, cheapest first."
},
"text": {
"type": "string",
"description": "Words to find in the title or place, e.g. \"penthouse\" or \"sea view\"."
},
"town": {
"type": "string",
"description": "A town name exactly as listings carry it."
},
"areas": {
"type": "array",
"items": {
"type": "string"
},
"description": "Area slugs from find_area. A home in any of them matches."
},
"min_m2": {
"type": "number",
"description": "Minimum floor area in square metres."
},
"country": {
"type": "string",
"description": "Two-letter market code from list_markets."
},
"setting": {
"type": "array",
"items": {
"enum": [
"beach",
"sea_view",
"waterside",
"mountains"
],
"type": "string"
},
"description": "What is around the home; every one listed must hold. Only where list_markets says setting_filter."
},
"min_beds": {
"type": "integer",
"description": "Minimum bedrooms; in markets where list_markets says rooms, minimum rooms."
},
"min_baths": {
"type": "integer"
},
"max_price_eur": {
"type": "number",
"description": "Sale price, or rent per month, in euros."
},
"min_price_eur": {
"type": "number",
"description": "Sale price, or rent per month, in euros."
}
},
"additionalProperties": false
}| Minimum floor area in square metres. |
| country* | string | Two-letter market code from list_markets. |
| setting | array | What is around the home; every one listed must hold. Only where list_markets says setting_filter. |
| min_beds | integer | Minimum bedrooms; in markets where list_markets says rooms, minimum rooms. |
| min_baths | integer |
| max_price_eur | number | Sale price, or rent per month, in euros. |
| min_price_eur | number | Sale price, or rent per month, in euros. |
{
"type": "object",
"required": [
"country"
],
"properties": {
"deal": {
"enum": [
"sale",
"rent"
],
"type": "string",
"description": "For sale or to rent. Defaults to sale where the market has it."
},
"kind": {
"enum": [
"apartment",
"house",
"land",
"commercial",
"garage",
"other"
],
"type": "string"
},
"near": {
"type": "object",
"required": [
"lat",
"lon",
"km"
],
"properties": {
"km": {
"type": "number",
"description": "Radius, 0.05 to 100 km."
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
}
},
"description": "Only homes within a radius of a point."
},
"page": {
"type": "integer",
"maximum": 4,
"minimum": 1
},
"sort": {
"enum": [
"newest",
"price_asc",
"price_desc",
"ppm2"
],
"type": "string",
"description": "ppm2 sorts by price per square metre, cheapest first."
},
"text": {
"type": "string",
"description": "Words to find in the title or place, e.g. \"penthouse\" or \"sea view\"."
},
"town": {
"type": "string",
"description": "A town name exactly as listings carry it."
},
"areas": {
"type": "array",
"items": {
"type": "string"
},
"description": "Area slugs from find_area. A home in any of them matches."
},
"min_m2": {
"type": "number",
"description": "Minimum floor area in square metres."
},
"country": {
"type": "string",
"description": "Two-letter market code from list_markets."
},
"setting": {
"type": "array",
"items": {
"enum": [
"beach",
"sea_view",
"waterside",
"mountains"
],
"type": "string"
},
"description": "What is around the home; every one listed must hold. Only where list_markets says setting_filter."
},
"min_beds": {
"type": "integer",
"description": "Minimum bedrooms; in markets where list_markets says rooms, minimum rooms."
},
"min_baths": {
"type": "integer"
},
"max_price_eur": {
"type": "number",
"description": "Sale price, or rent per month, in euros."
},
"min_price_eur": {
"type": "number",
"description": "Sale price, or rent per month, in euros."
}
},
"additionalProperties": false
}