{"id":"8e5e5ec9-bff7-4f84-bc3e-51f9ac4c53e0","slug":"mcp-flight-search","kind":"mcp","name":"mcp-flight-search","summary":"MCP Server implementation for the Model Context Protocol (MCP) enabling AI tool usage - Realtime Flight Search","owner":"arjunprabhulal","repoUrl":"https://github.com/arjunprabhulal/mcp-flight-search","license":"MIT","licenseTier":"permissive","trust":"community","stars":43,"match":null,"fewStars":false,"format":"mcp","createdAt":"2025-04-02T03:43:19.000Z","addedAt":"2026-10-14T03:47:00.930Z","logoUrl":"https://avatars.githubusercontent.com/u/11761445?u=ac0eb6b535368360703c0d578c0fdc04a93c599a&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["search","cloud-infra","memory-knowledge"],"tags":["ai","genai","serpapi","fligh-search"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-15T03:21:19.896Z","sample":false,"url":"https://conduits.dev/tools/mcp-flight-search","language":"Python","transports":["stdio"],"install":{"pypi":"mcp-flight-search"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# MCP Flight Search\n\n<!-- mcp-name: io.github.arjunprabhulal/mcp-flight-search -->\n\nAn MCP server that searches Google Flights through [SerpApi](https://serpapi.com/google-flights-api), for Claude, Cursor and other MCP clients. One-way and round-trip searches by IATA airport code, with prices, durations, stops and times.\n\n[![CI](https://github.com/arjunprabhulal/mcp-flight-search/actions/workflows/ci.yml/badge.svg)](https://github.com/arjunprabhulal/mcp-flight-search/actions/workflows/ci.yml)\n[![PyPI](https://img.shields.io/pypi/v/mcp-flight-search)](https://pypi.org/project/mcp-flight-search/)\n\n## Requirements\n\n- Python 3.10 or later (or [uv](https://docs.astral.sh/uv/))\n- A SerpApi key in `SERP_API_KEY` (serpapi.com has a free tier)\n\n## Use it from an MCP client\n\nAdd it to your client's MCP configuration (Claude Desktop, Claude Code, Cursor, ...):\n\n```json\n{\n  \"mcpServers\": {\n    \"flight-search\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-flight-search\"],\n      \"env\": { \"SERP_API_KEY\": \"your-serpapi-key\" }\n    }\n  }\n}\n```\n\nOr install it with `pip install mcp-flight-search` and use `\"command\": \"mcp-flight-search\"`.\n\n## Run it yourself\n\n```bash\nexport SERP_API_KEY=\"your-serpapi-key\"\nmcp-flight-search                                    # stdio (default)\nmcp-flight-search --connection_type http --port 3001 # Streamable HTTP at http://127.0.0.1:3001/mcp\n```\n\n`LOG_LEVEL=DEBUG` shows more detail on stderr. The API key is never logged.\n\nWith Docker:\n\n```bash\ndocker build -t mcp-flight-search .\ndocker run -i --rm -e SERP_API_KEY=your-serpapi-key mcp-flight-search\n```\n\n## Tools\n\n| Tool | What it does |\n| --- | --- |\n| `search_flights_tool` | Flights between two airports. `origin`, `destination`: IATA codes such as `ATL`, `LAX`. `outbound_date`: `YYYY-MM-DD`. `return_date` (optional): `YYYY-MM-DD` for a round trip. Returns structured results: airline, price (USD), duration, stops, departure, arrival, cabin class. |\n| `server_status` | Checks the server is running and reports its version. |\n\n## Development\n\n```bash\nuv sync\nuv run pytest\nuv run ruff check .\n```\n\n## License\n\nMIT\n"}