MyNextAdventure MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MNA_API_KEY | Yes | MyNextAdventure API key. Create one in the app under Settings → API keys. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Check which MyNextAdventure account the current API key belongs to. Use this when you are unsure whether the connection is authenticated, or to confirm whose trips you are about to change before making edits. |
| list_tripsA | List the trips the user owns or collaborates on. Start here whenever the user refers to a trip by name ("my Japan trip") so you can resolve it to a trip id. Statuses: 'planning' is actively being worked on, 'ready' is planned but not taken yet, 'finished' is in the past, 'cancelled' was dropped. Call with no filters to see everything. |
| get_tripA | Fetch one trip in full: its variants, destinations, accommodation / transport / getting-around options and events. Call this before changing anything — every other tool needs the variant ids, destination keys and option keys this returns. |
| create_tripA | Create a new, empty trip — the container everything else hangs off. This is step 1 of planning: create the trip, then create_variant for the dates, then add_destination, then the accommodation / transport / event options. Ask the user for a name if they have not given one. |
| update_tripA | Change top-level trip fields: rename it, set a cover photo, or move it through its lifecycle (planning -> ready once the plan is settled, finished or cancelled afterwards). Does not touch variants, destinations or options. |
| create_trip_share_linkA | Create (or refresh) a public read-only link to the trip so the user can send the plan to people without an account. Returns the shareable URL. Use when the user asks to share, send or publish a trip. |
| create_variantA | Add an alternative version of the trip — "Beach option" vs "Mountain option", or the same route on different dates. A trip needs at least one variant before it can hold destinations or options, so create one right after create_trip. Dates live on the variant: either exact start/end dates or a flexible window with min/max nights. |
| duplicate_variantA | Copy a variant, with all of its destinations and options, into a new variant on the same trip. Use when the user wants to explore a tweak ("same trip but a week later", "same route, cheaper hotels") without losing the original. |
| update_variantA | Rename a variant, change its dates (exact dates or a flexible window), edit its notes, or set who is travelling. Returns the variant as it now stands — read the response to confirm your change landed rather than assuming it did. |
| select_variantA | Mark one variant as the trip's chosen plan. Use when the user decides between alternatives; the choice is reversible, so selecting a different variant later is fine. |
| add_destinationA | Add a place the traveller will stay at within a variant, in itinerary order (e.g. "Lisbon, Portugal"). Destinations are what accommodation, transport and getting-around options attach to, so add these before adding options. Set isReturnToHome for the final leg home. |
| update_destinationA | Change a destination's place name, its arrival/departure dates, or its notes. Use this to pin down when the traveller is in each place once the dates firm up, rather than deleting and re-adding the stop. |
| reorder_destinationsA | Rearrange the itinerary order of a variant's destinations. Use after adding stops out of order, instead of deleting and re-adding them. |
| add_accommodation_optionA | Propose somewhere to stay at a destination — hotel, hostel, apartment, house or camping. Add several options to the same destination so the user can compare them, then use select_destination_option once they pick one. Always include the total cost and currency, otherwise the trip budget will be wrong. Keep name a clean display name — price, town, dates and commentary belong in their own fields, not in name. |
| add_transport_optionA | Propose a way of travelling TO a destination — flight, train, bus, ferry, car. One option per candidate itinerary; add several so the user can compare price against travel time. Set roundTrip when the price covers the return leg too. For moving around once there, use add_getting_around_option instead. |
| add_getting_around_optionA | Propose how the traveller moves around locally once at a destination — walking, public transport, rental car, bike, ride share. Use this for local mobility budgets; the journey between destinations belongs in add_transport_option. |
| update_destination_optionA | Edit an existing accommodation, transport or getting-around option — correct a price, add a booking link, adjust check-in dates. Say which kind of option it is and pass the option key from get_trip. Only the fields you send are changed. |
| select_destination_optionA | Mark one accommodation / transport / getting-around option as the one the traveller will actually use, or clear the current choice. Always say which kind of option it is; pass optionId to select that option, or omit optionId to deselect whatever is currently selected of that kind. Returns the destination as it now stands, so you can see which option ended up selected. Prefer this over deleting the alternatives — they stay available for comparison. |
| add_eventA | Add something to do during the trip — a museum, concert, restaurant, tour or activity. Events belong to the variant rather than to a single destination, and can be scheduled with start/end times or left unscheduled as ideas. |
| update_eventA | Edit an existing event: fix its time, price, location, booking link or notes. Use when the user has new information about an activity that is already on the plan ("the tour starts at 10, not 9"). |
| toggle_eventA | Flip an event between "we are doing this" and "just an idea" on the variant. Use when the user commits to, or backs out of, an activity — this keeps the event around, unlike delete_trip_item. |
| delete_trip_itemA | Permanently delete part of a trip: a variant, a destination, a destination option, or an event. Use only when the user rejects something outright — if they might still want it later, deselect the option or toggle the event instead. Deleting a variant or a destination also deletes everything inside it, so confirm with the user first. |
| list_goalsA | List the user's travel goals — the places and experiences on their bucket list ("See the Northern Lights"). Use this for inspiration when starting a new trip, or when the user asks what is on their list. Statuses: 'dreaming' is not planned yet, 'planning' is already linked to a trip, 'visited' is done. |
| add_goalA | Add a travel goal to the user's bucket list from a plain name or a URL — the server works out which and enriches it. Use when the user mentions something they would love to do some day but is not planning right now. |
| connector_infoA | Report which build of this connector you are talking to, and whether its tool schemas match the live API. Call this when a tool rejects a field you expect to exist, or accepts one that turns out to have no effect — clients cache tool schemas at connect time, so a connector can advertise an older contract than the API actually has. Takes no arguments and changes nothing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Each tool targets a distinct resource and action, with explicit disambiguation between similar families such as add_transport_option (between destinations) versus add_getting_around_option (local mobility), and toggle_event versus delete_trip_item. Polymorphic tools like update_destination_option and select_destination_option use a kind argument but their descriptions clearly explain the boundaries.
The set overwhelmingly follows a predictable verb_noun snake_case pattern (list_trips, create_variant, add_accommodation_option, update_event). The only deviations are whoami and connector_info, which are informational tools rather than CRUD operations, so the convention is still easy to follow.
Twenty-five tools is on the high side, but the trip-planning domain has several nested resources (trips, variants, destinations, three option kinds, events, goals) that justify most tools. Some option-add tools could potentially be consolidated, but each still earns its place.
Core lifecycle coverage is strong: trips, variants, destinations, options, and events all have create/read/update/select/delete paths. Minor gaps remain, such as no direct delete_trip operation, no revoke for share links, and goals only supporting list/add without update or delete.