WonderKit Discover

Read-only city guides and public itineraries for family and group trips.

使うべきか

品質と安全性

A
説明の品質
94%
スキーマの完全性
86%
命名の品質
94%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~6,481トークン数(ツール定義)
~9.9 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 5.06%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 7 件