chucho — Book Direct

Find vacation rentals, explore photos and property details, and open direct host booking links.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
95%
Vollständigkeit des Schemas
81%
Qualität der Benennung
100%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~7,591Tokens (Tool-Definitionen)
~7.1 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.93% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "chucho": {
      "url": "https://chucho.ai/chatgpt/mcp"
    }
  }
}

Remote-Endpunkte

https://chucho.ai/chatgpt/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (11)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢get_booking_link(id, locale)

Get a currently published property’s confirmed host booking destination and structured reservation handoff. Open that URL to check dates, prices and terms, and complete booking with the host. This tool never creates a reservation or takes payment.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "string"
    },
    "propertyName": {
      "type": "string"
    },
    "bookingUrl": {
      "type": "string",
      "format": "uri"
    },
    "bookingProvider": {
      "type": "string",
      "const": "host"
    },
    "bookingStatus": {
      "type": "string",
      "const": "requires_host_confirmation"
    },
    "reservationCreated": {
      "type": "boolean",
      "const": false
    },
    "instructions": {
      "type": "string"
    },
    "action": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "ReserveAction"
        },
        "name": {
          "type": "string"
        },
        "target": {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "EntryPoint"
            },
            "urlTemplate": {
              "type": "string",
              "format": "uri"
            },
            "actionPlatform": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "@type",
            "urlTemplate",
            "actionPlatform"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "@type",
        "name",
        "target"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "propertyId",
    "propertyName",
    "bookingUrl",
    "bookingProvider",
    "bookingStatus",
    "reservationCreated",
    "instructions",
    "action"
  ],
  "additionalProperties": false
}
🟢get_filters(locale, organization, q, country, place, ...)

Discover current coverage and supported exact place/area keys when the destination is ambiguous. Returns public organization names/slugs/counts; organization scopes its coverage. Not needed for searches with city, region or country text.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "organization": {
      "default": "",
      "description": "Exact organization slug returned on a property or in get_filters. Restricts results to that organization, across destinations.",
      "type": "string",
      "maxLength": 160
    },
    "q": {
      "default": "",
      "description": "Public destination name to look up; searches labels, not property descriptions.",
      "type": "string",
      "maxLength": 160
    },
    "country": {
      "default": "",
      "description": "Country name or ISO code to scope counts.",
      "type": "string",
      "maxLength": 160
    },
    "place": {
      "default": "",
      "description": "Exact place key to list its immediate children.",
      "type": "string",
      "maxLength": 240
    },
    "kind": {
      "description": "Destination level. Without a query or scope, lists countries.",
      "type": "string",
      "enum": [
        "country",
        "region",
        "locality"
      ]
    },
    "page": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "organizations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "name",
          "slug",
          "count"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "places": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "fullLabel": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "country",
              "region",
              "locality"
            ]
          },
          "countryCode": {
            "type": "string"
          },
          "parentKey": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "urlPath": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "key",
          "label",
          "fullLabel",
          "kind",
          "countryCode",
          "parentKey",
          "urlPath",
          "count"
        ],
        "additionalProperties": false
      }
    },
    "features": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "key",
          "label",
          "count"
        ],
        "additionalProperties": false
      }
    },
    "amenities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "key",
          "count"
        ],
        "additionalProperties": false
      }
    },
    "pool": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "totalPlaces": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "pageSize": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "nextPage": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "organizations",
    "total",
    "places",
    "features",
    "amenities",
    "pool",
    "totalPlaces",
    "page",
    "pageSize",
    "nextPage"
  ],
  "additionalProperties": false
}
🟢search_properties(locale, organization, relatedTo, q, place, ...)

Find vacation rentals, holiday homes and places to stay. Search immediately with free-text city, region or country and guest/pool/amenity needs; use get_filters only for ambiguous destinations or exact place/area keys. Use organization with a returned organization.slug to explore all its homes, or relatedTo with a published property ID for more from that organization, same locality first and other locations included. Results include the organization name and browse link; offer this follow-up when relevant. Shows photos and host booking buttons automatically. Returns approved facts, never rates or availability. Never ask for check-in/check-out dates, stay length or nightly budget; ignore offered dates/budget as filters and search the supported needs now.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "organization": {
      "default": "",
      "description": "Exact organization slug returned on a property or in get_filters. Restricts results to that organization, across destinations.",
      "type": "string",
      "maxLength": 160
    },
    "relatedTo": {
      "default": "",
      "description": "Published property ID. Find other homes from its organization, same locality first, then region/country and other locations. Excludes the source property. Additional filters still combine with AND.",
      "type": "string",
      "maxLength": 160
    },
    "q": {
      "default": "",
      "description": "Search public property names, locations and approved introduction text.",
      "type": "string",
      "maxLength": 160
    },
    "place": {
      "default": "",
      "description": "Place key from the live filter catalog.",
      "type": "string",
      "maxLength": 240
    },
    "bounds": {
      "default": "",
      "description": "Map viewport as south,west,north,east in degrees; keeps homes whose public area center is inside it. West greater than east crosses the antimeridian.",
      "type": "string",
      "maxLength": 80,
      "pattern": "^$|^-?\\d{1,3}(\\.\\d{1,6})?(,-?\\d{1,3}(\\.\\d{1,6})?){3}$"
    },
    "feature": {
      "default": "",
      "description": "Collection key from the filter catalog.",
      "type": "string",
      "enum": [
        "",
        "private-pools",
        "room-for-4",
        "room-for-6",
        "room-for-8",
        "room-for-10",
        "2-bedrooms",
        "3-bedrooms",
        "4-bedrooms",
        "pets",
        "air-conditioning",
        "workspace",
        "step-free"
      ]
    },
    "country": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "region": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "city": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "guests": {
      "description": "Minimum sleeping capacity.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "minBedrooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "minBathrooms": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 50,
      "multipleOf": 0.5
    },
    "amenities": {
      "default": "",
      "description": "Comma-separated amenity keys; every requested amenity must be explicitly present.",
      "type": "string",
      "maxLength": 240
    },
    "pool": {
      "default": "",
      "type": "string",
      "enum": [
        "",
        "present",
        "private",
        "shared",
        "absent"
      ]
    },
    "page": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "properties": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "organization": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "canonicalUrl": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "slug",
                  "canonicalUrl"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "relatedPropertiesUrl": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "place": {
            "type": "string"
          },
          "summary": {
            "type": "string",
            "maxLength": 240
          },
          "constraint": {
            "type": "string",
            "maxLength": 160
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "canonicalUrl": {
            "type": "string"
          },
          "areaDistanceKm": {
            "type": "number"
          },
          "capacity": {
            "type": "number"
          },
          "bedrooms": {
            "type": "number"
          },
          "beds": {
            "type": "number"
          },
          "bathrooms": {
            "type": "number"
          },
          "pool": {
            "type": "object",
            "properties": {
              "present": {
                "type": "boolean"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "private",
                  "shared"
                ]
              }
            },
            "required": [
              "present"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "organization",
          "relatedPropertiesUrl",
          "id",
          "name",
          "place",
          "amenities",
          "canonicalUrl"
        ],
        "additionalProperties": false
      }
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "missingIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "organization": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "slug": {
              "type": "string"
            },
            "canonicalUrl": {
              "type": "string"
            }
          },
          "required": [
            "name",
            "slug",
            "canonicalUrl"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "relatedTo": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "total": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "pageSize": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "nextPage": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "properties",
    "locale",
    "organization",
    "relatedTo",
    "total",
    "page",
    "pageSize",
    "nextPage"
  ],
  "additionalProperties": false
}
🟢get_property(id, locale)

Read a currently published property's approved facts and host booking link. Unpublished properties return 404 immediately.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "organization": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "slug": {
              "type": "string"
            },
            "canonicalUrl": {
              "type": "string"
            }
          },
          "required": [
            "name",
            "slug",
            "canonicalUrl"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "relatedPropertiesUrl": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "location": {
      "type": "object",
      "properties": {
        "countryCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "revision": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "places": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "kind": {
                "type": "string",
                "enum": [
                  "country",
                  "region",
                  "locality"
                ]
              },
              "countryCode": {
                "type": "string"
              },
              "parentKey": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "urlPath": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "labelEs": {
                "type": "string"
              },
              "fullLabel": {
                "type": "string"
              },
              "fullLabelEs": {
                "type": "string"
              },
              "center": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "lat": {
                        "type": "number"
                      },
                      "lng": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "lat",
                      "lng"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "key",
              "kind",
              "countryCode",
              "parentKey",
              "urlPath",
              "label",
              "labelEs",
              "fullLabel",
              "fullLabelEs",
              "center"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "countryCode",
        "revision",
        "places"
      ],
      "additionalProperties": false
    },
    "facts": {
      "type": "object",
      "properties": {
        "localContent": {
          "maxItems": 40,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 160
          }
        },
        "capacity": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        },
        "bedrooms": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "beds": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        "bathrooms": {
          "type": "number",
          "minimum": 0,
          "maximum": 50,
          "multipleOf": 0.5
        },
        "description": {
          "type": "object",
          "properties": {
            "en": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4000
            },
            "es": {
              "type": "string",
              "maxLength": 4000
            }
          },
          "required": [
            "en"
          ],
          "additionalProperties": false
        },
        "positioning": {
          "type": "object",
          "properties": {
            "en": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4000
            },
            "es": {
              "type": "string",
              "maxLength": 4000
            }
          },
          "required": [
            "en"
          ],
          "additionalProperties": false
        },
        "constraint": {
          "type": "object",
          "properties": {
            "en": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4000
            },
            "es": {
              "type": "string",
              "maxLength": 4000
            }
          },
          "required": [
            "en"
          ],
          "additionalProperties": false
        },
        "rooms": {
          "default": [],
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "object",
                "properties": {
                  "en": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "es": {
                    "type": "string",
                    "maxLength": 4000
                  }
                },
                "required": [
                  "en"
                ],
                "additionalProperties": false
              },
              "beds": {
                "type": "integer",
                "minimum": 0,
                "maximum": 20
              },
              "bedDescription": {
                "type": "object",
                "properties": {
                  "en": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "es": {
                    "type": "string",
                    "maxLength": 4000
                  }
                },
                "required": [
                  "en"
                ],
                "additionalProperties": false
              },
              "airConditioning": {
                "type": "boolean"
              },
              "bathroom": {
                "type": "boolean"
              }
            },
            "required": [
              "name"
            ],
            "additionalProperties": false
          }
        },
        "amenities": {
          "default": [],
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "air-conditioning",
                  "wifi",
                  "workspace",
                  "parking",
                  "pets",
                  "kitchen",
                  "washer",
                  "step-free"
                ]
              },
              "present": {
                "type": "boolean"
              },
              "detail": {
                "type": "object",
                "properties": {
                  "en": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "es": {
                    "type": "string",
                    "maxLength": 4000
                  }
                },
                "required": [
                  "en"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "key",
              "present"
            ],
            "additionalProperties": false
          }
        },
        "pool": {
          "type": "object",
          "properties": {
            "present": {
              "type": "boolean"
            },
            "privacy": {
              "type": "string",
              "enum": [
                "private",
                "shared"
              ]
            },
            "fenced": {
              "type": "boolean"
            },
            "heated": {
              "type": "boolean"
            },
            "detail": {
              "type": "object",
              "properties": {
                "en": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 4000
                },
                "es": {
                  "type": "string",
                  "maxLength": 4000
                }
              },
              "required": [
                "en"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "present"
          ],
          "additionalProperties": false
        },
        "connectivity": {
          "type": "object",
          "properties": {
            "claim": {
              "type": "object",
              "properties": {
                "en": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 4000
                },
                "es": {
                  "type": "string",
                  "maxLength": 4000
                }
              },
              "required": [
                "en"
              ],
              "additionalProperties": false
            },
            "downloadMbps": {
              "type": "number",
              "exclusiveMinimum": 0,
              "maximum": 10000
            },
            "measuredAt": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
            }
          },
          "additionalProperties": false
        },
        "rules": {
          "type": "object",
          "properties": {
            "en": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4000
            },
            "es": {
              "type": "string",
              "maxLength": 4000
            }
          },
          "required": [
            "en"
          ],
          "additionalProperties": false
        },
        "checkinTime": {
          "type": "string",
          "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
        },
        "checkoutTime": {
          "type": "string",
          "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
        },
        "host": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 160
            },
            "description": {
              "type": "object",
              "properties": {
                "en": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 4000
                },
                "es": {
                  "type": "string",
                  "maxLength": 4000
                }
              },
              "required": [
                "en"
              ],
              "additionalProperties": false
            },
            "languages": {
              "default": [],
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 160
              }
            }
          },
          "required": [
            "name",
            "languages"
          ],
          "additionalProperties": false
        },
        "photos": {
          "default": [],
          "maxItems": 40,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "caption": {
                "type": "object",
                "properties": {
                  "en": {
                    "type": "string",
                    "maxLength": 4000
                  },
                  "es": {
                    "type": "string",
                    "maxLength": 4000
                  }
                },
                "required": [
                  "en"
                ],
                "additionalProperties": false
              },
              "group": {
                "type": "string",
                "maxLength": 160
              },
              "publicListing": {
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "caption"
            ],
            "additionalProperties": false
          }
        },
        "faq": {
          "default": [],
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "question": {
                "type": "object",
                "properties": {
                  "en": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "es": {
                    "type": "string",
                    "maxLength": 4000
                  }
                },
                "required": [
                  "en"
                ],
                "additionalProperties": false
              },
              "answer": {
                "type": "object",
                "properties": {
                  "en": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4000
                  },
                  "es": {
                    "type": "string",
                    "maxLength": 4000
                  }
                },
                "required": [
                  "en"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "id",
              "question",
              "answer"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "rooms",
        "amenities",
        "photos",
        "faq"
      ],
      "additionalProperties": false
    },
    "photos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "caption": {
            "type": "object",
            "properties": {
              "en": {
                "type": "string"
              },
              "es": {
                "type": "string"
              }
            },
            "required": [
              "en"
            ],
            "additionalProperties": false
          },
          "group": {
            "type": "string"
          },
          "publicListing": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "url",
          "caption"
        ],
        "additionalProperties": false
      }
    },
    "offerings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "object",
            "properties": {
              "en": {
                "type": "string"
              },
              "es": {
                "type": "string"
              }
            },
            "required": [
              "en"
            ],
            "additionalProperties": false
          },
          "description": {
            "type": "object",
            "properties": {
              "en": {
                "type": "string"
              },
              "es": {
                "type": "string"
              }
            },
            "required": [
              "en"
            ],
            "additionalProperties": false
          },
          "imageUrl": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "enum": [
              "activity",
              "restaurant",
              "grocery",
              "offer"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "source"
        ],
        "additionalProperties": false
      }
    },
    "bookingUrl": {
      "type": "string"
    },
    "canonicalUrl": {
      "type": "string"
    },
    "markdownUrl": {
      "type": "string"
    },
    "updatedAt": {
      "type": "string"
    },
    "revision": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "theme": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "organization",
    "relatedPropertiesUrl",
    "id",
    "slug",
    "name",
    "city",
    "region",
    "country",
    "location",
    "facts",
    "photos",
    "offerings",
    "bookingUrl",
    "canonicalUrl",
    "markdownUrl",
    "updatedAt",
    "revision",
    "theme"
  ],
  "additionalProperties": false
}
🟢render_properties(ids, locale)

Use this when the traveler wants photos or a comparison of homes already found by search_properties. Show one to six matching IDs as cards with Details and host booking links. Rechecks publication. Do not repeat the full cards in prose. Prices and availability are checked on the host website.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "ids": {
      "minItems": 1,
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 160
      }
    },
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    }
  },
  "required": [
    "ids"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "properties": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "organization": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "canonicalUrl": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "slug",
                  "canonicalUrl"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "relatedPropertiesUrl": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "place": {
            "type": "string"
          },
          "summary": {
            "type": "string",
            "maxLength": 240
          },
          "constraint": {
            "type": "string",
            "maxLength": 160
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "canonicalUrl": {
            "type": "string"
          },
          "areaDistanceKm": {
            "type": "number"
          },
          "capacity": {
            "type": "number"
          },
          "bedrooms": {
            "type": "number"
          },
          "beds": {
            "type": "number"
          },
          "bathrooms": {
            "type": "number"
          },
          "pool": {
            "type": "object",
            "properties": {
              "present": {
                "type": "boolean"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "private",
                  "shared"
                ]
              }
            },
            "required": [
              "present"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "organization",
          "relatedPropertiesUrl",
          "id",
          "name",
          "place",
          "amenities",
          "canonicalUrl"
        ],
        "additionalProperties": false
      }
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "missingIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "properties",
    "locale"
  ],
  "additionalProperties": false
}
🟡record_property_event(id, type, sessionId, locale)

For the property-card UI only: record a property view or successful outbound host-link action. Accepts only a public property ID, a temporary random session UUID, event type and language. Never send conversation text, contacts or URLs. This does not book a stay.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "type": {
      "type": "string",
      "enum": [
        "public_property_opened",
        "public_booking_referral"
      ]
    },
    "sessionId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    }
  },
  "required": [
    "id",
    "type",
    "sessionId",
    "locale"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "accepted": {
      "type": "boolean"
    }
  },
  "required": [
    "accepted"
  ],
  "additionalProperties": false
}
🟢open_explorer(locale, organization, relatedTo, q, place, ...)

Open the published vacation-home browser in ChatGPT. Search by destination, guests and amenities, inspect photos and save homes to the conversation shortlist.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "organization": {
      "default": "",
      "description": "Exact organization slug returned on a property or in get_filters. Restricts results to that organization, across destinations.",
      "type": "string",
      "maxLength": 160
    },
    "relatedTo": {
      "default": "",
      "description": "Published property ID. Find other homes from its organization, same locality first, then region/country and other locations. Excludes the source property. Additional filters still combine with AND.",
      "type": "string",
      "maxLength": 160
    },
    "q": {
      "default": "",
      "description": "Search public property names, locations and approved introduction text.",
      "type": "string",
      "maxLength": 160
    },
    "place": {
      "default": "",
      "description": "Place key from the live filter catalog.",
      "type": "string",
      "maxLength": 240
    },
    "bounds": {
      "default": "",
      "description": "Map viewport as south,west,north,east in degrees; keeps homes whose public area center is inside it. West greater than east crosses the antimeridian.",
      "type": "string",
      "maxLength": 80,
      "pattern": "^$|^-?\\d{1,3}(\\.\\d{1,6})?(,-?\\d{1,3}(\\.\\d{1,6})?){3}$"
    },
    "feature": {
      "default": "",
      "description": "Collection key from the filter catalog.",
      "type": "string",
      "enum": [
        "",
        "private-pools",
        "room-for-4",
        "room-for-6",
        "room-for-8",
        "room-for-10",
        "2-bedrooms",
        "3-bedrooms",
        "4-bedrooms",
        "pets",
        "air-conditioning",
        "workspace",
        "step-free"
      ]
    },
    "country": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "region": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "city": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "guests": {
      "description": "Minimum sleeping capacity.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "minBedrooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "minBathrooms": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 50,
      "multipleOf": 0.5
    },
    "amenities": {
      "default": "",
      "description": "Comma-separated amenity keys; every requested amenity must be explicitly present.",
      "type": "string",
      "maxLength": 240
    },
    "pool": {
      "default": "",
      "type": "string",
      "enum": [
        "",
        "present",
        "private",
        "shared",
        "absent"
      ]
    },
    "page": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "additionalProperties": false
}
🟢open_shortlist(locale, organization, relatedTo, q, place, ...)

Open the conversation’s shortlist beside the chat. Saved public property IDs are kept in app model context and refreshed before display.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "organization": {
      "default": "",
      "description": "Exact organization slug returned on a property or in get_filters. Restricts results to that organization, across destinations.",
      "type": "string",
      "maxLength": 160
    },
    "relatedTo": {
      "default": "",
      "description": "Published property ID. Find other homes from its organization, same locality first, then region/country and other locations. Excludes the source property. Additional filters still combine with AND.",
      "type": "string",
      "maxLength": 160
    },
    "q": {
      "default": "",
      "description": "Search public property names, locations and approved introduction text.",
      "type": "string",
      "maxLength": 160
    },
    "place": {
      "default": "",
      "description": "Place key from the live filter catalog.",
      "type": "string",
      "maxLength": 240
    },
    "bounds": {
      "default": "",
      "description": "Map viewport as south,west,north,east in degrees; keeps homes whose public area center is inside it. West greater than east crosses the antimeridian.",
      "type": "string",
      "maxLength": 80,
      "pattern": "^$|^-?\\d{1,3}(\\.\\d{1,6})?(,-?\\d{1,3}(\\.\\d{1,6})?){3}$"
    },
    "feature": {
      "default": "",
      "description": "Collection key from the filter catalog.",
      "type": "string",
      "enum": [
        "",
        "private-pools",
        "room-for-4",
        "room-for-6",
        "room-for-8",
        "room-for-10",
        "2-bedrooms",
        "3-bedrooms",
        "4-bedrooms",
        "pets",
        "air-conditioning",
        "workspace",
        "step-free"
      ]
    },
    "country": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "region": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "city": {
      "default": "",
      "type": "string",
      "maxLength": 160
    },
    "guests": {
      "description": "Minimum sleeping capacity.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "minBedrooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "minBathrooms": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 50,
      "multipleOf": 0.5
    },
    "amenities": {
      "default": "",
      "description": "Comma-separated amenity keys; every requested amenity must be explicitly present.",
      "type": "string",
      "maxLength": 240
    },
    "pool": {
      "default": "",
      "type": "string",
      "enum": [
        "",
        "present",
        "private",
        "shared",
        "absent"
      ]
    },
    "page": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "additionalProperties": false
}
🟢search_property_mentions(query)

Search published property names and destinations for the composer’s property picker. Returns public property references only.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 160
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_stay_areas(q, locale)

Find named public areas with published chucho homes. Search a destination's town, region or country. Use the exact returned area key for nearby search. These are public locality centers, never property coordinates; unmapped homes remain searchable with search_properties.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "q": {
      "default": "",
      "description": "Public destination name to look up; empty lists current named stay areas.",
      "type": "string",
      "maxLength": 160
    },
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "areas": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "key",
          "label",
          "count"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    }
  },
  "required": [
    "areas",
    "total",
    "truncated"
  ],
  "additionalProperties": false
}
🟢search_nearby_properties(locale, feature, guests, minBedrooms, minBathrooms, ...)

Find published homes near an exact get_stay_areas key, with guest, bedroom, pool and amenity filters. Distances are approximate between public locality centers, not home locations or driving times. Choose the area using destination evidence or ask the traveler; never invent a key. No live rates or availability. Show returned homes as cards.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "locale": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    },
    "feature": {
      "default": "",
      "description": "Collection key from the filter catalog.",
      "type": "string",
      "enum": [
        "",
        "private-pools",
        "room-for-4",
        "room-for-6",
        "room-for-8",
        "room-for-10",
        "2-bedrooms",
        "3-bedrooms",
        "4-bedrooms",
        "pets",
        "air-conditioning",
        "workspace",
        "step-free"
      ]
    },
    "guests": {
      "description": "Minimum sleeping capacity.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "minBedrooms": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "minBathrooms": {
      "type": "number",
      "minimum": 0.5,
      "maximum": 50,
      "multipleOf": 0.5
    },
    "amenities": {
      "default": "",
      "description": "Comma-separated amenity keys; every requested amenity must be explicitly present.",
      "type": "string",
      "maxLength": 240
    },
    "pool": {
      "default": "",
      "type": "string",
      "enum": [
        "",
        "present",
        "private",
        "shared",
        "absent"
      ]
    },
    "page": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "nearArea": {
      "type": "string",
      "minLength": 1,
      "maxLength": 240,
      "description": "Exact public stay-area key from get_stay_areas; never invent a key or coordinates."
    },
    "radiusKm": {
      "default": 30,
      "description": "Maximum approximate straight-line distance between public area centers, not home GPS or driving distance.",
      "type": "number",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "nearArea"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "total": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "page": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "pageSize": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "nextPage": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    },
    "area": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "required": [
        "key",
        "label"
      ],
      "additionalProperties": false
    },
    "radiusKm": {
      "type": "number"
    },
    "distanceBasis": {
      "type": "string"
    },
    "properties": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "organization": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "canonicalUrl": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "slug",
                  "canonicalUrl"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "relatedPropertiesUrl": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "place": {
            "type": "string"
          },
          "summary": {
            "type": "string",
            "maxLength": 240
          },
          "constraint": {
            "type": "string",
            "maxLength": 160
          },
          "amenities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "canonicalUrl": {
            "type": "string"
          },
          "areaDistanceKm": {
            "type": "number"
          },
          "capacity": {
            "type": "number"
          },
          "bedrooms": {
            "type": "number"
          },
          "beds": {
            "type": "number"
          },
          "bathrooms": {
            "type": "number"
          },
          "pool": {
            "type": "object",
            "properties": {
              "present": {
                "type": "boolean"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "private",
                  "shared"
                ]
              }
            },
            "required": [
              "present"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "organization",
          "relatedPropertiesUrl",
          "id",
          "name",
          "place",
          "amenities",
          "canonicalUrl"
        ],
        "additionalProperties": false
      }
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "es"
      ]
    }
  },
  "required": [
    "total",
    "page",
    "pageSize",
    "nextPage",
    "area",
    "radiusKm",
    "distanceBasis",
    "properties",
    "locale"
  ],
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet11 Tools