Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

shaikhspeare/wanderlog-mcp MCP server](https://glama.ai/mcp/servers/shaikhspeare/wanderlog-mcp/badges/score.svg)](https://glama.ai/mcp/servers/shaikhspeare/wanderlog-mcp) πŸ“‡ ☁️ - MCP server for Wanderlog that lets AI clients read and edit trip itineraries...

README.md

wanderlog-mcp

![npm](https://www.npmjs.com/package/wanderlog-mcp) ![npm downloads](https://www.npmjs.com/package/wanderlog-mcp) ![License: MIT](https://opensource.org/licenses/MIT) ![Node.js](https://nodejs.org/) ![Coverage Status](https://coveralls.io/github/shaikhspeare/wanderlog-mcp?branch=main)

An MCP server that lets Claude (or any MCP-compatible agent) view and build Wanderlog trip itineraries through conversation.

Instead of clicking through the Wanderlog UI to plan a trip, you just ask:

"Create a 14-day Japan Golden Route trip β€” Tokyo, Hakone, Kyoto, Nara, and Osaka."

The agent calls the tools, interleaves places and notes for each day, adds hotel blocks and checklists, and you end up with a fully populated Wanderlog trip in a few minutes.

See a real example: 14-day Japan Golden Route β€” built entirely by an AI agent using this MCP server.

What's New (Unreleased)

  • wanderlog_search_hotels β€” search Wanderlog's hotel aggregator across airbnb, expedia, google, and kayak. Returns ranked offers with per-vendor price comparison and faceted filter discovery so the LLM never has to memorise Wanderlog's internal enum values.

What's New in v0.3.1

  • Wanderlog rate-limits rapid edits β€” burst mutations (an LLM building a full itinerary) now retry automatically with backoff instead of failing with an opaque "Submit op timeout".
  • Rate-limit rejections that can't be retried surface as a clear error instead of a 10-second hang.
  • New day sections created by wanderlog_update_trip_dates now match Wanderlog's native section shape exactly.

What's New in v0.3.0

  • wanderlog_search_guides + wanderlog_get_guide β€” discover and read user-written Wanderlog travel guides. The LLM can ask "what guides exist for Vietnam?" and pull full itineraries to use as inspiration.
  • wanderlog_remove_note β€” remove standalone note blocks by natural-language reference.
  • wanderlog_edit_note β€” find-and-replace across note blocks, place annotations, and checklist titles/items.
  • Detailed mode no longer truncates place notes or note blocks β€” guides and itineraries render their full commentary.
  • Fixes: notes containing embeds no longer render as [object Object]; place references now match across hyphen/dash differences (e.g. "Roppongi Hills - Tokyo City View").

What's New in v0.2.0

  • wanderlog_rename_day β€” replace auto-generated day headings (e.g. "Barcelona") with descriptive ones ("Arrival β€” Feria de Abril"). Pass "" to reset back to the default.
  • Tools table now documents wanderlog_annotate_place and wanderlog_add_expense (shipped previously, missing from v0.1.0 docs).

What's New in v0.1.0

  • Full itinerary building: places, notes, hotels, and checklists in a single conversation
  • wanderlog_search_places β€” find real-world places near any destination using Wanderlog's place database
  • wanderlog_add_note β€” interleave transit tips, booking info, and local advice between places
  • wanderlog_add_checklist β€” pre-trip and per-day checklists (visa, currency, timed-entry tickets)
  • MCP server instructions injected at startup so Claude builds complete itineraries automatically
  • Startup auth probe β€” catches expired cookies immediately instead of failing mid-conversation

Example Prompts

"What trips do I have in Wanderlog?"
"Create a 7-day itinerary for Lisbon starting June 1 β€” include restaurants, day trips,
and a hotel near the waterfront."
"Add a day trip to Sintra on day 3 of my Lisbon trip."
"I'm spending 5 days in Tokyo β€” build me a full itinerary with museum visits, ramen spots,
and a ryokan in Shinjuku."
"Look at my Barcelona trip and add practical notes for getting between each place."
"Add a pre-trip checklist to my Paris trip β€” visa, currency, offline maps, travel insurance."
"Move my Rome trip back by two weeks."
"Give me the shareable link to my Kyoto itinerary."
"Remove the Colosseum from day 2 of my Rome trip."

Tools

| Tool | What it does | |---|---| | wanderlog_list_trips | List trips in your account | | wanderlog_get_trip | View a full itinerary, or filter to a single day | | wanderlog_get_trip_url | Get a shareable wanderlog.com link | | wanderlog_get_trip_forwarding_email | Get a trip's trip+<id>@wanderlog.com import address | | wanderlog_search_places | Find real-world places near a trip's destination | | wanderlog_search_guides | List user-written travel guides for a destination, with fallback suggestions when none exist | | wanderlog_get_guide | Read the full content of a public Wanderlog guide (sections, places, notes) | | wanderlog_search_hotels | Search Wanderlog's hotel aggregator (airbnb/expedia/google/kayak) with per-vendor deal comparison | | wanderlog_create_trip | Create a new trip with destination + date range | | wanderlog_add_place | Add a place to a specific day or general list | | wanderlog_add_note | Add a note (transit tips, booking info, local advice) | | wanderlog_edit_note | Find-and-replace text in notes, place annotations, and checklists | | wanderlog_remove_note | Remove a standalone note block by natural-language reference | | wanderlog_add_hotel | Add a hotel booking with check-in/check-out dates | | wanderlog_add_checklist | Add a pre-trip or per-day checklist | | wanderlog_add_expense | Log a budget expense (amount, category, currency), optionally linked to a place | | wanderlog_list_expenses | List budget expenses, optionally filtered by description / date / amount / currency | | wanderlog_remove_expense | Remove a budget expense by description (with optional date / amount / currency filters) | | wanderlog_edit_expense | Change a budget expense's description, amount, currency, category, or date | | wanderlog_annotate_place | Update an existing place with a note, start/end time, or both | | wanderlog_remove_place | Remove a place by natural-language reference | | wanderlog_update_trip_dates | Change a trip's date range | | wanderlog_rename_day | Rename a day's heading (e.g. "Barcelona" β†’ "Arrival β€” Feria de Abril") | | wanderlog_list_journal | List journal (travelogue) stops, optionally filtered by title or date | | wanderlog_add_journal | Add a journal stop: a place + date/time + text entry | | wanderlog_edit_journal | Edit a journal stop's title, text, or date/time (or the journal summary) | | wanderlog_remove_journal | Remove a journal stop by title (with an optional date filter) |

Prerequisites

  • Node.js 22 or newer
  • A Wanderlog account
  • An MCP-compatible client: Claude Code, Claude Desktop, OpenAI Codex, Cursor, VS Code, or any stdio MCP host

Setup

Step 1 β€” Get your Wanderlog session cookie

Wanderlog doesn't have a public API, so wanderlog-mcp authenticates using your browser session cookie (connect.sid). It's valid for roughly a year and never leaves your machine.

Treat it like a password β€” it grants the same access you have in the Wanderlog UI.

Chrome / Edge

  1. Go to wanderlog.com and log in
  2. Press F12 to open DevTools
  3. Click the Application tab
  4. In the left sidebar expand Storage β†’ Cookies β†’ https://wanderlog.com
  5. Find the row where Name is connect.sid
  6. Click the row, then double-click the Value cell and copy the full string β€” it starts with s%3A and is ~100 characters long

Firefox

  1. Go to wanderlog.com and log in
  2. Press F12 to open DevTools
  3. Click the Storage tab
  4. In the left sidebar expand Cookies β†’ https://wanderlog.com
  5. Find connect.sid in the table, click it, and copy the Value

Why can't I use document.cookie in the console? Wanderlog sets connect.sid with the HttpOnly flag, which deliberately blocks JavaScript from reading it (XSS protection). DevTools bypasses this restriction β€” that's why it works and the console doesn't.

Step 2 β€” Configure your MCP client

Claude Code

claude mcp add wanderlog-mcp npx wanderlog-mcp \
  --env WANDERLOG_COOKIE="s%3A...your value here..."

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "wanderlog": {
      "command": "npx",
      "args": ["wanderlog-mcp"],
      "env": {
        "WANDERLOG_COOKIE": "s%3A...your value here..."
      }
    }
  }
}

Restart Claude Desktop after saving.

Cursor

Settings β†’ MCP β†’ Add server, or edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "wanderlog": {
      "command": "npx",
      "args": ["wanderlog-mcp"],
      "env": {
        "WANDERLOG_COOKIE": "s%3A...your value here..."
      }
    }
  }
}

VS Code (GitHub Copilot)

Add to your workspace .vscode/mcp.json:

{
  "servers": {
    "wanderlog": {
      "type": "stdio",
      "command": "npx",
      "args": ["wanderlog-mcp"],
      "env": {
        "WANDERLOG_COOKIE": "s%3A...your value here..."
      }
    }
  }
}

OpenAI Codex

Edit ~/.codex/config.toml:

[mcp_servers.wanderlog]
command = "npx"
args = ["wanderlog-mcp"]

[mcp_servers.wanderlog.env]
WANDERLOG_COOKIE = "s%3A...your value here..."

Run /mcp inside Codex to confirm the server loaded.

Smithery (one-click install)

npx @smithery/cli install wanderlog-mcp --client claude

Step 3 β€” Verify

Ask your agent: "What trips do I have in Wanderlog?"

It should call wanderlog_list_trips and return your account's trips. If it fails, see Troubleshooting below.

Refreshing your cookie

The cookie lasts about a year but can die sooner if you log out of wanderlog.com, change your password, or Wanderlog revokes the session. When that happens every tool call returns:

Wanderlog session invalid or expired β€” Capture a fresh connect.sid cookie from wanderlog.com DevTools and update WANDERLOG_COOKIE in your MCP config.

Repeat Step 1 above, update your config, and restart your MCP client.

Troubleshooting

Server starts but list_trips returns an auth error Your cookie is expired or wrong. Re-capture it from DevTools and update your config.

npx wanderlog-mcp hangs or does nothing The server speaks stdio MCP β€” it's designed to be launched by an MCP host, not run directly in a terminal. Run it through Claude Code or Claude Desktop as described above.

Tools work but the agent ignores notes/checklists The server injects instructions into the MCP initialize response that tell the agent to interleave places and notes and add checklists. This works reliably with Claude. Other clients may vary.

Security

  • The cookie is stored only in your MCP client config, never committed or logged
  • wanderlog-mcp runs entirely on your machine β€” there's no relay server
  • The startup auth probe validates your cookie without printing its value
  • To revoke access: log out of wanderlog.com (invalidates all sessions), then re-capture

Contributing

Pull requests are welcome. Before submitting:

npm run build && npm run test

For changes to transport or tool code, also run:

npm run test:integration

Disclaimer

wanderlog-mcp is an unofficial third-party tool, not affiliated with or endorsed by Wanderlog. It works by calling Wanderlog's private web-client API, which may change without notice. Use at your own risk.

License

MIT β€” see LICENSE

---

Made by shaikhspeare

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use AI & ML servers.