My Next Adventure

cloud.mynextadventure由 mynextadventure.cloud 发布官方发布者v1.0.1更新于 Oct 24, 2026

Create trips, compare variants side by side, and add accommodation, transport and event options.

已验证Streamable HTTP可网页运行位置与生活效率与工作流

概览

AI 生成的概览

远程 MCP 服务器,让助手在 MyNextAdventure 中创建和编辑旅行:方案变体、目的地、航班、住宿与活动。

可以做什么
  • 查询当前账号信息,列出旅行或旅行目标
  • 读取完整旅行,包括方案变体、目的地、选项与活动
  • 创建和更新旅行、变体与目的地,并调整停靠顺序
  • 添加住宿、交通与当地出行选项,并进行选择或修改
  • 添加、编辑、切换或删除活动,并生成公开只读分享链接
适用场景
适合在 MyNextAdventure 中规划旅行、希望助手通过对话起草行程、对比多个方案变体、收集酒店与航班选项并整理活动的场景。
运行要求
远程 Streamable HTTP 端点,无需本地安装。需要 MyNextAdventure 账号,并在应用设置中创建 API 密钥,通过 Authorization Bearer 头或 X-API-Key 头发送。另有本地 stdio 模式,使用 MNA_API_KEY 变量。
安装前请注意
API 密钥拥有该账号的全部权限,助手可创建、修改并永久删除旅行、变体、目的地、选项和活动;删除整个变体需显式确认。分享链接会以只读方式公开该旅行。部分工具会通过 Google Places 等第三方 API 解析地点,相关查询会发送到 MyNextAdventure 之外。密钥泄露时请在应用中撤销。

安装

在 SourceWeft 中

  1. 打开 控制台中的 My Next Adventure,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/cloud.mynextadventure%2Ftrip-planner/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "my-next-adventure": {
      "type": "http",
      "url": "https://mcp.mynextadventure.cloud/mcp"
    }
  }
}

README

MyNextAdventure MCP server

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 stateless Cloudflare Worker 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.

  • Production: https://mcp.mynextadventure.cloud/mcp (Streamable HTTP)
  • Upstream API: https://api.mynextadventure.cloud (v1 public API)

Authentication

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, or
  • X-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. The server is stateless: your key is read from the headers of each request, used to make that one call to the MyNextAdventure API, and never stored — there is no session storage and no Durable Object holding it between requests. It is never logged and is not shared between requests or users. Revoke a key any time in the app under Settings → API keys.

Tools

24 tools, covering the operations conversational planning actually needs. Each one is a curated view over a MyNextAdventure API operation — see Regenerating the tools.

ToolWhat it does
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.
create_variantAdd an alternative plan (dates live here: exact or flexible).
duplicate_variantCopy a variant with everything in it.
update_variantRename a variant, change its dates or notes.
select_variantMark a variant as the chosen plan.
add_destinationAdd a stop to a variant, in itinerary order.
update_destinationChange a stop's place name, dates or notes.
reorder_destinationsReorder the stops in a variant.
add_accommodation_optionPropose a place to stay at a destination.
add_transport_optionPropose a way of getting to a destination.
add_getting_around_optionPropose local mobility (public transport, rental car, …).
update_destination_optionEdit an existing option of any of the three kinds.
select_destination_optionSelect — or, with no optionId, deselect — an option.
add_eventAdd an activity (museum, concert, restaurant, tour) to a variant.
update_eventEdit an activity.
toggle_eventFlip an activity between committed and "just an idea".
delete_trip_itemPermanently delete a variant, destination, option or event. Deleting a whole variant additionally requires confirm: true.
list_goalsList the user's travel goals / bucket list.
add_goalAdd 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.

Tool annotations

Every tool publishes a human-readable title (also as annotations.title; set in scripts/tool-manifest.ts, required by the Claude connectors directory) and all four MCP ToolAnnotations hints on tools/list, so clients can tell at a glance what is safe to run unattended:

HintTrue for
readOnlyHintThe 4 lookups: whoami, list_trips, get_trip, list_goals. The other 20 write.
destructiveHintdelete_trip_item only. Everything else adds records or edits fields in place.
idempotentHintThe update_* / select_* tools, reorder_destinations, create_trip_share_link (the API returns the existing token) and delete_trip_item. False for every add_*/create_* — a second call adds a second record — and for toggle_event, which flips a flag.
openWorldHintThe 8 tools whose request can reach a third-party API: the three read tools (Kinde profiles, Google Places, currency conversion) plus add_accommodation_option, add_transport_option, add_event, update_destination_option and update_event, which resolve a googlePlaceId through Google Places when one is supplied. The rest only touch MyNextAdventure storage.

The spec's defaults are the pessimistic ones (destructiveHint and openWorldHint both default to true), so the manifest requires all four to be stated per tool rather than inherited. test/annotations.test.ts holds the expected classification tool by tool and cross-checks readOnlyHint against the HTTP verb each tool actually issues.

Connecting

Claude Desktop

Settings → Developer → Edit Config, then add:

json
{  "mcpServers": {    "mynextadventure": {      "command": "npx",      "args": [        "mcp-remote",        "https://mcp.mynextadventure.cloud/mcp",        "--header",        "Authorization: Bearer ${MNA_API_KEY}"      ],      "env": { "MNA_API_KEY": "your-api-key" }    }  }}

Restart Claude Desktop; the tools appear under the connector.

claude.ai / Claude Code

Add a custom connector pointing at https://mcp.mynextadventure.cloud/mcp and set the Authorization: Bearer <api-key> header. From Claude Code:

bash
claude mcp add --transport http mynextadventure https://mcp.mynextadventure.cloud/mcp \  --header "Authorization: Bearer <api-key>"

ChatGPT

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

Any other MCP client

Streamable HTTP at /mcp. GET / returns a small JSON health document with the endpoint and tool count.

Local stdio

The same tools over stdio, for clients that launch a subprocess, with the key in MNA_API_KEY. Glama's build check runs this behind mcp-proxy.

bash
npm ciMNA_API_KEY=<api-key> npm run start:stdio

Development

bash
npm installnpm run dev              # wrangler dev on http://localhost:8787npm test                 # vitest: request building, schemas, generator freshnessnpm run type-check       # tsc --noEmitnpm run generate:tools   # regenerate src/generated/tools.ts from the OpenAPI specnpx tsx scripts/smoke.ts # drive the MCP protocol against localhost:8787

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:

bash
npx wrangler dev --var MNA_API_BASE_URL:http://localhost:8899

Regenerating the tools

Tool schemas are generated, not hand-written:

spec/openapi-v1.json          (the API's OpenAPI snapshot)        +scripts/tool-manifest.ts      (which operations become tools; names, descriptions, annotations)        ↓  scripts/generator.tssrc/generated/tools.ts        (committed; zod input schemas, annotations + request builders)

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.

Each entry must also carry annotations (all four MCP hints; see Tool annotations). TypeScript enforces this, so a new tool cannot be added without classifying it, and test/annotations.test.ts checks the result against an expected table.

Deployment

npm run deploy (wrangler) — production only, so it is gated on a maintainer; CI never deploys this worker.

Development

npm cinpm run type-checknpm test        # includes a drift test: src/generated/tools.ts must match the generator outputnpm run dev     # wrangler dev

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.

License

MIT

来源:README.md,提交 343f2ef

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

2
  1. v1.0.1最新Oct 5, 2026
  2. v1.0.0Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分