trvl MCP Server
by mikkoparkkolaio.github.MikkoParkkola/trvlv1.26.0
Door-to-door travel MCP + CLI: flights, hotels, trains, cars, ferries. No API keys, Go binary.
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install trvl MCP server
Install in Claude Code
claude mcp add trvl -e TRVL_MCP_TOKEN='<trvl-mcp-token>' -e TRVL_MCP_READ_TOKEN='<trvl-mcp-read-token>' -e TRVL_MCP_WRITE_TOKEN='<trvl-mcp-write-token>' -e TRVL_MCP_OAUTH_CLIENT_SECRET='<trvl-mcp-oauth-client-secret>' -e AFKLM_KEY='<afklm-key>' -e AFKL_KLM_COOKIES='<afkl-klm-cookies>' -e SERPAPI_KEY='<serpapi-key>' -e TRAVELPAYOUTS_TOKEN='<travelpayouts-token>' -e TRANSAVIA_API_KEY='<transavia-api-key>' -e TICKETMASTER_API_KEY='<ticketmaster-api-key>' -e FOURSQUARE_API_KEY='<foursquare-api-key>' -e OPENTRIPMAP_API_KEY='<opentripmap-api-key>' -e GEOAPIFY_API_KEY='<geoapify-api-key>' -e DISTRIBUSION_API_KEY='<distribusion-api-key>' -e SKYSCANNER_API_KEY='<skyscanner-api-key>' -- npx -y trvl-mcpInstall in Cursor
{
"mcpServers": {
"trvl": {
"command": "npx",
"args": [
"-y",
"trvl-mcp"
],
"env": {
"TRVL_MCP_TOKEN": "<trvl-mcp-token>",
"TRVL_MCP_READ_TOKEN": "<trvl-mcp-read-token>",
"TRVL_MCP_WRITE_TOKEN": "<trvl-mcp-write-token>",
"TRVL_MCP_OAUTH_CLIENT_SECRET": "<trvl-mcp-oauth-client-secret>",
"AFKLM_KEY": "<afklm-key>",
"AFKL_KLM_COOKIES": "<afkl-klm-cookies>",
"SERPAPI_KEY": "<serpapi-key>",
"TRAVELPAYOUTS_TOKEN": "<travelpayouts-token>",
"TRANSAVIA_API_KEY": "<transavia-api-key>",
"TICKETMASTER_API_KEY": "<ticketmaster-api-key>",
"FOURSQUARE_API_KEY": "<foursquare-api-key>",
"OPENTRIPMAP_API_KEY": "<opentripmap-api-key>",
"GEOAPIFY_API_KEY": "<geoapify-api-key>",
"DISTRIBUSION_API_KEY": "<distribusion-api-key>",
"SKYSCANNER_API_KEY": "<skyscanner-api-key>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"trvl": {
"command": "npx",
"args": [
"-y",
"trvl-mcp"
],
"env": {
"TRVL_MCP_TOKEN": "<trvl-mcp-token>",
"TRVL_MCP_READ_TOKEN": "<trvl-mcp-read-token>",
"TRVL_MCP_WRITE_TOKEN": "<trvl-mcp-write-token>",
"TRVL_MCP_OAUTH_CLIENT_SECRET": "<trvl-mcp-oauth-client-secret>",
"AFKLM_KEY": "<afklm-key>",
"AFKL_KLM_COOKIES": "<afkl-klm-cookies>",
"SERPAPI_KEY": "<serpapi-key>",
"TRAVELPAYOUTS_TOKEN": "<travelpayouts-token>",
"TRANSAVIA_API_KEY": "<transavia-api-key>",
"TICKETMASTER_API_KEY": "<ticketmaster-api-key>",
"FOURSQUARE_API_KEY": "<foursquare-api-key>",
"OPENTRIPMAP_API_KEY": "<opentripmap-api-key>",
"GEOAPIFY_API_KEY": "<geoapify-api-key>",
"DISTRIBUSION_API_KEY": "<distribusion-api-key>",
"SKYSCANNER_API_KEY": "<skyscanner-api-key>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"trvl": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"trvl-mcp"
],
"env": {
"TRVL_MCP_TOKEN": "<trvl-mcp-token>",
"TRVL_MCP_READ_TOKEN": "<trvl-mcp-read-token>",
"TRVL_MCP_WRITE_TOKEN": "<trvl-mcp-write-token>",
"TRVL_MCP_OAUTH_CLIENT_SECRET": "<trvl-mcp-oauth-client-secret>",
"AFKLM_KEY": "<afklm-key>",
"AFKL_KLM_COOKIES": "<afkl-klm-cookies>",
"SERPAPI_KEY": "<serpapi-key>",
"TRAVELPAYOUTS_TOKEN": "<travelpayouts-token>",
"TRANSAVIA_API_KEY": "<transavia-api-key>",
"TICKETMASTER_API_KEY": "<ticketmaster-api-key>",
"FOURSQUARE_API_KEY": "<foursquare-api-key>",
"OPENTRIPMAP_API_KEY": "<opentripmap-api-key>",
"GEOAPIFY_API_KEY": "<geoapify-api-key>",
"DISTRIBUSION_API_KEY": "<distribusion-api-key>",
"SKYSCANNER_API_KEY": "<skyscanner-api-key>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"trvl": {
"command": "npx",
"args": [
"-y",
"trvl-mcp"
],
"env": {
"TRVL_MCP_TOKEN": "<trvl-mcp-token>",
"TRVL_MCP_READ_TOKEN": "<trvl-mcp-read-token>",
"TRVL_MCP_WRITE_TOKEN": "<trvl-mcp-write-token>",
"TRVL_MCP_OAUTH_CLIENT_SECRET": "<trvl-mcp-oauth-client-secret>",
"AFKLM_KEY": "<afklm-key>",
"AFKL_KLM_COOKIES": "<afkl-klm-cookies>",
"SERPAPI_KEY": "<serpapi-key>",
"TRAVELPAYOUTS_TOKEN": "<travelpayouts-token>",
"TRANSAVIA_API_KEY": "<transavia-api-key>",
"TICKETMASTER_API_KEY": "<ticketmaster-api-key>",
"FOURSQUARE_API_KEY": "<foursquare-api-key>",
"OPENTRIPMAP_API_KEY": "<opentripmap-api-key>",
"GEOAPIFY_API_KEY": "<geoapify-api-key>",
"DISTRIBUSION_API_KEY": "<distribusion-api-key>",
"SKYSCANNER_API_KEY": "<skyscanner-api-key>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| TRVL_MCP_TOKEN | — | yes | Bearer token for HTTP-mode auth (unused in stdio). Optional. |
| TRVL_MCP_READ_TOKEN | — | yes | Read-scoped bearer token for HTTP-mode auth (unused in stdio). Optional. |
| TRVL_MCP_WRITE_TOKEN | — | yes | Write-scoped bearer token for HTTP-mode auth (unused in stdio). Optional. |
| TRVL_MCP_OAUTH_INTROSPECTION_URL | — | — | OAuth token introspection endpoint for HTTP-mode auth (unused in stdio). Optional. |
| TRVL_MCP_OAUTH_CLIENT_ID | — | — | OAuth client ID for HTTP-mode token introspection (unused in stdio). Optional. |
| TRVL_MCP_OAUTH_CLIENT_SECRET | — | yes | OAuth client secret for HTTP-mode token introspection (unused in stdio). Optional. |
| TRVL_MCP_OAUTH_AUDIENCE | — | — | Expected OAuth audience for HTTP-mode token introspection (unused in stdio). Optional. |
| TRVL_MCP_TOOL_MODE | — | — | Selects which MCP tool set is registered (e.g. smart/full). Optional, defaults to full set. |
| TRVL_MCP_TOOL_TIMEOUT | — | — | Per-tool-call timeout override. Optional, defaults to the built-in timeout. |
| AFKLM_KEY | — | yes | Air France-KLM API key; unlocks that airline's live fares/award search. Optional, trvl works without it. |
| AFKLM_OP_REF | — | — | 1Password reference for the Air France-KLM API key. Optional, alternative to AFKLM_KEY. |
| AFKLM_KEYCHAIN_SERVICE | — | — | macOS Keychain service name to read the Air France-KLM API key from. Optional, alternative to AFKLM_KEY. |
| AFKL_KLM_COOKIES | — | yes | Session cookies for Air France-KLM award search. Optional, unlocks award-fare lookups only. |
| SERPAPI_KEY | — | yes | SerpApi API key; unlocks search-engine-backed lookups used by some providers. Optional, trvl works without it. |
| TRAVELPAYOUTS_TOKEN | — | yes | Travelpayouts API token; unlocks that flight-price data source. Optional, trvl works without it. |
| TRANSAVIA_API_KEY | — | yes | Transavia API key; unlocks that airline's live fares. Optional, trvl works without it. |
| TICKETMASTER_API_KEY | — | yes | Ticketmaster API key; unlocks event listings for destinations. Optional, trvl works without it. |
| FOURSQUARE_API_KEY | — | yes | Foursquare API key; unlocks that place-search data source. Optional, trvl works without it. |
| OPENTRIPMAP_API_KEY | — | yes | OpenTripMap API key; unlocks that attractions data source. Optional, trvl works without it. |
| GEOAPIFY_API_KEY | — | yes | Geoapify API key; unlocks that places/geocoding data source. Optional, trvl works without it. |
| DISTRIBUSION_API_KEY | — | yes | Distribusion API key; unlocks that ground-transport data source. Optional, trvl works without it. |
| SKYSCANNER_API_KEY | — | yes | Skyscanner API key; unlocks that car-hire data source. Optional, trvl works without it. |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 1d ago · GitHub
Latest release
2026-10-06 · 3d ago · GitHub · v1.26.0
Package published
no data · npm/PyPI
Registry entry updated
2026-10-06 · 3d ago · official registry · v1.26.0
FAQ
›How do I install the trvl MCP server in Claude Code?
Run: claude mcp add trvl -e TRVL_MCP_TOKEN='<trvl-mcp-token>' -e TRVL_MCP_READ_TOKEN='<trvl-mcp-read-token>' -e TRVL_MCP_WRITE_TOKEN='<trvl-mcp-write-token>' -e TRVL_MCP_OAUTH_CLIENT_SECRET='<trvl-mcp-oauth-client-secret>' -e AFKLM_KEY='<afklm-key>' -e AFKL_KLM_COOKIES='<afkl-klm-cookies>' -e SERPAPI_KEY='<serpapi-key>' -e TRAVELPAYOUTS_TOKEN='<travelpayouts-token>' -e TRANSAVIA_API_KEY='<transavia-api-key>' -e TICKETMASTER_API_KEY='<ticketmaster-api-key>' -e FOURSQUARE_API_KEY='<foursquare-api-key>' -e OPENTRIPMAP_API_KEY='<opentripmap-api-key>' -e GEOAPIFY_API_KEY='<geoapify-api-key>' -e DISTRIBUSION_API_KEY='<distribusion-api-key>' -e SKYSCANNER_API_KEY='<skyscanner-api-key>' -- npx -y trvl-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does trvl require an API key?
Yes. It expects TRVL_MCP_TOKEN, TRVL_MCP_READ_TOKEN, TRVL_MCP_WRITE_TOKEN, TRVL_MCP_OAUTH_CLIENT_SECRET, AFKLM_KEY, AFKL_KLM_COOKIES, SERPAPI_KEY, TRAVELPAYOUTS_TOKEN, TRANSAVIA_API_KEY, TICKETMASTER_API_KEY, FOURSQUARE_API_KEY, OPENTRIPMAP_API_KEY, GEOAPIFY_API_KEY, DISTRIBUSION_API_KEY, SKYSCANNER_API_KEY, of which 15 are secrets.
›Can I use trvl as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is trvl in the official MCP registry?
Yes, as io.github.MikkoParkkola/trvl.
Alternatives to trvl
Other travel & transport MCP servers.