Agents & API

Itinerist is built to be called by software as well as read by people. Every capability the website uses is a public JSON route, so an agent can prepare a whole trip and hand its traveler a checkout link.

No tool in this surface can move money. create_checkout returns a Stripe-hosted URL; a human completes the payment. Itinerist researches and plans; it does not book. Nothing is reserved on the traveler's behalf and availability is never guaranteed. Every recommendation carries how to book it and how far ahead. Places are marked researched with the date they were checked — never verified.

  1. Start a trip plan create_intake

    POST /api/intake

    Step 1 of 4. Validates the intake against the contract and stores it. The intake is deterministic — no model runs here — and it is what every later step references. Returns an intakeId to pass to get_quote.

  2. Get the price get_quote

    POST /api/quote

    Step 2 of 4. The price is DETERMINISTIC — a published formula over trip length, destination count and party composition, with no model involved — so the same intake always returns the same amount. Returns amountCents and the tier. Rate limited per IP; there is no CAPTCHA.

  3. Create a checkout link for the traveler create_checkout

    POST /api/checkout

    Step 3 of 4. Returns a Stripe-hosted checkout URL. This tool CANNOT complete a purchase: no money moves until a human opens that URL and approves the payment themselves. Present the link to your user; do not represent the trip as bought until they have completed checkout.

  4. Read a delivered itinerary get_itinerary

    GET /api/itinerary/{token}

    Step 4 of 4. The token is the only credential and is delivered to the traveler by email after purchase; it is long and unguessable, and cannot be enumerated. Returns the full itinerary: days, hour-by-hour slots, door-to-door transit, booking deadlines, and one alternate for every bookable stop. Every place is researched and date-stamped — never booked on the traveler's behalf, and never marked verified.

Connect it to Claude

Itinerist runs a remote Model Context Protocol server. You can add it to Claude yourself in about a minute, and there is nothing to sign up for and no key to paste.

  1. Open your connector settings

    In Claude, go to Settings → Connectors and choose Add custom connector.

  2. Paste the server URL

    https://itinerist.co/api/mcp

    Leave the OAuth fields empty. This server takes no authentication, so there is no client ID or secret to enter.

  3. Ask for a trip

    Try: “Use Itinerist to price five days in Rome in September for two people who care about food and want a slow pace.” Claude will collect the intake, return the real price, and hand you a link to pay when you are ready.

In Claude Code, one line instead: claude mcp add --transport http itinerist https://itinerist.co/api/mcp

Any other MCP client — point it at the same URL. The transport is streamable HTTP; the server speaks JSON-RPC 2.0 over HTTP POST.

Prefer plain HTTP? The same four capabilities are an OpenAPI 3.1 contract at /openapi.json, if you would rather call the routes directly.

What Claude can and cannot do with it

It can plan and price a whole trip for you, and read back a finished itinerary. It cannot pay for anything. The checkout tool returns a Stripe link; you open it and complete the payment yourself, exactly as you would on the website. No tool on this server moves money, and none of them can book or hold a reservation.

Why there is no login

Nothing in the purchase chain needs an account. An intake, a quote and a checkout link are all anonymous, and a finished itinerary is reached by a long, unguessable token delivered to the traveler by email. That token is the only credential, and it cannot be enumerated.

There is no CAPTCHA anywhere on this surface. Quoting carries a light per-IP rate limit and that is the whole of the abuse control. Agent traffic is welcome here.

What comes back

A finished itinerary is an hour-by-hour document: door-to-door transit between stops, advance booking deadlines, rest built into the day, and an alternate for every bookable place. Every venue carries the date it was researched. Six complete examples are readable in the itinerary library with no account and no key.