Google Flights Policy Recommender (MCP)
The Google Flights Policy Recommender (MCP) server searches Google Flights, evaluates results against corporate travel policies and personal preferences, and guides users through booking — without ever completing a purchase or payment.
Search Flights: Look up flights by origin, destination, dates, cabin class, and number of adults, returning structured options with airline, times, stops, and price.
Check Policy Compliance: Evaluate a specific flight against a travel policy file, returning compliance status, any violations, and whether manager approval is required.
Find Compliant Flights: Combines search and policy evaluation in one step — filters out non-compliant results and returns only policy-compliant options sorted by price, with a summary of rejected flights and reasons.
Rank by Preferences: Sort results based on personal preferences such as cheapest, fastest, nonstop, airline alliance, or red-eye avoidance.
Start Booking: Re-validates a chosen flight against policy, then navigates Google Flights through fare selection and auto-fills traveler details (name, email, phone, passport info, frequent flyer number, etc.). Always stops before any payment field or purchase button, handing control back to the user. Refuses to proceed with out-of-policy flights unless explicitly acknowledged.
Close Browser: Ends the Playwright browser session when the booking workflow is complete.
Searches Google Flights, labels results as in-policy or out-of-policy against a travel policy file, and ranks them by preferences (nonstop, alliance, red-eye avoidance, cheapest/fastest/balanced). Provides a Google Flights link to complete booking.
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., "@Google Flights Policy Recommender (MCP)Find flights from LAX to ORD on March 15"
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.
Corp Travel MCP
A remote MCP server that searches Google Flights, labels every result in-policy or out-of-policy against a travel policy file, and ranks them by your travel preferences — nonstop, airline alliance, red-eye avoidance, cheapest/fastest/balanced. It never visits an airline or OTA site and never attempts to book anything: it hands you a ranked, labeled list and a Google Flights link to complete the booking yourself.
Built as a technology demonstration of policy-aware flight recommendations.
This repository is one of three independently deployed MCPs in the
tarun-mcp-suite, alongside
gsuite and
simplefin.
There's also a local, browser-driven server in this repo that can drive a booking up to (but never through) payment — see local-server/README.md.
Connect it to claude.ai
The live deployment:
https://corp-travel-mcp-508362522869.us-central1.run.app/mcpIn claude.ai, go to Settings → Connectors → Add custom connector.
URL: paste the URL above.
Auth: choose OAuth. Leave the Client ID / Client Secret fields blank — this server supports dynamic client registration, so claude.ai registers itself automatically; nothing to fill in by hand.
Save. claude.ai will prompt you to connect — sign in with your
@routespring.com(or@gallop.ai) Google account. Any other domain is rejected.Try asking it to find a flight (see docs/examples.md).
Running your own separate deployment instead? See
docs/advanced-build.md for deploying it (Docker,
Fly.io/Render/Cloud Run) and setting up your own Google OAuth client — or
use the simpler username/password (Basic Auth) option claude.ai also offers,
where the password is the deployment's MCP_BEARER_TOKEN.
Related MCP server: fli
Change the default policy & config
Two files drive every recommendation: policy (hard/soft rules — fare caps, cabin class, blocked airlines) and preferences (personal taste — nonstop, alliance, cheapest vs. fastest). Full schema for both: docs/advanced-usage.md.
Change the deployment's default — edit
policy.json/user_preferences.jsonand redeploy, or set thePOLICY_JSON/PREFERENCES_JSONenv vars directly (no rebuild needed). This changes results for everyone using that deployment — see docs/advanced-build.md for exact commands.Use your own policy without changing the shared default — keep a personal
policy.json/user_preferences.jsonand just mention it ("use my policy for this"); the assistant reads it and passes it in for that call only. This is also how multiple colleagues share one deployment with different policies — see docs/advanced-usage.md.
More
docs/examples.md — worked examples: a search, checking the active policy, bringing your own policy, booking.
local-server/README.md — the browser-driven server that can autofill a booking up to payment.
docs/advanced-build.md — deploying, Google OAuth setup, running it locally.
docs/advanced-usage.md — full policy/preferences schema, the multi-colleague pattern, known limitations, safety boundary.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tarun101/corp-travel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server