WonderKit Discover

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

Sollte ich dies verwenden

Qualität und Sicherheit

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

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

Kontextkosten

~6,481Tokens (Tool-Definitionen)
~9.9 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (5.06% von 128k Kontext)

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

Installieren

Installation mit einem Klick

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

{
  "mcpServers": {
    "discover": {
      "url": "https://wonderkit.app/mcp"
    }
  }
}

Remote-Endpunkte

https://wonderkit.app/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools