Create trips, compare variants side by side, and add accommodation, transport and event options.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Inspect callable tools, capabilities, and parameters exposed to AI agents by My Next Adventure.
whoamiWhich account the API key belongs to (handy for checking the connection).
list_tripsList the user's trips; filter by status (`planning`, `ready`, `finished`, `cancelled`).
get_tripOne trip in full β variants, destinations, options, events. Needed before any edit.
create_tripCreate a new, empty trip.
update_tripRename, set a cover photo, or move the trip through its lifecycle.
create_trip_share_linkCreate/refresh a public read-only share link.
A remote Model Context Protocol server that lets an AI assistant plan trips in MyNextAdventure β create a trip, lay out the itinerary, propose flights and hotels, add things to do, and share the result.
It runs as a Cloudflare Worker (Durable Object backed) and is a thin, authenticated proxy in front of the MyNextAdventure public API: it holds no trip data of its own, and forwards every call to the API under the caller's own API key.
https://mcp.mynextadventure.cloud/sse (also β¦/mcp for Streamable HTTP)https://api.mynextadventure.cloud (v1 public API)Every request needs a MyNextAdventure API key. Create one in the app under Settings β API keys, then send it as either:
Authorization: Bearer <api-key> β what most MCP clients send, and what mcp-remote does, orX-API-Key: <api-key> β for clients that only let you set custom headers.The worker forwards it to the API as X-API-Key. Requests without a key get a 401.
Whatever the key can do, the assistant can do: keys are per-user, so the assistant only ever
sees that user's trips.
Where your key lives. Each MCP connection gets its own Durable Object session, and the agents SDK persists that session's props β including your key β to the session's storage so it survives the worker hibernating between messages. In other words the key is held for the duration of your session in isolated per-session storage, and passed through to the MyNextAdventure API; it is never logged and is not shared between sessions or users. Revoke a key any time in the app under Settings β API keys.
24 tools, covering the operations conversational planning actually needs. Each one is a curated view over a MyNextAdventure API operation β see Regenerating the tools.
| Tool | What it does |
|---|---|
whoami | Which account the API key belongs to (handy for checking the connection). |
list_trips | List the user's trips; filter by status (planning, ready, finished, cancelled). |
get_trip | One trip in full β variants, destinations, options, events. Needed before any edit. |
create_trip | Create a new, empty trip. |
update_trip | Rename, set a cover photo, or move the trip through its lifecycle. |
create_trip_share_link | Create/refresh a public read-only share link. |
create_variant | Add an alternative plan (dates live here: exact or flexible). |
duplicate_variant | Copy a variant with everything in it. |
update_variant | Rename a variant, change its dates or notes. |
select_variant | Mark a variant as the chosen plan. |
add_destination | Add a stop to a variant, in itinerary order. |
update_destination | Change a stop's place name, dates or notes. |
reorder_destinations | Reorder the stops in a variant. |
add_accommodation_option | Propose a place to stay at a destination. |
add_transport_option | Propose a way of getting to a destination. |
add_getting_around_option | Propose local mobility (public transport, rental car, β¦). |
update_destination_option | Edit an existing option of any of the three kinds. |
select_destination_option | Select β or, with no optionId, deselect β an option. |
add_event | Add an activity (museum, concert, restaurant, tour) to a variant. |
update_event | Edit an activity. |
toggle_event | Flip an activity between committed and "just an idea". |
delete_trip_item | Permanently delete a variant, destination, option or event. Deleting a whole variant additionally requires confirm: true. |
list_goals | List the user's travel goals / bucket list. |
add_goal | Add a goal from a name or a URL. |
The server also ships MCP instructions describing the data model
(trip β variants β destinations β options, with events on the variant) and the usual
order of operations, so a client does not have to guess the workflow.
Not exposed yet, though the API supports them: collaborator access management and invites, voting, collections, invite tokens, goalβtrip linking, API key management, and trip deletion.
Settings β Developer β Edit Config, then add:
Restart Claude Desktop; the tools appear under the connector.
Add a custom connector pointing at https://mcp.mynextadventure.cloud/mcp and set the
Authorization: Bearer <api-key> header. From Claude Code:
Settings β Connectors β Add custom connector, MCP server URL
https://mcp.mynextadventure.cloud/mcp, authentication "custom header" with
X-API-Key: <api-key> (or Authorization: Bearer <api-key>).
Streamable HTTP at /mcp, legacy SSE at /sse. GET / returns a small JSON health
document with the endpoint list and tool count.
scripts/smoke.ts performs a real handshake (initialize β tools/list β one tools/call),
reading the API key from $MNA_API_KEY or ~/.config/mna/credentials. It refuses to call
mutating tools unless --force is passed. To exercise write tools without touching real
data, point the worker at a local mock:
Tool schemas are generated, not hand-written:
To add or change a tool, edit scripts/tool-manifest.ts and run npm run generate:tools.
Never edit src/generated/tools.ts by hand β a test fails if it drifts from the spec.
A manifest entry names one API operation, or groups several body-less operations behind a
discriminator argument (delete_trip_item's target, select_destination_option's
action) to keep the tool count down. Path params can be renamed (id β tripId), query
params can be narrowed to enums, and descriptions can be overridden β everything else,
including the request-body schemas, comes from the spec.
npm run deploy (wrangler) β production only, so it is gated on a maintainer; CI never
deploys this worker.
Tools are generated from the vendored OpenAPI snapshot in spec/openapi-v1.json
(canonical live spec: https://api.mynextadventure.cloud/api/v1/openapi.json) via
scripts/generate-tools.ts. Regenerate after refreshing the snapshot.
This repo is the deployable source for mcp.mynextadventure.cloud. Development also
happens in the My Next Adventure monorepo and is synced here on release. Issues and
PRs welcome.
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/my-next-adventure)<a href="https://allmcps.com/mcp/my-next-adventure"><img src="https://allmcps.com/api/badge/my-next-adventure?style=directory" alt="My Next Adventure on AllMCPs" /></a>