Travel Planner MCP Server
Provides tools for searching real flight options from Google Flights and hotel/rental options from Google Hotels via SerpApi.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Travel Planner MCP Serversearch flights from New York to London next Friday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Travel Planner MCP Server
Minimal TypeScript MCP server for a personal travel-planning agent.
Agent-visible tools:
search_flights— real flight options from Google Flights (via SerpApi)search_hotels— real hotel/rental options from Google Hotels (via SerpApi)
Web search is intentionally excluded so it can be handled by your LLM provider's built-in web/search tool. The intended flow:
User
-> LLM travel agent
-> built-in web search for destination facts
-> travel-planner.search_flights for real flight options
-> travel-planner.search_hotels for real hotel options
-> LLM compares tradeoffs and produces the recommendationDesign
Adapter (src/providers) = talks to SerpApi
Normalizer (src/normalizers) = translates SerpApi response into our product shape
LLM = reasons over our product shapeA single SerpApi key powers both engines. The server is a thin wrapper: no booking, payments, itineraries, ranking, or post-booking support — the LLM composes the plan from the structured results.
Related MCP server: apifable
Install
npm installRun in mock mode (no API key needed)
npm run mock # TRAVEL_MCP_MOCK=1, returns realistic mock dataDevelop / build (live)
cp .env.example .env # set SERPAPI_API_KEY
npm run dev # tsx, live
npm run build && npm startTest
npm test # input validation, normalizers, provider errors, tool shapesMCP client config example
{
"mcpServers": {
"travel-planner": {
"command": "node",
"args": ["/absolute/path/to/travel-planner-mcp/build/index.js"],
"env": {
"SERPAPI_API_KEY": "your_serpapi_key",
"DEFAULT_CURRENCY": "BRL",
"DEFAULT_MARKET": "BR",
"DEFAULT_LOCALE": "pt-BR"
}
}
}
}Set TRAVEL_MCP_MOCK=1 in env to run the client against mock data.
Environment variables
Variable | Required | Notes |
| live mode | SerpApi key for both engines |
| no | defaults to |
| no | e.g. |
| no | Google |
| no | Google |
| no | supplier call timeout, default |
| no |
|
Notes
Supplier-specific request building is isolated in src/providers/*
(serpapi.ts is the shared client), and SerpApi → product-shape mapping lives in
src/normalizers/*. Flight/hotel result shapes are FlightOption / HotelOption.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/matheusgalvao1/travel-planner-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server