From 859327d05b8c3e5feea8a6e3f11e4b469ad50da4 Mon Sep 17 00:00:00 2001 From: Skyler Erickson Date: Mon, 8 Jun 2026 11:42:50 -0700 Subject: [PATCH] Add Gondola MCP server (free hotel/car/flight cash-vs-points) Adds the Gondola MCP server (https://mcp.gondola.ai/mcp) to the three MCP configs (.mcp.json, opencode.json, Codex plugin .mcp.json), the README MCP table, and the agent's tool list in CLAUDE.md. Gondola is a free, no-key remote HTTP server. Its search_hotels and compare_rates tools return side-by-side cash vs award (points) pricing across Marriott, Hilton, Hyatt, IHG, Accor, Wyndham and more in a single call, and it also exposes rental cars (search_vehicles) and flights (search_flights), so it slots in next to the other free servers. Updated the free-server count from 5 to 6 (7 total with LiteAPI) and re-synced agents/travel-hacker.md from CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) --- .mcp.json | 4 ++++ CLAUDE.md | 6 +++--- README.md | 7 ++++--- agents/travel-hacker.md | 6 +++--- opencode.json | 5 +++++ plugins/travel-hacking-toolkit/.mcp.json | 4 ++++ 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/.mcp.json b/.mcp.json index a25b887..218f4fc 100644 --- a/.mcp.json +++ b/.mcp.json @@ -16,6 +16,10 @@ "type": "http", "url": "https://mcp.ferryhopper.com/mcp" }, + "gondola": { + "type": "http", + "url": "https://mcp.gondola.ai/mcp" + }, "liteapi": { "type": "http", "url": "https://mcp.liteapi.travel/api/mcp", diff --git a/CLAUDE.md b/CLAUDE.md index 633ec1f..dba0df9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,7 +38,7 @@ You are a travel hacking agent. You don't just answer questions. You proactively **Show your math.** Every recommendation should include the cents-per-point value so the user can see if a redemption is good, mediocre, or exceptional. -**Degrade gracefully when API keys are missing.** Never ask the user "do you have this key set?" as a yes/no question before trying the tool. Just try it. If a tool errors with a missing-credentials message, catch it and fall through to whatever's available. The free MCPs (Skiplagged, Kiwi, Trivago, Ferryhopper, Airbnb) work without any keys at all. Cash flight search and basic hotel search are always possible. Award search needs Seats.aero. Auto-pulling balances needs AwardWallet. The user already knows what keys they did or didn't set; don't make them recite it. +**Degrade gracefully when API keys are missing.** Never ask the user "do you have this key set?" as a yes/no question before trying the tool. Just try it. If a tool errors with a missing-credentials message, catch it and fall through to whatever's available. The free MCPs (Skiplagged, Kiwi, Trivago, Ferryhopper, Gondola, Airbnb) work without any keys at all. Cash flight search and basic hotel search are always possible. Award search needs Seats.aero. Auto-pulling balances needs AwardWallet. The user already knows what keys they did or didn't set; don't make them recite it. **After the answer, suggest one relevant upgrade if it would have helped.** At the bottom of your output, in a single line, mention the one missing key that would have meaningfully improved THIS specific search. Example: a cash flight search with no Duffel key still returns Skiplagged results, but Duffel would give cleaner per-fare-class GDS pricing — say so in one sentence at the end. Only mention keys that are relevant to the current request. Don't bring up Seats.aero on a hotel-only search. Don't list 5 missing keys. Don't suggest anything if the search worked great with what was available. @@ -47,7 +47,7 @@ You are a travel hacking agent. You don't just answer questions. You proactively This toolkit ships skills (in `skills/`) and MCP servers. Skill names and descriptions are auto-loaded so you can pick the right one for a task. The list below is orientation only. ### MCP Servers -- **Always available, no keys needed:** Skiplagged, Kiwi.com, Trivago, Ferryhopper, Airbnb. Cash flight + hotel + ferry + rental search work out of the box. +- **Always available, no keys needed:** Skiplagged, Kiwi.com, Trivago, Ferryhopper, Gondola, Airbnb. Cash flight + hotel + ferry + rental search work out of the box. - **Requires `LITEAPI_API_KEY`:** LiteAPI for live hotel rates. Skip this MCP if the key isn't set; the others cover hotel discovery fine. ### Skills (load on demand) @@ -173,7 +173,7 @@ If you change skills, CLAUDE.md, or MCP config, run `bash scripts/smoke-test.sh` - Always search for 2+ seats when booking for multiple people. Award availability for 1 seat doesn't guarantee 2. - RapidAPI free tier is 100 requests/month. Use sparingly. Prefer SerpAPI. - Atlas Obscura and Airbnb scrape websites. Be respectful with request volume. -- Skiplagged, Kiwi.com, Trivago, and Ferryhopper need no setup. They just work. +- Skiplagged, Kiwi.com, Trivago, Ferryhopper, and Gondola need no setup. They just work. - Ferryhopper focuses on European/Mediterranean routes. Great for Greek islands, Croatia, Scandinavia. - For tool failure recovery, load the `fallback-and-resilience` skill. - For institutional knowledge from past searches (Seats.aero workflow, Southwest specifics, Companion Pass math, source accuracy hierarchy, small-market caveats, Duffel limitations), load the `lessons-learned` skill. diff --git a/README.md b/README.md index 1b9ea8a..bc4d275 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Inside Claude Code, run: /plugin install travel-hacker@borski ``` -Done. 42 skills, 6 MCP servers (5 free + LiteAPI which needs a key), and the `travel-hacker` subagent are installed. Run `claude` from anywhere and ask it to plan a trip. +Done. 42 skills, 7 MCP servers (6 free + LiteAPI which needs a key), and the `travel-hacker` subagent are installed. Run `claude` from anywhere and ask it to plan a trip. To verify the install, run `/travel-hacker:getting-started` inside Claude Code. It tells you which API keys are configured and points at the local setup script for the missing ones. Or in your shell: `claude plugin list | grep travel-hacker` should show the plugin. @@ -45,7 +45,7 @@ Claude Desktop's chat UI doesn't support the plugin format yet, so use Cowork in ### Configure API keys -The 5 free MCP servers (Skiplagged, Kiwi, Trivago, Ferryhopper, Airbnb) work immediately with zero keys. Cash flight and hotel search work out of the box. +The 6 free MCP servers (Skiplagged, Kiwi, Trivago, Ferryhopper, Gondola, Airbnb) work immediately with zero keys. Cash flight and hotel search work out of the box. To unlock award search and the rest of the toolkit, you need API keys set as environment variables in your shell. Run the local setup script: @@ -148,6 +148,7 @@ source .env && codex | [Kiwi.com](https://www.kiwi.com) | Flights with virtual interlining (creative cross-airline routing) | None (free) | | [Trivago](https://mcp.trivago.com/docs) | Hotel metasearch across booking sites | None (free) | | [Ferryhopper](https://ferryhopper.github.io/fh-mcp/) | Ferry routes across 33 countries, 190+ operators | None (free) | +| [Gondola](https://gondola.ai/mcp) | Hotels with side-by-side cash vs points pricing across Marriott, Hilton, Hyatt, IHG, Accor, Wyndham and more, plus rental cars, rate alerts, loyalty optimization, and direct booking that earns points and status nights. | None (free) | | [Airbnb](https://github.com/openbnb-org/mcp-server-airbnb) | Search Airbnb listings, property details, pricing. Includes geocoding fix, property type filter, and DISABLE_GEOCODING opt-out. | None (free) | | [LiteAPI](https://mcp.liteapi.travel) | Hotel search with live rates and booking | [LiteAPI](https://liteapi.travel) | @@ -354,7 +355,7 @@ MCP (Model Context Protocol) servers give your AI real-time tools it can call di - `.mcp.json` for Claude Code (auto-discovered from the repo root) - `plugins/travel-hacking-toolkit/.mcp.json` for Codex plugin installs -Skiplagged, Kiwi.com, Trivago, Ferryhopper, and Airbnb need no setup at all. LiteAPI is also a remote server but needs an API key configured in your settings. +Skiplagged, Kiwi.com, Trivago, Ferryhopper, Gondola, and Airbnb need no setup at all. LiteAPI is also a remote server but needs an API key configured in your settings. **Why Codex needs a plugin:** OpenCode and Claude Code both auto-discover MCP servers from a repo-local config file. Codex doesn't. It only loads MCP servers from `~/.codex/config.toml` or from an installed plugin. The toolkit ships a Codex plugin (under `plugins/travel-hacking-toolkit/`) that bundles the MCP config so Codex users get the same out-of-the-box experience as the other two tools. `setup.sh` wires this up automatically when you select the Codex option. diff --git a/agents/travel-hacker.md b/agents/travel-hacker.md index 633ec1f..dba0df9 100644 --- a/agents/travel-hacker.md +++ b/agents/travel-hacker.md @@ -38,7 +38,7 @@ You are a travel hacking agent. You don't just answer questions. You proactively **Show your math.** Every recommendation should include the cents-per-point value so the user can see if a redemption is good, mediocre, or exceptional. -**Degrade gracefully when API keys are missing.** Never ask the user "do you have this key set?" as a yes/no question before trying the tool. Just try it. If a tool errors with a missing-credentials message, catch it and fall through to whatever's available. The free MCPs (Skiplagged, Kiwi, Trivago, Ferryhopper, Airbnb) work without any keys at all. Cash flight search and basic hotel search are always possible. Award search needs Seats.aero. Auto-pulling balances needs AwardWallet. The user already knows what keys they did or didn't set; don't make them recite it. +**Degrade gracefully when API keys are missing.** Never ask the user "do you have this key set?" as a yes/no question before trying the tool. Just try it. If a tool errors with a missing-credentials message, catch it and fall through to whatever's available. The free MCPs (Skiplagged, Kiwi, Trivago, Ferryhopper, Gondola, Airbnb) work without any keys at all. Cash flight search and basic hotel search are always possible. Award search needs Seats.aero. Auto-pulling balances needs AwardWallet. The user already knows what keys they did or didn't set; don't make them recite it. **After the answer, suggest one relevant upgrade if it would have helped.** At the bottom of your output, in a single line, mention the one missing key that would have meaningfully improved THIS specific search. Example: a cash flight search with no Duffel key still returns Skiplagged results, but Duffel would give cleaner per-fare-class GDS pricing — say so in one sentence at the end. Only mention keys that are relevant to the current request. Don't bring up Seats.aero on a hotel-only search. Don't list 5 missing keys. Don't suggest anything if the search worked great with what was available. @@ -47,7 +47,7 @@ You are a travel hacking agent. You don't just answer questions. You proactively This toolkit ships skills (in `skills/`) and MCP servers. Skill names and descriptions are auto-loaded so you can pick the right one for a task. The list below is orientation only. ### MCP Servers -- **Always available, no keys needed:** Skiplagged, Kiwi.com, Trivago, Ferryhopper, Airbnb. Cash flight + hotel + ferry + rental search work out of the box. +- **Always available, no keys needed:** Skiplagged, Kiwi.com, Trivago, Ferryhopper, Gondola, Airbnb. Cash flight + hotel + ferry + rental search work out of the box. - **Requires `LITEAPI_API_KEY`:** LiteAPI for live hotel rates. Skip this MCP if the key isn't set; the others cover hotel discovery fine. ### Skills (load on demand) @@ -173,7 +173,7 @@ If you change skills, CLAUDE.md, or MCP config, run `bash scripts/smoke-test.sh` - Always search for 2+ seats when booking for multiple people. Award availability for 1 seat doesn't guarantee 2. - RapidAPI free tier is 100 requests/month. Use sparingly. Prefer SerpAPI. - Atlas Obscura and Airbnb scrape websites. Be respectful with request volume. -- Skiplagged, Kiwi.com, Trivago, and Ferryhopper need no setup. They just work. +- Skiplagged, Kiwi.com, Trivago, Ferryhopper, and Gondola need no setup. They just work. - Ferryhopper focuses on European/Mediterranean routes. Great for Greek islands, Croatia, Scandinavia. - For tool failure recovery, load the `fallback-and-resilience` skill. - For institutional knowledge from past searches (Seats.aero workflow, Southwest specifics, Companion Pass math, source accuracy hierarchy, small-market caveats, Duffel limitations), load the `lessons-learned` skill. diff --git a/opencode.json b/opencode.json index 8f57c18..7d788c9 100644 --- a/opencode.json +++ b/opencode.json @@ -21,6 +21,11 @@ "url": "https://mcp.ferryhopper.com/mcp", "enabled": true }, + "gondola": { + "type": "remote", + "url": "https://mcp.gondola.ai/mcp", + "enabled": true + }, "liteapi": { "type": "remote", "url": "https://mcp.liteapi.travel/api/mcp", diff --git a/plugins/travel-hacking-toolkit/.mcp.json b/plugins/travel-hacking-toolkit/.mcp.json index 877fd2e..108fdc7 100644 --- a/plugins/travel-hacking-toolkit/.mcp.json +++ b/plugins/travel-hacking-toolkit/.mcp.json @@ -16,6 +16,10 @@ "type": "http", "url": "https://mcp.ferryhopper.com/mcp" }, + "gondola": { + "type": "http", + "url": "https://mcp.gondola.ai/mcp" + }, "liteapi": { "type": "http", "url": "https://mcp.liteapi.travel/api/mcp",