Skip to main content
Glama
chrischall

opentable-mcp

by chrischall

opentable_get_profile

Read-only

Retrieve the authenticated OpenTable user's profile data, including name, email, phones, loyalty points, tier, home metro, and membership date, without exposing payment details.

Instructions

Get the authenticated OpenTable user's profile: name, email, phones, loyalty points and tier, home metro, member-since date. Payment and credit-card details are never exposed.

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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.19.2
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • 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"
      +}
  2. First observedv0.14.3

TDQS

A4.2/5.0
Behavior4/5

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

With readOnlyHint already true, the description still adds value by explicitly stating that payment and credit-card details are never exposed, and by revealing that the tool operates on the authenticated user's data. It also names the returned field categories, supplying more than the annotation alone. No behavior contradicts the annotation.

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 no waste: the first lists the resource and returned fields, the second covers an important guarantee in the front-loaded core. It is compact, structured, and enough for an agent to parse quickly.

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 read-only profile endpoint with one optional fully-specified parameter, the description together with the schema and annotations is sufficient: it gives the resource, lists the returned content, and notes the privacy boundary. Omitting field-level types or output formatting is not a significant gap because no output schema is required.

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%, and the schema's own text fully explains the 'view' parameter (compact vs. full, default behavior, what compact strips). The tool description does not mention the parameter, so it adds no semantic information beyond the schema. 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 uses a specific verb and resource ('Get the authenticated OpenTable user's profile') and enumerates exactly what data is included (name, email, phones, loyalty points and tier, home metro, member-since date). It is easy to distinguish from sibling tools like opentable_list_reservations or opentable_search_restaurants, which target different resources.

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 purpose clearly implies when to use the tool—when the caller needs the authenticated user's profile rather than reservations, favorites, or booking operations. It does not name an alternative or present explicit when-not conditions, but the 'never exposed' note about payment details does carve out an expectation boundary. The context is clear even though it lacks direct sibling routing.

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