Skip to main content
Glama
chrischall

opentable-mcp

by chrischall

opentable_list_reservations

Read-only

List your OpenTable reservations and retrieve cancel/modify security tokens. Defaults to upcoming; adjust scope to see past or all bookings.

Instructions

List the authenticated user's OpenTable reservations. Defaults to upcoming; pass scope="past" or scope="all" to broaden. Each entry includes the security_token needed to cancel or modify.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full" returns OpenTable's payload untouched. No field projection: this server has no verified record of which OpenTable fields matter, and inventing one would risk dropping a field a caller needs.
scopeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changedv0.19.2
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "Response shape: \"compact\" (default) drops fields the response already carries elsewhere; \"full\" returns every field this server understands. compact strips image/avatar URLs from the response; \"full\" returns OpenTable's payload untouched. No field projection: this server has no verified record of which OpenTable fields matter, and inventing one would risk dropping a field a caller needs.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  3. First observedv0.14.3

TDQS

A4.4/5.0
Behavior4/5

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

The readOnlyHint annotation already declares safety, so the bar is lower; the description adds meaningful behavior beyond that: it operates on the authenticated user's reservations, defaults to upcoming, and each entry includes the security_token needed for downstream cancel/modify operations. It does not cover pagination or error behavior, but it goes well beyond what annotations alone provide.

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 short, purposeful sentences. The first states the core action, the second gives the key invocation option, and the third explains the security_token relevance. No filler or repetition.

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 list operation with two optional enum parameters and a readOnly annotation, the description plus schema covers what an agent needs to invoke it correctly. The absence of an output schema is partially addressed by noting that entries include security_token and by the view parameter's response-shape explanation, though pagination, ordering, and full return-structure details are not described.

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?

Only the view parameter is documented in the schema (50% coverage), but the description compensates by explaining scope: its default and the 'past'/'all' broadening options. The view parameter carries a thorough schema description, so together the two parameters are effectively well explained.

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: 'List the authenticated user's OpenTable reservations.' This clearly distinguishes the tool from siblings like opentable_search_restaurants, opentable_list_favorites, and opentable_book by focusing on the user's own reservation records.

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 for when to call it: to see the authenticated user's reservations, with an explicit default of upcoming and instructions to pass scope="past" or scope="all" to broaden. It does not explicitly name when-not-to-use alternatives, but the purpose is specific enough that no sibling tool is a realistic substitute.

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