chucho — Book Direct
Find vacation rentals, explore photos and property details, and open direct host booking links.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"chucho": {
"url": "https://chucho.ai/chatgpt/mcp"
}
}
}원격 엔드포인트
https://chucho.ai/chatgpt/mcpstreamable-http할 수 있는 일
도구 목록
도구 (11)
🟢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.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"locale": {
"default": "en",
"type": "string",
"enum": [
"en",
"es"
]
}
},
"required": [
"id"
],
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"locale": {
"default": "en",
"type": "string",
"enum": [
"en",
"es"
]
}
},
"required": [
"id"
],
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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
}커뮤니티
증거