Skip to main content
Glama

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.2.1

  • Disambiguation5/5

    Every tool has a clearly distinct purpose: search, filter, sort, check availability, get prices, get property details, book (with caveat), cancel, get reservations, save property, login/logout/status. No two tools overlap in functionality; each targets a specific action or resource.

    Naming Consistency4/5

    Tools consistently use the 'booking_' prefix followed by a verb_noun pattern (e.g., booking_cancel_reservation, booking_get_prices). Minor inconsistency: 'booking_status' uses a noun alone (no verb), which deviates from the predominant verb-first pattern.

    Tool Count5/5

    With 15 tools covering search, filtering, pricing, property details, reservations, authentication, and wishlist management, the count is well-scoped for a booking service. Each tool has a clear role, neither too few nor too many for the domain.

    Completeness3/5

    The tool set covers most of the booking lifecycle but has a notable gap: 'booking_book' explicitly does not complete a booking (only provides a link for manual finishing). This means the primary action is missing from automation. Otherwise, CRUD-like operations (search, get, cancel, save) are present.

  • Average 4/5 across 15 of 15 tools scored. Lowest: 3.2/5.

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

    • 1 of 1 community issues answered or closed in the last 6 months
    • 3 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.

  • Tools from this server were used 4 times in the last 30 days.

  • 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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses that the tool returns pricing details and the lowest price, but does not mention idempotency, rate limits, authentication requirements, or any side effects. For a read operation, this is minimally adequate but lacks depth.

    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 concise, consisting of two sentences that cover the core functionality. However, it could be structured more effectively (e.g., bullet points or a clear distinction between input and output).

    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 absence of an output schema, the description explains return values (room options, pricing details, lowest price). However, it lacks context about how to obtain the required 'propertyUrl', any prerequisites, or potential caveats like price volatility. It is functional but not fully comprehensive.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline score is 3. The description does not add significant extra meaning beyond what the schema already provides for each parameter; it essentially restates the purpose without elaborating on format, constraints, or relationships.

    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 action ('Get current prices'), the resource ('a property'), and the constraints ('for specific dates'). It also specifies the return type ('room options with pricing details and lowest available price'). However, it does not explicitly differentiate from sibling tools like 'booking_check_availability', which might serve a similar purpose.

    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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., requiring a propertyUrl from search results) or scenarios where this tool should not be used.

    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 must carry the full burden. It fails to disclose any behavioral traits such as rate limits, authentication needs, or side effects. For a read operation, this is a notable gap.

    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 a single, well-formed sentence with no extraneous information. It is appropriately front-loaded and efficient.

    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?

    The description mentions included return fields (scores, comments, reviewer details) but lacks details on pagination, response format, or limit behavior. Given no output schema, more context would be helpful.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the input schema already documents both parameters. The description adds no extra meaning for parameters, but does indicate the return content (scores, comments, details). Baseline 3 is appropriate.

    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 retrieves guest reviews and lists included data: scores, comments, and reviewer details. It is specific and distinguishable from siblings like booking_get_property or booking_search.

    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 does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites. However, the context of sibling tools makes the use case obvious (reviews vs. other operations).

    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?

    Given no annotations, the description carries full burden. It explains price fields ambiguity (pricePerNight vs totalPrice), priceIsTotal flag, currency detection, and server-side filtering. However, it misses details on pagination, error handling, and rate limits.

    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 front-loaded with the primary purpose and well-structured with a dedicated 'PRICE FIELDS' section. While somewhat lengthy, each sentence contributes meaning, making it efficient.

    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?

    With 10 parameters and no output schema, the description covers search, filtering, flexibility, and price nuances. However, it lacks details about pagination, default sorting, or whether only available properties are returned, leaving some gaps.

    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?

    Schema description coverage is 100%, so baseline is 3. The description adds value by explaining price field relationships, flex_window behavior, and rawNflt usage, which go beyond the schema descriptions.

    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: 'Search for hotels and properties on Booking.com' and lists what it returns. It distinguishes from siblings by focusing on the initial search with filtering, but does not explicitly compare to related tools like booking_check_availability or booking_get_prices.

    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 does not provide guidance on when to use this tool versus alternatives like booking_check_availability or booking_filter_results. It implies usage for general search but lacks explicit when-not or alternative recommendations.

    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 present, so description bears full burden. It states the tool returns available room types and options but does not disclose whether it is read-only, effects on system, authentication needs, or rate limits.

    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?

    Two concise sentences with no wasted words. Front-loaded with verb and resource, then outcome.

    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 moderate complexity (5 params, no output schema, no annotations), the description covers purpose and outcome. Minor omissions: lacks detail on response format or prerequisites like having propertyId from search.

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

    Parameters3/5

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

    Schema covers 100% of parameters with descriptions. The description reiterates 'specific property and date range' but adds no new meaning beyond the schema, e.g., clarifying propertyUrl can be URL or ID.

    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 verb 'check', the resource 'room availability', and the scope 'for a specific property and date range'. It distinguishes from siblings like booking_book (booking) and booking_get_prices (pricing) by focusing on availability.

    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 checking availability before booking but does not explicitly state when to use it vs alternatives like booking_get_prices or booking_book. No exclusions or conditions mentioned.

    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, the description carries full burden. It only mentions a login requirement, but does not disclose other behavioral traits such as read-only nature, potential errors, or pagination.

    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 a single, direct sentence with no extraneous words, achieving high conciseness.

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

    Completeness2/5

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

    Despite simple tool nature, the description omits details about return format or content of reservations, which is important for an agent to understand the output without an output schema.

    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?

    Input schema has zero parameters, so description does not need to elaborate. Baseline score of 4 applies as schema coverage is 100%.

    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 retrieves all current and upcoming reservations, which distinguishes it from sibling tools like booking_cancel_reservation and booking_book.

    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 includes a prerequisite ('Requires being logged in') but does not provide guidance on when to use this tool versus alternatives or when not to use it.

    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, the description carries full burden for behavioral disclosure. It only states sorting action and options, but omits whether results are returned or modified, side effects, or any permissions needed. This is insufficient for full transparency.

    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 a single sentence plus a list of options, front-loaded with the core action. Every word is necessary; no filler or repetition. Ideal conciseness for the task.

    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 simple sort tool with one parameter and no output schema, the description adequately covers purpose and options. It could mention return value or state change, but given low complexity, it is mostly complete.

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

    Parameters3/5

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

    Schema coverage is 100% with detailed enum descriptions, so baseline is 3. The tool description merely lists the options without adding extra meaning beyond the schema. No additional semantic value is provided.

    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 action (sort) and resource (most recent booking_search results), which distinguishes it from sibling tools like booking_filter_results that filter but do not sort. The specific verb 'sort' and resource identification leave no ambiguity.

    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 after booking_search, but provides no explicit guidance on prerequisites, when not to use, or alternatives. For example, it doesn't clarify that it only works on the last search or that it does not filter. Thus, guidance is adequate but incomplete.

    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. The verb 'Check' implies a read-only operation, but the description does not explicitly state it has no side effects or what 'session info' entails. More detail would help, especially without annotations.

    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?

    Two sentences, zero waste. The first sentence states the action, the second gives usage guidance. Efficiently front-loaded.

    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?

    For a simple status check with no parameters and no output schema, the description is adequate. However, it could elaborate on what 'session info' includes or the expected response format to be fully complete.

    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?

    There are no parameters, and the schema coverage is 100%. The description adds no parameter info (unnecessary), but explains the tool's purpose, which is sufficient for a parameterless tool.

    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 checks login status and session info. However, the sibling list includes 'booking_login_status', which likely has an overlapping purpose, and the description does not clarify the distinction.

    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 advises using this tool to verify authentication before other actions, which is helpful. But it does not mention when not to use it (e.g., if already known) or provide alternatives like 'booking_login_status'.

    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 bears full responsibility. It only mentions the login requirement but does not disclose other behaviors (e.g., idempotency, what happens if already saved, side effects, or response format).

    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 a single sentence with no extraneous words. It is front-loaded and efficiently conveys the core purpose and a key prerequisite.

    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 simplicity (1 parameter, no output schema), the description is minimally adequate. It states purpose and a condition but lacks details on return values or verification of success. Could be improved by noting what the tool returns or confirms.

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

    Parameters3/5

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

    Schema coverage is 100% and the schema already describes the parameter ('Full property URL or propertyId from search results'). The description does not add additional meaning beyond what the schema provides, so baseline score applies.

    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 ('Save') and the target resource ('property to your Booking.com wishlist/favorites'). This distinguishes it from siblings like 'booking_book' (books) and 'booking_get_property' (retrieves info).

    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?

    Specifies a necessary condition ('Requires being logged in'), which aids in tool selection. However, it lacks explicit guidance on when not to use this tool or alternatives like 'booking_book' or 'booking_get_property'.

    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?

    No annotations are provided, so the description carries full burden. It explains the behavior of facility fields (true when present, null when not mentioned) and the tri-state nature of petsAllowed (true/false/null). It also mentions raw pet-policy text, adding clarity beyond basic get operation.

    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 a single, dense paragraph that efficiently conveys all necessary information. It starts with the purpose and then details output fields without waste. Every sentence adds value.

    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?

    With no output schema, the description provides comprehensive details on return values: amenities, description, photos, raw policies, and facilitySummary. It explains field behavior and special cases (petsAllowed). The tool has only one parameter, so completeness is high.

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

    Parameters3/5

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

    Schema coverage is 100% with one parameter (propertyUrl). The description does not add additional semantic information beyond what the schema provides (URL or ID). Baseline 3 is appropriate.

    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 retrieves detailed property information, listing specific features (amenities, description, photos, policies, facilitySummary). It distinguishes from sibling tools like booking_book or booking_search that serve different purposes.

    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 does not provide explicit guidance on when to use this tool versus alternatives (e.g., when to use booking_get_prices or booking_get_reviews instead). It is implied that one uses it for property details, but no when-not-to or comparisons are given.

    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. It discloses key behaviors: visible browser, non-blocking return, background sign-in, user interaction, and post-call requirement. It also notes environment prerequisites. Could mention failure handling, but overall well-covered.

    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?

    Three sentences efficiently cover purpose, behavior, and post-conditions without waste. Information is front-loaded, and every sentence adds distinct value.

    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 interactive nature and single parameter, the description covers core behavior, environment requirements, and subsequent step. Slightly lacking in failure modes, but adequate for the complexity.

    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 single parameter 'timeoutSeconds' is fully described with default (600), range (max 1800), and use case guidance (increase for slow SMS codes). Schema coverage is 100%, and the description adds meaningful context beyond the 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 uses specific verbs ('start', 'opens', 'returns') and clearly states the tool initiates an interactive Booking.com login. It distinguishes itself from sibling tools, notably mentioning 'booking_login_status' as the follow-up call.

    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 explains when to use the tool (to start login), that it runs non-blocking, and directs the agent to call booking_login_status after user completes sign-in. It also specifies requirements (Chrome, desktop display) and timeout tuning. No explicit 'when not to use' guidance, but the context is clear.

    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, the description fully discloses behavioral traits: the multi-step wizard cannot be automated, the tool never places a booking, and the two modes (returning bookingUrl or best-effort checkoutUrl).

    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 slightly long but well-structured: first purpose, then limitation, then mode details. Every sentence adds value, though could be trimmed.

    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 no annotations and no output schema, the description adequately explains the return value and behavior. It covers the essential aspects for correct 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?

    Schema coverage is 100%, but the description adds value by explaining propertyUrl can be a URL or propertyId, and advanceToCheckout behavior is clarified beyond the 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 it gets a 'continue in your browser' link to book a room and explicitly says it NEVER places a booking, distinguishing it from siblings like booking_check_availability or booking_cancel_reservation.

    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?

    It explains when to use the tool (to obtain a URL for manual booking) and details the advanceToCheckout option. It lacks explicit exclusion of other scenarios but the context is clear.

    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. It discloses the behavioral trait of clearing session and cookies, which is a destructive action on authentication state. It does not detail reversibility or side effects on other states, but the core behavior is effectively communicated.

    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 consists of two concise sentences with no extraneous information. The first sentence states the action, and the second specifies when to use it, making it efficient and well-structured.

    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?

    Given the tool's simplicity (no parameters, no output schema), the description fully covers purpose and usage. It is complete for an agent to understand the tool's function and when to invoke it.

    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 tool has zero parameters, so the description does not need to provide parameter info. The baseline score of 4 is appropriate as per guidelines for tools with no parameters.

    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 clears Booking.com session and cookies, explicitly naming the resource (session/cookies) and action (clear). It distinguishes from siblings like booking_login and booking_login_status, which handle authentication establishment and status inquiry.

    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: 'Use this to log out or reset authentication state.' It specifies when to use the tool but does not explicitly state when not to use it or mention alternatives. However, the sibling tools context makes the use case unambiguous.

    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?

    No annotations provided, so description carries full burden. It discloses irreversible cancellation with confirm=true, the multi-step flow, and that without confirm=true it returns a warning and never opens a browser. No contradictions.

    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?

    Two sentences with zero waste. The critical purpose is front-loaded, followed by essential usage notes. Every sentence 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 no output schema, description adequately covers behavior for both confirm states and the multi-step flow. It does not detail post-cancellation results (e.g., refund), but main requirements are met.

    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?

    Schema coverage is 100%, baseline 3. Description adds context: explains confirm's irreversible effect and reservationId format (including multi-booking trips and URL acceptance), which adds value beyond 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 cancels an existing reservation, using specific verb 'cancel' and resource 'reservation'. It distinguishes from siblings like booking_book (make reservation) and booking_get_reservations (retrieve reservations).

    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 guidance: use confirm=true only with explicit user confirmation; without confirm, it's a no-op warning. It explains the multi-step flow, but does not explicitly compare with alternatives like modifications.

    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?

    No annotations are provided, so the description carries the behavioral disclosure burden. It clarifies the tool is client-side filtering (operating on in-memory results), which is non-destructive. It does not mention edge cases like empty results, but the behavior is straightforward for a filter.

    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?

    Two sentences, no wasted words. The first sentence lists all filter options, and the second provides important guidance on alternative tool usage. Information is front-loaded and easy to parse.

    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 has 7 parameters with 100% schema coverage and no output schema, the description is largely complete. It explains the client-side nature and return type ('filtered subset'). It could mention that results are limited to the most recent search, but that is already stated.

    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?

    Schema coverage is 100%, so baseline 3. The description adds meaning by grouping filter types (price, review score, star rating, etc.) and clarifying the keyword filter applies to name/location. This adds context beyond the schema's brief descriptions.

    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 it is a client-side filter over recent booking_search results, listing specific filter criteria (price, review score, star rating, free cancellation, breakfast, keyword). It distinguishes from sibling tools by noting that facility filtering is done server-side via booking_search.

    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?

    Explicitly states when to use this tool (client-side filtering after search) and when not (for amenities, use booking_search with the amenities argument). Provides a clear alternative, helping the agent decide correctly.

    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, the description fully discloses behavior: it returns status strings, what each means, and the polling pattern. No side effects are implied, and it accurately reflects a read-only check.

    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?

    Two sentences, no wasted words, front-loaded with purpose, and efficiently conveys all necessary information.

    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?

    Given no output schema and no parameters, the description fully covers the status values and usage pattern, leaving no gaps.

    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?

    No parameters exist, so the description adds meaning by explaining the return values and usage, exceeding the empty 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 it checks the progress of an interactive login started with booking_login. It enumerates all possible statuses, distinguishing this tool from siblings like booking_login and booking_logout.

    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?

    Explicitly instructs to poll after calling booking_login until status is no longer 'in_progress', providing clear when-to-use guidance. The sibling context further reinforces its specific role.

    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

mcp-booking MCP server

Copy to your README.md:

Score Badge

mcp-booking 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/markswendsen-code/mcp-booking'

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