Skip to main content
Glama
HaroldLeo

Google Flights MCP Server

by HaroldLeo

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation3/5

    The tools have overlapping purposes that could cause confusion, such as search_one_way_flights and search_direct_flights for one-way trips, and search_round_trip_flights and search_direct_flights for round-trips. However, descriptions provide some guidance to differentiate them, like the tip in search_round_trip_flights suggesting to use search_direct_flights for direct flights. This overlap reduces clarity but is partially mitigated by the documentation.

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with a verb_noun structure, such as generate_google_flights_url, get_multi_city_flights, and search_direct_flights. This uniformity makes the tool set predictable and easy to understand, with no deviations in naming conventions.

    Tool Count4/5

    With 9 tools, the count is reasonable for a flight search server, covering various search types and utilities. It is well-scoped but slightly heavy due to some overlapping tools, like multiple search functions that could potentially be consolidated, though each serves a distinct niche.

    Completeness5/5

    The tool set provides comprehensive coverage for flight search, including one-way, round-trip, multi-city, direct flights, airline filters, date range searches, and utilities like URL generation and date suggestions. There are no obvious gaps; it supports full lifecycle planning from search to results, with clear workflows and no dead ends.

  • Average 4.1/5 across 9 of 9 tools scored. Lowest: 3.3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but lacks critical behavioral details. It doesn't mention whether this is a read-only operation, what authentication is required, rate limits, pagination behavior (though max_results parameter exists), or what happens when no flights match criteria.

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

    Conciseness4/5

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

    Well-structured with clear sections (description, args list, examples). The description is front-loaded with the core purpose. Some redundancy exists (e.g., 'Args:' section repeats what's in the schema), but overall efficient for an 11-parameter tool.

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

    Completeness3/5

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

    Given the tool's complexity (11 parameters, no annotations) and the presence of an output schema, the description is partially complete. It excels at parameter documentation but lacks behavioral context and usage guidance. The output schema existence reduces the need to describe return values, but other gaps remain significant.

    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?

    The description provides excellent parameter semantics beyond the schema. It explains max_stops values (0=direct, 1=one stop, 2=two stops), provides format examples for dates and airport codes, clarifies defaults for multiple parameters, and includes example arguments. This fully compensates for the 0% schema description coverage.

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

    Purpose4/5

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

    The description clearly states the tool searches flights with a maximum stop constraint, distinguishing it from siblings like search_direct_flights or search_round_trip_flights. However, it doesn't explicitly differentiate from search_one_way_flights or search_flights_by_airline, which may also support stop limits.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like search_direct_flights or search_round_trip_flights. The description mentions max_stops parameter but doesn't provide context for choosing between this and sibling tools with similar functionality.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses that the tool calculates dates based on the current date and returns JSON, but lacks details on behavioral traits such as error handling, rate limits, or whether it's a read-only operation. It doesn't contradict annotations, but offers minimal behavioral context beyond the basic operation.

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

    Conciseness4/5

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

    The description is well-structured with clear sections for purpose, args, returns, and an example. It's appropriately sized and front-loaded, with the core purpose stated first. Minor improvements could include removing redundant phrasing, but overall it's efficient and earns its place.

    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?

    Given the tool's low complexity, 2 parameters, and the presence of an output schema (which handles return values), the description is mostly complete. It covers the purpose, parameters, and return format adequately. However, it lacks usage guidelines and some behavioral details, preventing a perfect score.

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

    Parameters4/5

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

    The description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'days_from_now' is the 'Number of days from today for departure' and 'trip_length' is the 'Length of trip in days,' including default values and an example. This compensates well for the low schema coverage, though it doesn't cover all possible edge cases.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Calculate suggested travel dates based on current date. Helpful for planning future trips.' It specifies the verb ('calculate') and resource ('suggested travel dates'), though it doesn't explicitly differentiate from sibling tools like date-range search tools, which is why it doesn't reach a 5.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It mentions it's 'helpful for planning future trips,' but doesn't specify scenarios, prerequisites, or exclusions compared to sibling tools like search_round_trip_flights or search_round_trips_in_date_range, which might overlap in functionality.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states basic functionality. It doesn't disclose important behavioral traits like rate limits, authentication requirements, error conditions, response format, or what happens with invalid parameters. The example args are helpful but don't cover behavioral aspects.

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

    Conciseness4/5

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

    The description is well-structured with a clear purpose statement followed by detailed parameter documentation and examples. While comprehensive, it's appropriately sized for a 13-parameter tool. Every sentence adds value, though the parameter section is lengthy but necessary given the complexity.

    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?

    Given the tool's complexity (13 parameters, no annotations) but with an output schema present, the description provides strong parameter semantics and clear purpose. It covers the core functionality well but lacks behavioral context about limitations, errors, or performance characteristics that would be helpful for 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?

    The description provides excellent parameter documentation with clear explanations, examples, defaults, and constraints for all 13 parameters. With 0% schema description coverage, the description fully compensates by explaining each parameter's purpose, format, and usage conditions beyond what the bare schema provides.

    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 tool searches for direct flights only (no stops) and supports both one-way and round-trip options. It distinguishes itself from siblings like search_flights_with_max_stops and search_one_way_flights by specifying the 'direct only' constraint and dual trip type support.

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

    Usage Guidelines3/5

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

    The description implies usage for direct flight searches but doesn't explicitly state when to use this tool versus alternatives like search_one_way_flights or search_round_trip_flights. It mentions 'direct flights only' which differentiates from tools allowing stops, but lacks clear guidance on trip type selection among siblings.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions the tool 'fetches available one-way flights' and can 'optionally return only the cheapest flight,' which covers basic behavior. However, it lacks details on rate limits, error handling, authentication needs, response format, or what happens with no results. For an 11-parameter tool with no annotations, this is a significant gap in behavioral disclosure.

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

    Conciseness4/5

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

    The description is appropriately sized and well-structured, with a clear opening sentence stating the purpose, followed by a detailed 'Args' section and example usage. Every sentence adds value, though the example section could be slightly more concise. It's front-loaded with the core functionality.

    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?

    Given the complexity (11 parameters, no annotations, but with an output schema), the description is mostly complete. It thoroughly documents parameters and provides usage examples. Since an output schema exists, the description doesn't need to explain return values. However, it could improve by adding more behavioral context, such as error handling or performance expectations.

    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?

    The description adds substantial meaning beyond the input schema, which has 0% schema description coverage. It provides clear explanations for all parameters listed in the 'Args' section (e.g., 'Origin airport code (e.g., "DEN")', 'Number of adult passengers (default: 1)'), including examples and default values. This fully compensates for the lack of schema descriptions, making parameters well-understood.

    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 specific action ('fetches available one-way flights') and resource ('for a specific date between two airports'), with the optional behavior of returning only the cheapest flight. It distinguishes from siblings by focusing on one-way flights specifically, unlike round-trip or multi-city tools in the sibling list.

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

    Usage Guidelines3/5

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

    The description implies usage context through the tool name and description, suggesting it should be used for one-way flight searches. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_round_trip_flights' or 'search_direct_flights' from the sibling list, nor does it mention any prerequisites or exclusions.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses that the tool generates URLs for browser use and handles natural language queries, which is useful behavioral context. However, it doesn't mention potential limitations like URL length constraints, error handling, or authentication needs, leaving gaps for a mutation-like tool (URL generation).

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

    Conciseness4/5

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

    The description is well-structured with clear sections (purpose, args, returns, examples) and uses bullet-like formatting for parameters. It's appropriately sized, though the example args could be integrated more seamlessly. Every sentence adds value, with no redundant information.

    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?

    Given the tool's moderate complexity (7 parameters, no annotations, but with output schema), the description is largely complete. It explains parameters thoroughly, states the return format (JSON with URL), and provides examples. The output schema handles return values, so the description doesn't need to detail them further. Minor gaps include lack of error case explanations.

    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?

    The schema description coverage is 0%, so the description must compensate fully. It provides detailed parameter semantics in the 'Args' section, explaining each parameter's purpose, format (e.g., airport codes, YYYY-MM-DD), defaults, and optionality. This adds significant value beyond the bare schema, making parameters clear and actionable.

    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 tool's purpose: 'Generate a Google Flights search URL that opens in the browser' and 'Creates search URLs using natural language queries.' It specifies the verb ('generate'), resource ('Google Flights search URL'), and distinguishes it from sibling tools that perform actual flight searches rather than URL generation.

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

    Usage Guidelines3/5

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

    The description implies usage context by mentioning 'natural language queries' and the browser opening, but it doesn't explicitly state when to use this tool versus the sibling flight search tools. No alternatives or exclusions are provided, leaving the agent to infer based on tool names.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It adds valuable context beyond basic functionality: the scraping reliability tip, default behaviors (max_stops=2, return_cheapest_only=False), and format examples. It doesn't mention rate limits, authentication needs, or error handling, but provides substantial operational guidance.

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

    Conciseness4/5

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

    The description is well-structured with purpose statement, tip, parameter explanations, and examples. Every sentence earns its place by adding value. It could be slightly more front-loaded by moving the examples to the end, but overall it's efficiently organized without wasted content.

    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?

    Given the complexity (12 parameters, 0% schema coverage) and presence of an output schema, the description provides substantial context. It thoroughly documents parameters and usage patterns. The main gap is lack of explicit guidance on when to choose this tool versus sibling alternatives, but otherwise it's quite complete for a search tool.

    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?

    With 0% schema description coverage, the description fully compensates by providing detailed parameter explanations. It clarifies the 'airlines' parameter's three possible formats (single code, array, alliance name), explains defaults for 5 parameters, provides format requirements (YYYY-MM-DD), and gives concrete examples. This adds significant meaning beyond the bare 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 tool's purpose as 'Search flights filtered by specific airlines or alliances,' which is a specific verb+resource combination. It distinguishes itself from siblings like 'search_direct_flights' or 'search_round_trip_flights' by emphasizing airline/alliance filtering as the primary differentiator.

    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 provides clear context for usage through the tip about max_stops=2 for reliable round-trip scraping and the examples showing different airline filtering scenarios. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_direct_flights' or 'search_round_trip_flights' from the sibling list.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It does an excellent job explaining key behavioral traits: it warns that 'multi-city flight scraping is not fully supported,' explains what happens when parsing fails (returns a direct link), and describes the reliability issues. It doesn't cover all possible behavioral aspects like rate limits or authentication needs, but for a tool with no annotations, this provides substantial behavioral context.

    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 perfectly structured and concise. It starts with the core purpose, immediately provides critical warnings and recommendations, then details parameters with clear examples. Every sentence serves a purpose - there's no fluff or repetition. The use of emojis and clear sectioning makes it easy to parse while maintaining professional clarity.

    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?

    Given the tool's complexity (6 parameters, no annotations, but has output schema), the description does an excellent job covering the most important aspects. It explains the tool's purpose, when to avoid it, key behavioral limitations, and parameter usage. The presence of an output schema means it doesn't need to explain return values. The main gap is not covering all parameters, but for a complex tool with no annotations, this is quite comprehensive.

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

    Parameters4/5

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

    With 0% schema description coverage, the description must compensate. It provides detailed explanations for 4 of the 6 parameters (flight_segments, adults, seat_type, return_cheapest_only), including examples and default values. It doesn't cover max_results or compact_mode, but the coverage of the most complex parameter (flight_segments) with a JSON example adds significant value beyond what the bare schema provides.

    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 tool's purpose: 'Fetches multi-city/multi-stop itineraries for complex trip planning.' It specifies both the action ('fetches') and the resource ('multi-city/multi-stop itineraries'), and the mention of 'complex trip planning' distinguishes it from simpler flight search tools. This is specific and immediately tells the agent what this tool does differently from its siblings.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance on when NOT to use this tool and recommends an alternative approach. It states: 'Instead of using this function, consider using the get_one_way_flights() function multiple times... This approach is more reliable.' This gives the agent clear direction about when to avoid this tool and what to use instead, which is exactly what usage guidelines should provide.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full burden and does well by disclosing important behavioral traits: it mentions scraping reliability implications of max_stops values, explains the return_cheapest_only option, and provides practical usage tips. However, it doesn't cover rate limits, authentication needs, or error conditions that would be valuable for a flight search tool.

    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 efficiently structured with purpose statement upfront, usage tip, parameter explanations, and examples. Every sentence adds value with no redundancy. The bullet-point style for parameters and clear sectioning makes it easy to parse while maintaining comprehensive coverage.

    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 complex 13-parameter tool with no annotations but with an output schema, the description provides excellent coverage of inputs, usage context, and sibling tool relationships. It explains all parameters thoroughly and gives practical guidance. The presence of an output schema reduces the need to describe return values, making this nearly complete for agent usage.

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

    Parameters4/5

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

    Given 0% schema description coverage, the description compensates well by explaining all 13 parameters with clear semantics, examples, and defaults. It adds meaningful context beyond schema titles, such as age ranges for children/infants, fare class options for seat_type, and reliability implications for max_stops. The example args provide concrete usage patterns.

    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 tool's purpose with specific verbs ('fetches available round-trip flights') and distinguishes it from sibling tools by mentioning 'search_direct_flights()' as an alternative for direct flights. It explicitly identifies the resource (flights) and scope (round-trip with specific dates).

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

    Usage Guidelines5/5

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

    The description provides explicit guidance on when to use this tool versus alternatives, stating 'For direct flights only, use search_direct_flights() with is_round_trip=True instead.' It also offers a tip about max_stops defaults and reliability implications, giving clear context for decision-making.

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

  • Behavior5/5

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

    With no annotations provided, the description carries full burden and excels by disclosing critical behavioral traits: rate limits (30 request maximum), scraping methodology (Google Flights), request calculation logic, rejection conditions for excessive ranges, and performance optimization tips. This goes far beyond basic functionality.

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

    Conciseness4/5

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

    Well-structured with clear sections (purpose, warnings, tips, args, examples) but could be more front-loaded. The rate limit warning with detailed examples is valuable but somewhat lengthy. Every sentence earns its place by adding practical guidance.

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

    Completeness5/5

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

    For a complex 13-parameter tool with no annotations, the description provides exceptional completeness: purpose, behavioral constraints, parameter semantics, usage examples, and optimization strategies. The presence of an output schema means return values don't need explanation here.

    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?

    Despite 0% schema description coverage, the description provides comprehensive parameter documentation with examples, format specifications (YYYY-MM-DD), default values, and practical explanations of how parameters interact (e.g., min_stay_days reducing combinations). The example args demonstrate real usage patterns.

    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 specific action ('Finds available round-trip flights') and resource ('within a specified date range'), distinguishing it from siblings like 'search_one_way_flights' and 'search_direct_flights' by focusing on round-trips with date range filtering.

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

    Usage Guidelines5/5

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

    Explicit guidance is provided on when to use this tool vs. alternatives through the rate limit warnings and practical examples showing safe vs. rejected scenarios. The tip about using min_stay_days/max_stay_days and return_cheapest_only provides clear optimization strategies.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

google-flights-mcp MCP server

Copy to your README.md:

Score Badge

google-flights-mcp MCP server

Copy to your README.md:

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/HaroldLeo/google-flights-mcp'

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