Search zimmers, villas and vacation rentals in Israel, then open a pre-filled stay page on ZMRM.
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.
Re-prices one stay for exact dates and guests and returns a ZMRM booking link that opens the stay with the same dates and guests pre-filled. The quote carries priced_at and valid_until (advisory, not a hold). Payment always happens in ZMRM checkout; this tool never books or charges.
Your client's name (e.g. "chatgpt", "claude"), used only to attribute the visit; optional.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http booking https://zmrm.co.il/api/agent-mcp
Re-prices one stay for exact dates and guests and returns a ZMRM booking link that opens the stay with the same dates and guests pre-filled. The quote carries priced_at and valid_until (advisory, not a hold). Payment always happens in ZMRM checkout; this tool never books or charges.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| pets | boolean | |
| agent | string | Your client's name (e.g. "chatgpt", "claude"), used only to attribute the visit; optional. |
| adults* | integer | |
| locale | string | |
| infants | integer | |
| check_in* | string | |
| children | integer | |
| currency | string | |
| check_out* | any | |
| nationality | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"check_in",
"check_out",
"adults"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"pets": {
"type": "boolean"
},
"agent": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]+$",
"maxLength": 40,
"minLength": 1,
"description": "Your client's name (e.g. \"chatgpt\", \"claude\"), used only to attribute the visit; optional."
},
"adults": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"locale": {
"enum": [
"he",
"en",
"fr",
"es",
"de",
"it",
"ru",
"ar"
],
"type": "string"
},
"infants": {
"type": "integer",
"maximum": 10,
"minimum": 0
},
"check_in": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"children": {
"type": "integer",
"maximum": 20,
"minimum": 0
},
"currency": {
"enum": [
"EUR",
"USD"
],
"type": "string"
},
"check_out": {
"$ref": "#/properties/check_in"
},
"nationality": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"additionalProperties": false
}List what search_stays accepts: the regions (north, south, center and their sub-regions), the cities that have at least one public listing, the categories and the amenities, each with its slug and a localized name; the search limits (max_nights, max_adults, max_children, max_infants); today in Israel; the accepted payment methods and customer clubs (clubs: ILS checkouts only); the currencies and locales. Call it once before searching when you need a valid region_slug, city_slug, category or amenities slug, and call it when the guest asks whether their club card gets a discount. Facts only, no prices; cached, so a new city or amenity can take up to a day to appear. Read-only.
| Argument | Type | Description |
|---|---|---|
| locale | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"locale": {
"enum": [
"he",
"en",
"fr",
"es",
"de",
"it",
"ru",
"ar"
],
"type": "string"
}
},
"additionalProperties": false
}Get the public details of one ZMRM stay: description, amenities, house rules, check-in and check-out times, cancellation policy summary, images and location (approximate, rounded to about 1 km). With complete dates and guests it also returns a full price quote with the nightly breakdown, stamped with priced_at and valid_until (advisory, not a hold). Show the `url` to the user (it opens the stay, with these dates and guests filled in when you gave them); cite `page_url`, the plain stay page. The answer also lists payment_methods and a payment_note, once; vouchers and gift cards apply to ILS checkouts only. Club-card discounts apply to ILS checkouts only and are applied at payment; if the guest asks about a club or benefit card, call get_search_options, which lists the customer clubs (names only, no rate). Read-only.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| pets | boolean | |
| agent | string | Your client's name (e.g. "chatgpt", "claude"), used only to attribute the visit; optional. |
| adults | integer | |
| locale | string | |
| infants | integer | |
| check_in | string |
Search ZMRM vacation rentals (zimmers, villas, apartments) in Israel for exact dates and guests. Returns up to 10 stays with an exact total price in ILS agorot for the whole stay, or "on request" where a live supplier quote is needed. Show the `url` to the user; it opens the stay with these dates and guests filled in (page_url is the plain stay page, for citation). Every quote carries priced_at and valid_until (advisory, not a hold). The answer also lists payment_methods and a payment_note, once; vouchers and gift cards apply to ILS checkouts only. Club-card discounts apply to ILS checkouts only and are applied at payment; if the guest asks about a club or benefit card, call get_search_options, which lists the customer clubs (names only, no rate). Use get_booking_link to re-price before the guest pays. If the price of the first stay cannot be checked, the PRICING_UNAVAILABLE error carries details.retry_cursor: pass it as cursor to retry once; an error without retry_cursor is final. Empty results with a non-null next_cursor mean more stays may exist: call again with the cursor and do not report "no stays". Read-only: nothing is booked or held.
| Argument | Type | Description |
|---|---|---|
| near | object | |
| pets | boolean | |
| agent | string | Your client's name (e.g. "chatgpt", "claude"), used only to attribute the visit; optional. |
| limit | integer | |
| adults* | integer | |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 12, 2026.
| children | integer |
| currency | string |
| check_out | any |
| nationality | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"pets": {
"type": "boolean"
},
"agent": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]+$",
"maxLength": 40,
"minLength": 1,
"description": "Your client's name (e.g. \"chatgpt\", \"claude\"), used only to attribute the visit; optional."
},
"adults": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"locale": {
"enum": [
"he",
"en",
"fr",
"es",
"de",
"it",
"ru",
"ar"
],
"type": "string"
},
"infants": {
"type": "integer",
"maximum": 10,
"minimum": 0
},
"check_in": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"children": {
"type": "integer",
"maximum": 20,
"minimum": 0
},
"currency": {
"enum": [
"EUR",
"USD"
],
"type": "string"
},
"check_out": {
"$ref": "#/properties/check_in"
},
"nationality": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"additionalProperties": false
}| cursor |
| string |
| locale | string |
| infants | integer |
| category | any |
| check_in* | string |
| children | integer |
| currency | string |
| amenities | array |
| check_out* | any |
| city_slug | string |
| region_slug | string | Region to search: a top-level region (north, south or center) or a sub-region slug. An unrecognised slug is refused with INVALID_INPUT and suggestions; call get_search_options for the valid slugs. |
| max_total_agorot | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"check_in",
"check_out",
"adults"
],
"properties": {
"near": {
"type": "object",
"required": [
"lat",
"lng",
"radius_km"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"radius_km": {
"type": "number",
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
},
"pets": {
"type": "boolean"
},
"agent": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]+$",
"maxLength": 40,
"minLength": 1,
"description": "Your client's name (e.g. \"chatgpt\", \"claude\"), used only to attribute the visit; optional."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1
},
"adults": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"locale": {
"enum": [
"he",
"en",
"fr",
"es",
"de",
"it",
"ru",
"ar"
],
"type": "string"
},
"infants": {
"type": "integer",
"maximum": 10,
"minimum": 0
},
"category": {
"$ref": "#/properties/city_slug"
},
"check_in": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"children": {
"type": "integer",
"maximum": 20,
"minimum": 0
},
"currency": {
"enum": [
"EUR",
"USD"
],
"type": "string"
},
"amenities": {
"type": "array",
"items": {
"$ref": "#/properties/city_slug"
},
"maxItems": 10
},
"check_out": {
"$ref": "#/properties/check_in"
},
"city_slug": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"region_slug": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Region to search: a top-level region (north, south or center) or a sub-region slug. An unrecognised slug is refused with INVALID_INPUT and suggestions; call get_search_options for the valid slugs."
},
"max_total_agorot": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}