Skip to main content
Glama

flight

An MCP server that exposes flight search and Google Maps directions as tools, powered by SerpApi.

Tools

search_flights (flight.py)

Search for flights via Google Flights.

Argument

Type

Description

departure_id

str

3-letter departure airport code (e.g. AUS)

arrival_id

str

3-letter arrival airport code (e.g. JFK)

outbound_date

str

Departure date, YYYY-MM-DD

return_date

str | None

Return date, YYYY-MM-DD (omit for one-way)

currency

str

Currency code, defaults to USD

get_directions (map.py)

Get directions and route info between two locations via Google Maps.

Argument

Type

Description

start_addr

str

Starting address or place name

end_addr

str

Destination address or place name

travel_mode

str

One of best, driving, two-wheeler, transit, walking, cycling, flight. Defaults to driving

Related MCP server: Google Flights MCP Server

Setup

Requires Python 3.13+ and a SerpApi API key.

uv sync

Add your API key to .env:

SERPAPI_API_KEY="your-key-here"

Running

Each tool is its own MCP server, run over stdio:

uv run flight.py
uv run map.py

Point an MCP-compatible client (e.g. Claude Desktop) at these scripts to use the tools.

Available Tools

1 tool
search_flightsA

Search for flights using Google Flights via SerpApi.

Args: departure_id: 3-letter departure airport code (e.g. AUS) arrival_id: 3-letter arrival airport code (e.g. JFK) outbound_date: departure date in YYYY-MM-DD format return_date: return date in YYYY-MM-DD format (omit for one-way) currency: currency code, defaults to USD

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoUSD
arrival_idYes
return_dateNo
departure_idYes
outbound_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the sole source of behavioral context. It conveys that the tool uses Google Flights via SerpApi, implying a remote read-only search operation. However, it doesn't disclose potential rate limits, result format expectations, or edge cases such as airport code validation, so some behavior is left implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core intent, followed by a precise argument list. No filler or redundancy; each line contributes necessary semantic value. The structure makes it easy for an agent to quickly parse and use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter flight search tool, the description is highly complete: all parameter constraints and defaults are covered, and an output schema is present to cover return values. It misses only minor non-critical details such as potential downstream API limitations, but not enough to significantly confuse an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully clarify parameters. It does so well: lists each argument with format examples and defaults, clarifies that return_date being omitted means one-way, and explains currency defaults to USD. This is far more helpful than the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search for flights') and names the resource (Google Flights via SerpApi). Although there are no sibling tools to differentiate, the verb+resource+integration context makes the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: whenever flight search is needed. It provides clear context through operational details like omit return_date for one-way trips, but does not explicitly mention alternatives or exclusions. With no siblings, this is acceptable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedsearch_flights

TDQS

A4.1/5.0
Disambiguation5/5

With only a single tool, there is no ambiguity whatsoever. The tool's purpose is clearly distinct by virtue of being the only one.

Naming Consistency5/5

The single tool name 'search_flights' follows a clear verb_noun convention, and consistency is trivially satisfied with just one name.

Tool Count2/5

Having only one tool for a flight-related server is too few. While the search functionality is useful, a typical flight service would expect additional operations like booking, cancellation, or flight status, making this feel extremely minimal for the apparent domain.

Completeness2/5

The tool surface is severely incomplete for the flight domain—it only covers searching. There are no tools for selecting, booking, modifying, or canceling flights, which are obvious core operations, leading to significant gaps that would cause agent failures in real workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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/nihalpatel99/mcp-flight-map'

If you have feedback or need assistance with the MCP directory API, please join our Discord server