Open-source, MCP-native trip planning for your AI agent.
TripMate is an MIT-licensed AI trip planner that runs as an MCP server and a web app. It gives Claude Desktop, Cursor, and Claude Code live geocoding, place search, weather, and routing tools, then returns a structured, editable itinerary.
- MCP tools
- 5
- free plans / month
- 10
- license
- MIT
geocode_place
Resolve the destination
get_weather
Check the trip dates
search_places
Find named places nearby
Found 5 days of places near 38.72, -9.14. Drafting a plan around the weather and opening hours.
Lisbon · 5 days
Portugal · 18–24°C · mostly sunny
Day 1 · Alfama & the river
Walk Alfama's lanes to São Jorge Castle
Alfama
Lunch at Time Out Market
Cais do Sodré
Sunset at Miradouro da Senhora do Monte
Graça
Food: Time Out Market · Pastéis de Belém · A Brasileira
Interactive sample with real place names. Sign in to generate with live data.
Watch it work
Chat on the left. A real plan on the right.
One prompt becomes a tool run, then a plan you can edit. The agent calls TripMate's MCP tools and writes the result into structured JSON, so nothing important stays buried in chat.
Prompt
Plan a 5-day trip to Lisbon for two. Mid-range budget, food-first, one day trip outside the city.
The web app keeps the same input shape as the MCP tool: destination, dates, budget, style, and free-text preferences.
"Lisbon, Portugal"
→ 38.7223, -9.1393
38.7223, -9.1393 · 5 days
→ 18–24°C · 10% rain
"attractions" · 8 km
→ 12 attractions · 8 restaurants
"Lisbon" → "Sintra"
→ 28.4 km · 40 min driving
No invented coordinates. Each step is a real MCP tool call, and the model only sees the data that came back.
Day 1 · Alfama
EditableMorning
Walk Alfama's lanes to São Jorge Castle
Afternoon
Lunch at Time Out Market
Evening
Sunset at Miradouro da Senhora do Monte
Reorder activities, change a cost, swap a day. The plan is data, not a wall of text.
Lisbon · 5 days
Portugal · 18–24°C · sample output
Walk Alfama's lanes to São Jorge Castle
Alfama
Lunch at Time Out Market
Cais do Sodré
Sunset at Miradouro da Senhora do Monte
Graça
Activities
15
Est. total
$480–620
Sources
4
Product preview with sample data. Tool names and output shapes match the MCP server in mcp/.
How it works
Three steps. No prompt engineering.
Describe the trip, and the agent queries live tools through MCP. TripMate validates the result against a schema and returns a plan you can edit.
- 01
Describe the trip
Destination, dates, budget, travel style, and anything that matters — food, accessibility, a slow pace. One request is enough.
Plan a 5-day trip to Lisbon. Mid-range. Food-first. One day trip outside the city. - 02
The agent queries real tools
Through MCP, the agent geocodes the destination, checks the forecast, finds named places, and measures the day trip. No guessed coordinates.
geocode_place("Lisbon, Portugal") → 38.7223, -9.1393 get_weather(38.7223, -9.1393) → 18–24°C · 10% rain search_places(38.7223, -9.1393, "food") → 8 named restaurants - 03
Get a structured, editable plan
The output is validated against a Zod schema: days, time slots, categories, estimated costs, packing tips. Edit it like data, not a chat log.
{ "day": 1, "theme": "Alfama & the river", "activities": [ { "timeSlot": "morning", "title": "São Jorge Castle", "estimatedCostUsd": 18 } ] }
The schema mirrors src/schemas/itinerarySchema.ts. Costs are planning estimates, not live quotes.
Feature depth
Built like a tool, not a chat toy.
Three things separate TripMate from a generic travel chatbot: structured output, live data, and code you can run yourself.
A plan that behaves like data
Every itinerary is validated against a schema before it reaches you: days, time slots, categories, costs, and tips. That is why you can drag an activity, change a cost, or swap a day without losing the structure.
Day 1 · Alfama & the river
EditableMorning
São Jorge Castle
Afternoon
Time Out Market
Evening
Miradouro da Senhora do Monte
Real coordinates, not confident guesses
The agent calls five MCP tools instead of guessing. Geocoding, place search, weather, and driving routes come from OpenStreetMap, Open-Meteo, and OSRM, with sources attached to the result.
tool run · 4 calls
liveYour model, your machine, your license
Use Gemini, NVIDIA NIM, or OpenRouter, or self-host the whole stack under MIT. The web app and MCP server live in the same repository, with no hosted dependency required.
self-host
$ git clone https://github.com/Krithik-m-codes/tripmate.git
$ pnpm install && pnpm dev
✓ web app on :3001
✓ MongoDB connected
$ claude mcp add tripmate -- node mcp/server.mjs
✓ 5 tools registeredProof
Proof, not press logos.
TripMate is public, MIT-licensed, and self-hostable. The repository is the proof: you can read every tool, run the server, and audit the claims on this page.
- Stars
- 1
- Forks
- 0
- License
- MIT
- Last push
- Nov 12, 2026
Star and fork counts come from the GitHub API and refresh hourly. No placeholder logos, no invented testimonials.
Claude Desktop
Agent-built itinerary
Ask for a five-day plan. The agent calls TripMate's MCP tools and returns a day-by-day itinerary instead of a paragraph.
Self-host
Your own travel stack
Run the web app and MCP server on your machine. Itineraries stay in your MongoDB, and the code is yours to change.
Web app
An editable trip workspace
Open the plan, reorder activities, save places to a map, and keep the whole trip in one place.
Public roadmap
Streaming, collaboration, and mobile work is tracked in ROADMAP.md. No secret backlog.
FAQ
Questions, answered.
TripMate is free to start, works with Claude Desktop through MCP, and can be self-hosted under MIT. Here are the details.
Ask in GitHub IssuesIs TripMate free?
Yes. The free tier includes 10 AI itinerary generations per month, 25 saved places, and 10 saved itineraries, with no credit card required. Pro removes those limits.
Does TripMate work with Claude Desktop?
Yes. TripMate ships an MCP server that runs over stdio, so Claude Desktop, Cursor, and Claude Code can call its travel tools directly. Add the server to your MCP config and set GEMINI_API_KEY for itinerary generation.
Can I self-host TripMate?
Yes. TripMate is MIT-licensed and runs on Node.js 20+ with MongoDB. Clone the repo, set the environment variables, run pnpm install and pnpm dev, then point your MCP client at mcp/server.mjs.
How is TripMate different from ChatGPT travel planning?
TripMate returns a structured, editable itinerary validated against a schema, not a chat transcript. It pulls live place, weather, and routing data through MCP tools, and you can self-host the entire stack.
What live data does TripMate use?
TripMate uses OpenStreetMap Nominatim for geocoding and place search, Open-Meteo for weather, and OSRM for driving routes. Costs are AI planning estimates, not live flight or hotel prices.
Is TripMate open source?
Yes. The source is public on GitHub under the MIT license, so you can inspect, modify, and redistribute it. The MCP server and web app live in the same repository.
Does TripMate book flights or hotels?
No. TripMate plans and estimates; it does not book flights, hotels, or activities. It can suggest booking links, but you confirm availability and prices with the provider.
Start here
Give your agent a real travel stack.
Start with 10 free itineraries a month, or clone the repository and run the whole thing yourself. MIT licensed, no credit card.
Claude Desktop · Cursor · Claude Code