Skip to main content
Glama

Find Reservation

lookup_booking
Read-only

Look up a reservation by verifying the guest's identity. Returns the confirmation number and booking summary in conversation.

Requires the guest's full name plus either the hotel confirmation number, or the booking email together with the last 4 digits of the card used to book. An email address alone is not enough. An optional check-in date can narrow repeat stays.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoEmail address used when booking
last_nameYesGuest last name on the reservation
first_nameYesGuest first name on the reservation
check_in_dateNoOptional check-in date (YYYY-MM-DD) to narrow repeat stays
last_four_cardNoLast 4 digits of the card used to book
confirmation_numberNoHotel confirmation number

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hotelNo
statusYes
check_inNo
check_outNo
guest_nameNo
action_handoffYes
booking_statusNo
available_actionsNo
verification_tokenYes
confirmation_numberYes
verification_token_noteNo
confirmation_number_statusNo
verification_token_expires_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / check_in_date / description
      Previous value: -"Check-in date (YYYY-MM-DD) — required with last_four_card"New value: +"Optional check-in date (YYYY-MM-DD) to narrow repeat stays"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / properties / confirmation_number / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / confirmation_number / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
  2. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / properties / confirmation_number / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / confirmation_number / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / properties / confirmation_number / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / confirmation_number / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
  4. Changed3 schema fields changed
    • changedOutput schema / properties / confirmation_number / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / confirmation_number_status
      Added value: +{
      +  "enum": [
      +    "available",
      +    "pending"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "confirmation_number",
      -  "verification_token",
      -  "verification_token_expires_at",
      -  "action_handoff",
      -  "available_actions"
      -]New value: +[
      +  "status",
      +  "confirmation_number",
      +  "verification_token",
      +  "verification_token_expires_at",
      +  "action_handoff"
      +]
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "action_handoff": {
      +      "type": "string"
      +    },
      +    "available_actions": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "preview_cancellation": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "arguments": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "confirmation_number": {
      +                  "type": "string"
      +                },
      +                "first_name": {
      +                  "type": "string"
      +                },
      +                "last_name": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "confirmation_number"
      +              ],
      +              "type": "object"
      +            },
      +            "instruction": {
      +              "type": "string"
      +            },
      +            "tool": {
      +              "const": "cancel_booking",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "tool",
      +            "arguments",
      +            "instruction"
      +          ],
      +          "type": "object"
      +        },
      +        "resend_confirmation": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "arguments": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "confirmation_number": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "confirmation_number"
      +              ],
      +              "type": "object"
      +            },
      +            "instruction": {
      +              "type": "string"
      +            },
      +            "tool": {
      +              "const": "resend_confirmation",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "tool",
      +            "arguments",
      +            "instruction"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "resend_confirmation",
      +        "preview_cancellation"
      +      ],
      +      "type": "object"
      +    },
      +    "booking_status": {
      +      "type": "string"
      +    },
      +    "check_in": {
      +      "type": "string"
      +    },
      +    "check_out": {
      +      "type": "string"
      +    },
      +    "confirmation_number": {
      +      "type": "string"
      +    },
      +    "guest_name": {
      +      "type": "string"
      +    },
      +    "hotel": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "verification_token": {
      +      "type": "string"
      +    },
      +    "verification_token_expires_at": {
      +      "type": "string"
      +    },
      +    "verification_token_note": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "confirmation_number",
      +    "verification_token",
      +    "verification_token_expires_at",
      +    "action_handoff",
      +    "available_actions"
      +  ],
      +  "type": "object"
      +}
  6. Added
  7. Removed
  8. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: it verifies identity, requires specific combinations of information, and returns results 'in conversation.' It does not detail failure behavior or privacy handling, but the annotations plus description are strong.

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, front-loaded with the main purpose, and every sentence adds necessary information. It avoids redundancy with the schema and annotations, and the structure flows from purpose to requirements to optional narrowing.

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 moderate complexity (6 params, 2 required), the description fully covers what an agent needs: required identity verification, acceptable parameter combinations, and the optional narrowing field. The output schema exists, so return values need not be described. No critical gaps remain.

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 the baseline is 3. The description adds value by explaining the logical relationship between parameters (e.g., email alone is insufficient, last_four_card must accompany email, confirmation_number is an alternative). This goes beyond the schema's individual field 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 states a specific verb ('look up'), a resource ('reservation'), and the key outcome (returns confirmation number and booking summary). It also distinguishes itself from siblings like get_booking by emphasizing identity verification, which is a unique aspect of this tool.

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 explicitly states what is required (full name plus either confirmation number, or email with last 4 digits), what is not enough (email alone), and what is optional (check-in date). This gives clear when-to-use guidance and prevents misuse.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.