WonderKit Discover
Read-only city guides and public itineraries for family and group trips.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"discover": {
"url": "https://wonderkit.app/mcp"
}
}
}원격 엔드포인트
https://wonderkit.app/mcpstreamable-http할 수 있는 일
도구 목록
도구 (7)
🟢list_cities
Use this when someone asks which cities WonderKit covers or needs a valid city key. Lists cities that have a published city guide of real things to do, with their keys. Reads public guides only; it cannot plan, save, or look up a private trip.
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
},
"activityCount": {
"type": "number"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"truncated": {
"type": "boolean"
},
"found": {
"description": "false when the lookup did not resolve",
"type": "boolean"
},
"reason": {
"description": "unknown_city, region_not_city, no_city_guide, no_itineraries_for_city, ambiguous_city, no_published_guide, no_matches, unknown_itinerary, lookup_failed, …",
"type": "string"
},
"matches": {
"description": "Candidate cities when the name is ambiguous",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"suggestions": {
"description": "Near-miss spellings, or same-name cities elsewhere, when the name is unknown",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"region": {
"description": "The state, country, or area the city ask was read as",
"type": "string"
},
"nearest": {
"description": "Covered cities in or near the asked-for area. Not the city that was asked for",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"why": {
"type": "string",
"description": "Why this city is offered, e.g. \"in Vermont\" or \"near Wyoming\""
},
"url": {
"description": "The WonderKit page for this city",
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey",
"why"
],
"additionalProperties": {}
}
},
"planUrl": {
"description": "Guest planner link for the destination as asked; it plans any city",
"type": "string",
"format": "uri"
},
"planDescription": {
"description": "One line saying what planUrl opens",
"type": "string"
},
"itinerariesUrl": {
"description": "WonderKit itineraries for this city",
"type": "string",
"format": "uri"
},
"hint": {
"type": "string"
},
"note": {
"type": "string",
"description": "Read-only reminder; not user content"
}
},
"required": [
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢find_activities(city, audience, query)
Use this when someone asks what to do in one city: weekend ideas, events, food, or kid-friendly, date-night, or group activities. Returns published picks from the WonderKit city guide and the page URL. Returns single activities, not multi-day plans, and cannot see anyone's own trips.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "City name or WonderKit city key, such as \"Paris\" or \"paris-france\"."
},
"audience": {
"type": "string",
"enum": [
"families",
"friends",
"couples"
],
"description": "Who the plan is for: families, friends, or couples."
},
"query": {
"description": "Optional words to match against activity titles and descriptions, such as \"museums\" or \"dinner\". Plurals match singulars.",
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"city"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"found": {
"description": "false when the lookup did not resolve",
"type": "boolean"
},
"reason": {
"description": "unknown_city, region_not_city, no_city_guide, no_itineraries_for_city, ambiguous_city, no_published_guide, no_matches, unknown_itinerary, lookup_failed, …",
"type": "string"
},
"matches": {
"description": "Candidate cities when the name is ambiguous",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"suggestions": {
"description": "Near-miss spellings, or same-name cities elsewhere, when the name is unknown",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"region": {
"description": "The state, country, or area the city ask was read as",
"type": "string"
},
"nearest": {
"description": "Covered cities in or near the asked-for area. Not the city that was asked for",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"why": {
"type": "string",
"description": "Why this city is offered, e.g. \"in Vermont\" or \"near Wyoming\""
},
"url": {
"description": "The WonderKit page for this city",
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey",
"why"
],
"additionalProperties": {}
}
},
"planUrl": {
"description": "Guest planner link for the destination as asked; it plans any city",
"type": "string",
"format": "uri"
},
"planDescription": {
"description": "One line saying what planUrl opens",
"type": "string"
},
"itinerariesUrl": {
"description": "WonderKit itineraries for this city",
"type": "string",
"format": "uri"
},
"hint": {
"type": "string"
},
"note": {
"type": "string",
"description": "Read-only reminder; not user content"
},
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"audience": {
"type": "string"
},
"pageUrl": {
"description": "WonderKit page to cite",
"type": "string",
"format": "uri"
},
"activities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string"
},
"section": {
"type": "string"
},
"location": {
"type": "string"
},
"estimatedCost": {
"type": "string"
},
"estimatedDuration": {
"type": "string"
},
"bestFor": {
"type": "string"
},
"venue": {
"type": "string"
}
},
"required": [
"title"
],
"additionalProperties": {}
}
},
"truncated": {
"type": "boolean"
}
},
"required": [
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_itineraries(city, audience)
Use this when someone wants to browse WonderKit's public multi-day itineraries and place guides, for all cities or one city and audience. Plans that are in season this month come first. Each summary has dayCount (days or themed sections) and stopCount (anchors plus backups; before 2026-09-28 stopCount held the day count). Browses by city and audience only; it does not rank by a free-text description. Does not book or edit a trip.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "City name or WonderKit city key, such as \"Paris\" or \"paris-france\"."
},
"audience": {
"type": "string",
"enum": [
"families",
"friends",
"couples"
],
"description": "Who the plan is for: families, friends, or couples."
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"found": {
"description": "false when the lookup did not resolve",
"type": "boolean"
},
"reason": {
"description": "unknown_city, region_not_city, no_city_guide, no_itineraries_for_city, ambiguous_city, no_published_guide, no_matches, unknown_itinerary, lookup_failed, …",
"type": "string"
},
"matches": {
"description": "Candidate cities when the name is ambiguous",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"suggestions": {
"description": "Near-miss spellings, or same-name cities elsewhere, when the name is unknown",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"region": {
"description": "The state, country, or area the city ask was read as",
"type": "string"
},
"nearest": {
"description": "Covered cities in or near the asked-for area. Not the city that was asked for",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"why": {
"type": "string",
"description": "Why this city is offered, e.g. \"in Vermont\" or \"near Wyoming\""
},
"url": {
"description": "The WonderKit page for this city",
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey",
"why"
],
"additionalProperties": {}
}
},
"planUrl": {
"description": "Guest planner link for the destination as asked; it plans any city",
"type": "string",
"format": "uri"
},
"planDescription": {
"description": "One line saying what planUrl opens",
"type": "string"
},
"itinerariesUrl": {
"description": "WonderKit itineraries for this city",
"type": "string",
"format": "uri"
},
"hint": {
"type": "string"
},
"note": {
"type": "string",
"description": "Read-only reminder; not user content"
},
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"itineraries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"lede": {
"description": "One-line promise of the plan, as its page leads with",
"type": "string"
},
"audience": {
"type": "string"
},
"shape": {
"type": "string"
},
"dayCount": {
"type": "number",
"description": "Days, or themed sections on a places-guide"
},
"stopCount": {
"type": "number",
"description": "Named stops (anchors plus backups) across the plan: the \"N stops\" the page shows. Not the day count; use dayCount for that. Until 2026-09-28 this field wrongly carried the day count, so a client that cached it as days should re-read"
},
"url": {
"type": "string",
"format": "uri"
},
"imageUrl": {
"description": "Hero photo of the plan",
"type": "string",
"format": "uri"
},
"season": {
"type": "object",
"properties": {
"seasons": {
"type": "array",
"items": {
"type": "string"
}
},
"peakMonths": {
"description": "1-12, when the page has a real peak",
"type": "array",
"items": {
"type": "number"
}
},
"window": {
"description": "Human-readable best window, e.g. \"Peak colour late Sep – mid Oct\"",
"type": "string"
}
},
"required": [
"seasons"
],
"additionalProperties": {}
},
"inSeason": {
"description": "Whether the plan fits the month or season it was ranked for",
"type": "boolean"
},
"lastReviewed": {
"description": "Date (YYYY-MM-DD) the venues and copy were last re-checked",
"type": "string"
}
},
"required": [
"city",
"cityKey",
"slug",
"title",
"audience",
"shape",
"dayCount",
"stopCount",
"url"
],
"additionalProperties": {}
}
},
"availableAudiences": {
"type": "array",
"items": {
"type": "string"
}
},
"truncated": {
"type": "boolean"
}
},
"required": [
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search_itineraries(query, city, audience, season, month, ...)
Use this when someone describes the trip they want, such as "romantic weekend in October", "museums with kids", or "Christmas markets", and needs matching public itineraries across cities. Ranks by the words they used, who it is for, and season fit. Pass a city to stay in one city. Do not use it to create or save a trip; it only reads published guides.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"description": "What they want, in their words, such as \"romantic weekend\", \"museums with kids\", or \"fall foliage\". Plurals match singulars.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "City name or WonderKit city key, such as \"Paris\" or \"paris-france\"."
},
"audience": {
"type": "string",
"enum": [
"families",
"friends",
"couples"
],
"description": "Who the plan is for: families, friends, or couples."
},
"season": {
"description": "Season they are travelling in. \"now\" means the current month. Northern-hemisphere seasons.",
"type": "string",
"enum": [
"winter",
"spring",
"summer",
"fall",
"now"
]
},
"month": {
"description": "Travel month, 1-12. Boosts plans whose peak months include it. Wins over season.",
"type": "integer",
"minimum": 1,
"maximum": 12
},
"shape": {
"description": "day-plan for a day-by-day plan, places-guide for a themed list of places.",
"type": "string",
"enum": [
"day-plan",
"places-guide"
]
},
"limit": {
"description": "How many results to return, up to 8.",
"type": "integer",
"minimum": 1,
"maximum": 8
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"found": {
"description": "false when the lookup did not resolve",
"type": "boolean"
},
"reason": {
"description": "unknown_city, region_not_city, no_city_guide, no_itineraries_for_city, ambiguous_city, no_published_guide, no_matches, unknown_itinerary, lookup_failed, …",
"type": "string"
},
"matches": {
"description": "Candidate cities when the name is ambiguous",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"suggestions": {
"description": "Near-miss spellings, or same-name cities elsewhere, when the name is unknown",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"region": {
"description": "The state, country, or area the city ask was read as",
"type": "string"
},
"nearest": {
"description": "Covered cities in or near the asked-for area. Not the city that was asked for",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"why": {
"type": "string",
"description": "Why this city is offered, e.g. \"in Vermont\" or \"near Wyoming\""
},
"url": {
"description": "The WonderKit page for this city",
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey",
"why"
],
"additionalProperties": {}
}
},
"planUrl": {
"description": "Guest planner link for the destination as asked; it plans any city",
"type": "string",
"format": "uri"
},
"planDescription": {
"description": "One line saying what planUrl opens",
"type": "string"
},
"itinerariesUrl": {
"description": "WonderKit itineraries for this city",
"type": "string",
"format": "uri"
},
"hint": {
"type": "string"
},
"note": {
"type": "string",
"description": "Read-only reminder; not user content"
},
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"itineraries": {
"description": "Best match first",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"lede": {
"description": "One-line promise of the plan, as its page leads with",
"type": "string"
},
"audience": {
"type": "string"
},
"shape": {
"type": "string"
},
"dayCount": {
"type": "number",
"description": "Days, or themed sections on a places-guide"
},
"stopCount": {
"type": "number",
"description": "Named stops (anchors plus backups) across the plan: the \"N stops\" the page shows. Not the day count; use dayCount for that. Until 2026-09-28 this field wrongly carried the day count, so a client that cached it as days should re-read"
},
"url": {
"type": "string",
"format": "uri"
},
"imageUrl": {
"description": "Hero photo of the plan",
"type": "string",
"format": "uri"
},
"season": {
"type": "object",
"properties": {
"seasons": {
"type": "array",
"items": {
"type": "string"
}
},
"peakMonths": {
"description": "1-12, when the page has a real peak",
"type": "array",
"items": {
"type": "number"
}
},
"window": {
"description": "Human-readable best window, e.g. \"Peak colour late Sep – mid Oct\"",
"type": "string"
}
},
"required": [
"seasons"
],
"additionalProperties": {}
},
"inSeason": {
"description": "Whether the plan fits the month or season it was ranked for",
"type": "boolean"
},
"lastReviewed": {
"description": "Date (YYYY-MM-DD) the venues and copy were last re-checked",
"type": "string"
}
},
"required": [
"city",
"cityKey",
"slug",
"title",
"audience",
"shape",
"dayCount",
"stopCount",
"url"
],
"additionalProperties": {}
}
},
"rankedFor": {
"description": "The month or season used for the season-fit ranking",
"type": "object",
"properties": {
"month": {
"type": "number"
},
"season": {
"type": "string"
}
},
"additionalProperties": false
},
"truncated": {
"type": "boolean"
}
},
"required": [
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_itinerary(city, slug)
Use this when someone wants the full plan for one public itinerary, by its slug: day-by-day or themed stops with real venues and map links, rainy-day and where-to-eat sections, and the best season. Returns dayCount and stopCount (anchors plus backups; before 2026-09-28 stopCount held the day count), the page URL, and planUrl, which opens the WonderKit planner prefilled from this plan. Read-only; it cannot change a plan.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "City name or WonderKit city key, such as \"Paris\" or \"paris-france\"."
},
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Itinerary slug from list_itineraries or search_itineraries, such as \"3-day-weekend-for-couples\"."
}
},
"required": [
"city",
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"found": {
"description": "false when the lookup did not resolve",
"type": "boolean"
},
"reason": {
"description": "unknown_city, region_not_city, no_city_guide, no_itineraries_for_city, ambiguous_city, no_published_guide, no_matches, unknown_itinerary, lookup_failed, …",
"type": "string"
},
"matches": {
"description": "Candidate cities when the name is ambiguous",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"suggestions": {
"description": "Near-miss spellings, or same-name cities elsewhere, when the name is unknown",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"region": {
"description": "The state, country, or area the city ask was read as",
"type": "string"
},
"nearest": {
"description": "Covered cities in or near the asked-for area. Not the city that was asked for",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"why": {
"type": "string",
"description": "Why this city is offered, e.g. \"in Vermont\" or \"near Wyoming\""
},
"url": {
"description": "The WonderKit page for this city",
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey",
"why"
],
"additionalProperties": {}
}
},
"planUrl": {
"description": "Give this to the person to plan this trip: the WonderKit planner prefilled from this itinerary",
"type": "string",
"format": "uri"
},
"planDescription": {
"description": "One line saying what planUrl opens",
"type": "string"
},
"itinerariesUrl": {
"description": "WonderKit itineraries for this city",
"type": "string",
"format": "uri"
},
"hint": {
"type": "string"
},
"note": {
"type": "string",
"description": "Read-only reminder; not user content"
},
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"lede": {
"description": "One-line promise of the plan",
"type": "string"
},
"audience": {
"type": "string"
},
"shape": {
"type": "string"
},
"dayCount": {
"type": "number"
},
"stopCount": {
"description": "Named stops (anchors plus backups), not days; see dayCount. Until 2026-09-28 this carried the day count",
"type": "number"
},
"url": {
"description": "WonderKit page to cite",
"type": "string",
"format": "uri"
},
"markdownUrl": {
"description": "The same plan as Markdown",
"type": "string",
"format": "uri"
},
"imageUrl": {
"description": "Hero photo of the plan",
"type": "string",
"format": "uri"
},
"summary": {
"type": "string"
},
"season": {
"type": "object",
"properties": {
"seasons": {
"type": "array",
"items": {
"type": "string"
}
},
"peakMonths": {
"description": "1-12, when the page has a real peak",
"type": "array",
"items": {
"type": "number"
}
},
"window": {
"description": "Human-readable best window, e.g. \"Peak colour late Sep – mid Oct\"",
"type": "string"
}
},
"required": [
"seasons"
],
"additionalProperties": {}
},
"lastReviewed": {
"type": "string"
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"heading": {
"type": "string"
},
"lede": {
"type": "string"
},
"anchor": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"venue": {
"type": "string"
},
"lead": {
"description": "One-line reason to go",
"type": "string"
},
"body": {
"type": "string"
},
"mapUrl": {
"description": "Google Maps search for the venue",
"type": "string",
"format": "uri"
}
},
"required": [
"title"
],
"additionalProperties": {}
},
"backup": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"venue": {
"type": "string"
},
"lead": {
"description": "One-line reason to go",
"type": "string"
},
"body": {
"type": "string"
},
"mapUrl": {
"description": "Google Maps search for the venue",
"type": "string",
"format": "uri"
}
},
"required": [
"title"
],
"additionalProperties": {}
},
"eatRest": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"sections": {
"description": "Rainy-day backups, where to eat, and similar",
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string"
},
"intro": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"heading",
"items"
],
"additionalProperties": {}
}
},
"truncated": {
"type": "boolean"
}
},
"required": [
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢plan_trip_link(city, startDate, endDate, vibe, travelers, ...)
Use this when someone wants to start planning their own trip to a destination in WonderKit. Returns one guest-planner link with the city (and vibe) filled in, plus a one-line description. It creates nothing and cannot book; the person adds dates and travelers in the planner. The link is a planner, not a citable guide page.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Destination as the person said it, such as \"Lisbon\" or \"Asheville, NC\". Any city works."
},
"startDate": {
"description": "First day, YYYY-MM-DD, if they gave one.",
"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])))$"
},
"endDate": {
"description": "Last day, YYYY-MM-DD, if they gave one.",
"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])))$"
},
"vibe": {
"description": "The feel they want, if they said.",
"type": "string",
"enum": [
"outdoors",
"hiking",
"culture",
"food",
"romantic",
"beach",
"relaxed",
"mix",
"family"
]
},
"travelers": {
"description": "How many people are going.",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"kidsAges": {
"description": "Ages of children travelling, if any.",
"maxItems": 12,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 17
}
}
},
"required": [
"city"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Guest planner link to give the person"
},
"description": {
"type": "string",
"description": "One line saying what the link opens"
},
"notPrefilled": {
"description": "Inputs the link cannot carry",
"type": "array",
"items": {
"type": "string"
}
},
"hint": {
"type": "string"
}
},
"required": [
"url",
"description"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢continue_in_wonderkit(city, slug)
Use this when someone wants to save, share, or keep working on a plan from a public guide or itinerary. Returns the WonderKit web links for that city guide, itinerary, and the guest planner. This server cannot save or share anything itself.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "City name or WonderKit city key, such as \"Paris\" or \"paris-france\"."
},
"slug": {
"description": "Optional itinerary slug to link a specific public plan.",
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"found": {
"description": "false when the lookup did not resolve",
"type": "boolean"
},
"reason": {
"description": "unknown_city, region_not_city, no_city_guide, no_itineraries_for_city, ambiguous_city, no_published_guide, no_matches, unknown_itinerary, lookup_failed, …",
"type": "string"
},
"matches": {
"description": "Candidate cities when the name is ambiguous",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"suggestions": {
"description": "Near-miss spellings, or same-name cities elsewhere, when the name is unknown",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"discoverUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey"
],
"additionalProperties": {}
}
},
"region": {
"description": "The state, country, or area the city ask was read as",
"type": "string"
},
"nearest": {
"description": "Covered cities in or near the asked-for area. Not the city that was asked for",
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"cityKey": {
"type": "string"
},
"why": {
"type": "string",
"description": "Why this city is offered, e.g. \"in Vermont\" or \"near Wyoming\""
},
"url": {
"description": "The WonderKit page for this city",
"type": "string",
"format": "uri"
}
},
"required": [
"city",
"cityKey",
"why"
],
"additionalProperties": {}
}
},
"planUrl": {
"description": "Guest planner link for the destination as asked; it plans any city",
"type": "string",
"format": "uri"
},
"planDescription": {
"description": "One line saying what planUrl opens",
"type": "string"
},
"itinerariesUrl": {
"description": "WonderKit itineraries for this city",
"type": "string",
"format": "uri"
},
"hint": {
"type": "string"
},
"note": {
"type": "string",
"description": "Read-only reminder; not user content"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"label",
"url"
],
"additionalProperties": false
}
},
"guideList": {
"type": "string"
}
},
"required": [
"note",
"links"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}커뮤니티
증거