Back to Directory/Search & Knowledge

Flight Search

Search Google Flights through SerpApi: one-way and round-trip flights by IATA airport code.

Search & KnowledgePythonv0.3.0

MCP Flight Search

An MCP server that searches Google Flights through SerpApi, for Claude, Cursor and other MCP clients. One-way and round-trip searches by IATA airport code, with prices, durations, stops and times.

CI PyPI

Requirements

  • Python 3.10 or later (or uv)
  • A SerpApi key in SERP_API_KEY (serpapi.com has a free tier)

Use it from an MCP client

Add it to your client's MCP configuration (Claude Desktop, Claude Code, Cursor, ...):

{
  "mcpServers": {
    "flight-search": {
      "command": "uvx",
      "args": ["mcp-flight-search"],
      "env": { "SERP_API_KEY": "your-serpapi-key" }
    }
  }
}

Or install it with pip install mcp-flight-search and use "command": "mcp-flight-search".

Run it yourself

export SERP_API_KEY="your-serpapi-key"
mcp-flight-search                                    # stdio (default)
mcp-flight-search --connection_type http --port 3001 # Streamable HTTP at http://127.0.0.1:3001/mcp

LOG_LEVEL=DEBUG shows more detail on stderr. The API key is never logged.

With Docker:

docker build -t mcp-flight-search .
docker run -i --rm -e SERP_API_KEY=your-serpapi-key mcp-flight-search

Tools

ToolWhat it does
search_flights_toolFlights 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.
server_statusChecks the server is running and reports its version.

Development

uv sync
uv run pytest
uv run ruff check .

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx mcp-flight-search

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-arjunprabhulal-mcp-flight-search": {
      "command": "uvx",
      "args": [
        "mcp-flight-search"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

mcp-flight-searchpypi

Compatible MCP Clients

Flight Search works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More