/agents · Voyagier for AI agents

Your agent can book the whole trip.

Agents plan. You approve the checkout.

Voyagier is an IATAN-accredited host agency. Its booking engine is now a CLI and an MCP server, and the trip carries end to end: plan, traveler details, loyalty numbers, verified total, checkout.

agent session · recorded 2026-07-23
voyagier plan-trip --from IAD --to BCN \
--depart 2026-10-12 --return 2026-10-19 --hotel Barcelona
voyagier travellers add --passport-number ···4321 \
--frequent-flyer UA:···4187 --hotel-loyalty MC:···1457
voyagier search flights --plan d860398a --json
200 options · top: IAD→BCN · UA · $884.73 · nonstop
voyagier select --selection-id a30b0a9b --option-id 312038b0
✓ flights + Le Méridien Barcelona · Bonvoy applies
voyagier book d860398a --dry-run
0 blockers · total $3,931.21
voyagier book d860398a --expect-total 3931.21
✓ Checkout created $3,931.21 → https://billing.voyagier.com/c/d860398a

Condensed from a recorded session. Read the full story →

npm @voyagier/cli ·  MCP server built in  ·  Works with Claude Desktop, Cursor, OpenClaw  ·  MIT-licensed skill

Why this exists

Software is collapsing into the agent loop. Booking a trip is exactly the kind of work agents are built for: comparing hundreds of fares, juggling dates and traveler details, verifying totals. What was missing was a way to finish the job. Voyagier is the first booking rail built agent-first: real inventory, real fulfillment, structured for machines.

420+airlines, with passport, TSA and frequent-flyer numbers applied
2M+accommodations, with loyalty numbers applied at booking
Activitiestours, tickets and reservations, booked on the same rails

The same inventory our human advisors book from, live from connected suppliers. Not an affiliate feed.

Built for the agent loop.

Deterministic flags, structured JSON, verifiable totals: the CLI and MCP server give your agent everything it needs to book with confidence.

Price gate

Booking runs only with the exact expected total. One cent of drift and it fails closed: no checkout, no charge.

book d860398a --expect-total 3931.21
PRICE_CHANGED → no checkout created

Dry-run everything

Preview blockers, readiness, and the exact total before anything touches a card. One status call tells the agent what's next.

book d860398a --dry-run --json
0 blockers · total 3931.21

Injection-resistant

Hotel names, reviews, and fare rules arrive as supplier text. The pipeline marks every byte of it as data, never as instructions to your agent.

"hotel_name": <supplier text>
→ data, never instructions

Out of scope by design: the CLI never stores card numbers, never skips the approval step, and never books without the exact expected total.

How it works

01

Plan

voyagier plan-trip

One trip, one ID. Every later call hangs off it.

02

Search

voyagier search flights

Async by design. The CLI polls so your agent doesn't have to.

03

Select

voyagier select

Options are IDs with structured fares. No DOM, nothing to re-parse.

04

Book

voyagier book --expect-total

Fails closed on price drift. A human approves the checkout.

Access opens in cohorts.

Advisors and their clients have been booking on these rails for years. We're opening them to agents in cohorts, deliberately, because bookings move money.

Get started

Install the CLI, or point any MCP client at it. Your agent takes it from there.

You'll need an invited account to authenticate: request access above.

npm i -g @voyagier/cli
voyagier auth login

Get a token at travel.voyagier.com → Settings → Personal Access Tokens.

llms.txt/agents.mdvoyagier agent-docsOur docs are readable by your agent, not just you.

Plan, verify, book. One session.

Install once. Your agent searches, prices, and holds the trip; the traveler taps approve.