Skip to main content
Glama

request_reservation

Request a table at a restaurant. THE RESTAURANT IS NOT NOTIFIED YET: the request is held and a confirmation email is sent to the address you provide, and only when that person clicks the link does the restaurant receive it. Tell the user to check their inbox — the link expires in 24 hours. Use a real address belonging to the person you are acting for; the confirmation link is deliberately not returned to you. This is a request, not a confirmed booking: the restaurant confirms out of band.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName the table is under.
emailYesThe guest's own email — the confirmation link is sent here.
phoneNoOptional phone number for the restaurant to reach the guest.
messageNoOptional note (occasion, dietary needs, seating preference).
partySizeYesNumber of people (1–30).
place_slugYesRestaurant place slug from search_places.
requestedAtYesDesired date and time as an ISO instant. Must be in the future.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses key behaviors: the restaurant is NOT notified yet, the request is held, a confirmation email is sent, the link expires in 24 hours, the link is deliberately not returned to the agent, and confirmation happens out of band. This goes well beyond minimal expectations.

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 appropriately sized for the tool's complexity. It is front-loaded with the core action, and every subsequent sentence adds critical operational detail (notification delay, email expiration, non-return of link). No word is wasted.

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 7 parameters, no annotations, and no output schema, the description fully covers the tool's workflow, side effects, and critical caveats. It explains the multi-step confirmation process and sets user expectations about what happens after the request, making it sufficiently complete for an agent to invoke correctly.

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 parameters are already well documented. The description adds meaningful semantic guidance beyond the schema, particularly for the email parameter: 'Use a real address belonging to the person you are acting for' and clarifies that the link is sent there. It also reinforces that requestedAt must be in the future, adding context to the workflow.

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 opens with a specific verb and resource: 'Request a table at a restaurant.' It also differentiates from siblings like create_booking by explicitly stating this is a request, not a confirmed booking, and that the restaurant confirms out of band.

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 gives clear context: it explains the request flow (held until confirmation email link is clicked) and contrasts with a confirmed booking. It also instructs the user to use a real address belonging to the person they act for. However, it does not explicitly name alternative tools for confirmed bookings, though the differentiation is implicit.

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.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: booking services, restaurant reservations, event tickets, and RSVPs are all clearly separated by domain and described with explicit use cases. Similarly, search_places, search_dishes, and get_restaurant_menus cover different granularities of place/menu lookup. The descriptions include guidance on when to use each tool, eliminating ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_*, get_*, create_*, search_*). While a few verbs like 'request' and 'rsvp' differ, they accurately reflect the action's semantics and do not break the overall consistency. The naming makes the tool's purpose predictable from its name.

Tool Count4/5

At 28 tools, this is a large set, but it serves a broad multi-domain directory (places, events, movies, store, bookings, content, etc.). Each tool covers a distinct feature or resource, and there are no redundant tools. The count is at the upper boundary but appropriate for the server's comprehensive scope.

Completeness5/5

The tool surface covers the full lifecycle for the directory's main domains: search/discover places, view details, menus, reviews, book services, reserve/RSVP events, browse movies/showtimes, list products, access content (blog, guides, FAQs), submit forms, and check loyalty. There are no obvious dead ends or missing operations for the stated purpose. The inclusion of pairing tools like list_forms→submit_form and get_availability→create_booking shows deliberate workflow completeness.

Resources