Skip to content

MCP server — connect an AI to your trips

Waydo exposes an MCP (Model Context Protocol) server — the standard that lets AI assistants (e.g. Claude) safely use external tools. Once connected, the AI can read and edit your saved trips: browse days and stops, search for places, add, remove and reorder stops.

Requirements

The MCP integration is part of the Premium plan. The tools operate on saved trips ("My trips" in the app) — reload the trip in the app to see the changes.

Step 1 — generate an API key

  1. Sign in at waydo.app and open the user menu → Account & subscription.
  2. Go to the Subscription tab → API key (MCP) section.
  3. Click Generate key and copy it immediately — the key (format wd_…) is shown only once. You can regenerate it at any time (the old one stops working) or delete it.

Treat the key like a password

Anyone who has your key can read and modify your saved trips. If it leaks, regenerate or delete it in the app right away.

Step 2 — connect an MCP client

Endpoint: https://waydo.app/api/mcp (streamable HTTP). Authorize with the Authorization: Bearer <key> header.

Claude Code

Add to your project's .mcp.json (or via claude mcp add):

json
{
  "mcpServers": {
    "waydo": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://waydo.app/api/mcp",
        "--header", "Authorization:Bearer ${WAYDO_API_KEY}"
      ],
      "env": { "WAYDO_API_KEY": "wd_YOUR_KEY" }
    }
  }
}

Safer: keep the key in an environment variable or a secrets manager instead of the file, and inject it via env.

Claude Desktop

In claude_desktop_config.json (Settings → Developer → Edit Config):

json
{
  "mcpServers": {
    "waydo": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://waydo.app/api/mcp",
        "--header", "Authorization:Bearer wd_YOUR_KEY"
      ]
    }
  }
}

Restart the client and the Waydo tools appear automatically.

Available tools

ToolDescription
list_tripsYour saved trips (id, name, day and stop counts)
get_tripFull trip plan: days, stops (positions, addresses, coordinates), legs with travel mode, distance and duration
search_placesFree-text place search (Google Places) — returns a place_id for add_stop
add_stopAdd a stop to a day (at the end or at a given position)
remove_stopRemove the stop at a given position
move_stopReorder stops within a day
set_travel_modeSet a leg's travel mode (driving / walking / flight / ferry) — legs created by edits default to driving

Example prompts for your assistant:

"Show my May trip and suggest what to visit along the way."

"Add Sandomierz at the end of day one of the May trip."

"Move Kazimierz Dolny before Lublin on day two."

Rules and limits

  • Stop positions are 1-based (first stop = 1).
  • The first stop of day 2+ mirrors the previous day's last stop — it cannot be removed, moved, or have anything inserted before it. Changing a day's last stop automatically updates the next day's first stop (exactly like in the app).
  • Routes and distances recalculate the next time the trip is opened in the app.
  • Rate limit: 120 requests per minute.
  • The key only works with an active Premium subscription — once it lapses, requests return 403.