← WebMCP Directory

Tool tree

wandernote.openai.chatgpt.site

demoTravel & Events
https://wandernote.openai.chatgpt.site/
An agent-ready WebMCP travel planner. Choose your destination and travel dates, collaborate on an hour-by-hour itinerary, and save your finished travel note as a PDF.
Explore capabilities
get_trip_stateAnswer

Read the destination, dates, traveler preferences, linked Notion source document, hour-by-hour itinerary, protected traveler edits, and open feedback before proposing changes.

View tool JSON
{
  "name": "get_trip_state",
  "kind": "answer",
  "impl": "imperative",
  "description": "Read the destination, dates, traveler preferences, linked Notion source document, hour-by-hour itinerary, protected traveler edits, and open feedback before proposing changes.",
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false
  }
}
set_trip_detailsAction

Set the trip destination, inclusive travel dates, preferences, and optional Notion source attribution. Activities outside new dates are removed.

View tool JSON
{
  "name": "set_trip_details",
  "kind": "act",
  "impl": "imperative",
  "description": "Set the trip destination, inclusive travel dates, preferences, and optional Notion source attribution. Activities outside new dates are removed.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "destination": {
        "type": "string",
        "description": "City, region, or destination."
      },
      "startDate": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      },
      "endDate": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      },
      "preferences": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "sourceTitle": {
        "type": "string",
        "description": "Title of the Notion itinerary used as agent context."
      },
      "sourceUrl": {
        "type": "string",
        "description": "HTTPS link to the source Notion itinerary."
      }
    }
  }
}
list_time_slotsAnswer

List all hourly slots, their current activities, and traveler-protected edits for one travel date.

View tool JSON
{
  "name": "list_time_slots",
  "kind": "answer",
  "impl": "imperative",
  "description": "List all hourly slots, their current activities, and traveler-protected edits for one travel date.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "date": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      }
    },
    "required": [
      "date"
    ]
  }
}
add_itinerary_activityAction

Add an agent suggestion to an empty hourly slot. Never overwrites an existing activity or a traveler-protected edit.

View tool JSON
{
  "name": "add_itinerary_activity",
  "kind": "act",
  "impl": "imperative",
  "description": "Add an agent suggestion to an empty hourly slot. Never overwrites an existing activity or a traveler-protected edit.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "date": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      },
      "hour": {
        "type": "integer",
        "minimum": 7,
        "maximum": 22,
        "description": "Local start hour on a 24-hour clock, from 7 through 22."
      },
      "title": {
        "type": "string",
        "description": "A concise, human-readable activity title."
      },
      "description": {
        "type": "string",
        "description": "A useful reason to visit or practical tip."
      },
      "location": {
        "type": "string",
        "description": "Venue name, neighborhood, or address."
      },
      "latitude": {
        "type": "number",
        "minimum": -85,
        "maximum": 85,
        "description": "Accurate latitude for plotting the activity on the interactive itinerary map."
      },
      "longitude": {
        "type": "number",
        "minimum": -180,
        "maximum": 180,
        "description": "Accurate longitude for plotting the activity on the interactive itinerary map."
      },
      "category": {
        "type": "string",
        "enum": [
          "eat",
          "explore",
          "culture",
          "coffee",
          "rest",
          "stay"
        ]
      },
      "duration": {
        "type": "number",
        "minimum": 0.5,
        "maximum": 8,
        "description": "Activity duration in hours."
      }
    },
    "required": [
      "date",
      "hour",
      "title"
    ]
  }
}
update_itinerary_activityAction

Edit an existing agent suggestion by activity ID. Traveler-edited activities are protected; respond to their feedback instead.

View tool JSON
{
  "name": "update_itinerary_activity",
  "kind": "act",
  "impl": "imperative",
  "description": "Edit an existing agent suggestion by activity ID. Traveler-edited activities are protected; respond to their feedback instead.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "activityId": {
        "type": "string",
        "description": "The existing activity ID."
      },
      "date": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      },
      "hour": {
        "type": "integer",
        "minimum": 7,
        "maximum": 22,
        "description": "Local start hour on a 24-hour clock, from 7 through 22."
      },
      "title": {
        "type": "string",
        "description": "A concise, human-readable activity title."
      },
      "description": {
        "type": "string",
        "description": "A useful reason to visit or practical tip."
      },
      "location": {
        "type": "string",
        "description": "Venue name, neighborhood, or address."
      },
      "latitude": {
        "type": "number",
        "minimum": -85,
        "maximum": 85,
        "description": "Accurate latitude for plotting the activity on the interactive itinerary map."
      },
      "longitude": {
        "type": "number",
        "minimum": -180,
        "maximum": 180,
        "description": "Accurate longitude for plotting the activity on the interactive itinerary map."
      },
      "category": {
        "type": "string",
        "enum": [
          "eat",
          "explore",
          "culture",
          "coffee",
          "rest",
          "stay"
        ]
      },
      "duration": {
        "type": "number",
        "minimum": 0.5,
        "maximum": 8,
        "description": "Activity duration in hours."
      }
    },
    "required": [
      "activityId"
    ]
  }
}
remove_itinerary_activityAction

Remove an existing agent-created activity without removing protected traveler edits.

View tool JSON
{
  "name": "remove_itinerary_activity",
  "kind": "act",
  "impl": "imperative",
  "description": "Remove an existing agent-created activity without removing protected traveler edits.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "activityId": {
        "type": "string"
      }
    },
    "required": [
      "activityId"
    ]
  }
}
get_traveler_feedbackAnswer

Read traveler comments and dismissed suggestions. Use these as instructions for revising the itinerary.

View tool JSON
{
  "name": "get_traveler_feedback",
  "kind": "answer",
  "impl": "imperative",
  "description": "Read traveler comments and dismissed suggestions. Use these as instructions for revising the itinerary.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "status": {
        "type": "string",
        "enum": [
          "open",
          "resolved",
          "all"
        ]
      }
    }
  }
}
respond_to_traveler_feedbackAction

Resolve a traveler comment, optionally replacing the referenced activity with a better suggestion in the requested slot.

View tool JSON
{
  "name": "respond_to_traveler_feedback",
  "kind": "act",
  "impl": "imperative",
  "description": "Resolve a traveler comment, optionally replacing the referenced activity with a better suggestion in the requested slot.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "feedbackId": {
        "type": "string",
        "description": "The open traveler feedback ID."
      },
      "response": {
        "type": "string",
        "description": "Explain how the traveler comment was addressed."
      },
      "date": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      },
      "hour": {
        "type": "integer",
        "minimum": 7,
        "maximum": 22,
        "description": "Local start hour on a 24-hour clock, from 7 through 22."
      },
      "title": {
        "type": "string",
        "description": "A concise, human-readable activity title."
      },
      "description": {
        "type": "string",
        "description": "A useful reason to visit or practical tip."
      },
      "location": {
        "type": "string",
        "description": "Venue name, neighborhood, or address."
      },
      "latitude": {
        "type": "number",
        "minimum": -85,
        "maximum": 85,
        "description": "Accurate latitude for plotting the activity on the interactive itinerary map."
      },
      "longitude": {
        "type": "number",
        "minimum": -180,
        "maximum": 180,
        "description": "Accurate longitude for plotting the activity on the interactive itinerary map."
      },
      "category": {
        "type": "string",
        "enum": [
          "eat",
          "explore",
          "culture",
          "coffee",
          "rest",
          "stay"
        ]
      },
      "duration": {
        "type": "number",
        "minimum": 0.5,
        "maximum": 8,
        "description": "Activity duration in hours."
      }
    },
    "required": [
      "feedbackId",
      "response"
    ]
  }
}
get_itinerary_mapAnswer

Read the selected day or complete-trip map, including geolocated stops in itinerary order, numbered pins, routes, and places that still need coordinates.

View tool JSON
{
  "name": "get_itinerary_map",
  "kind": "answer",
  "impl": "imperative",
  "description": "Read the selected day or complete-trip map, including geolocated stops in itinerary order, numbered pins, routes, and places that still need coordinates.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "scope": {
        "type": "string",
        "enum": [
          "day",
          "trip"
        ],
        "description": "Read one travel day or every day in the trip."
      },
      "date": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      }
    }
  }
}
set_map_viewAction

Select a travel day or the full-trip map, optionally focus a particular itinerary stop, and keep the visible itinerary synchronized.

View tool JSON
{
  "name": "set_map_view",
  "kind": "act",
  "impl": "imperative",
  "description": "Select a travel day or the full-trip map, optionally focus a particular itinerary stop, and keep the visible itinerary synchronized.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "scope": {
        "type": "string",
        "enum": [
          "day",
          "trip"
        ],
        "description": "Show a single day or the full trip."
      },
      "date": {
        "type": "string",
        "description": "Local date in YYYY-MM-DD format."
      },
      "activityId": {
        "type": "string",
        "description": "Focus the map and itinerary on an existing activity."
      }
    }
  }
}
export_itinerary_pdfAction

Generate and download a real PDF of the visible, current multi-day itinerary.

View tool JSON
{
  "name": "export_itinerary_pdf",
  "kind": "act",
  "impl": "imperative",
  "description": "Generate and download a real PDF of the visible, current multi-day itinerary.",
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false
  }
}