Skip to main content
Glama
chrischall

tock-mcp

by chrischall

tock_verify_reservation

Read-only

Verify that a Tock booking actually exists after a booking attempt by re-querying the account's reservation lists and returning an explicit verdict: confirmed, cancelled, not_found, or ambiguous.

Instructions

Verify that a Tock reservation actually exists, by re-querying the account's own reservation lists (upcoming, canceled and past) and returning an explicit verdict. Use this after ANY booking attempt — a success screen or screenshot is not proof that a booking landed. Returns verdict confirmed, cancelled (it existed and was voided), not_found, or ambiguous (the venue string matched more than one restaurant on that date — re-run with the exact slug). A not_found must be reported to the user as "attempted, unverified", never as a failure to book and never as a success. Requires a browser tab signed in to exploretock.com via the ContextMint Bridge extension.

Input Schema

NameRequiredDescriptionDefault
dateYesThe local date the reservation is for (YYYY-MM-DD).
venueYesRestaurant name or Tock slug. An exact (case/accent-insensitive) name or slug match wins; otherwise a substring of 4+ characters. A shorter query that only partially matches returns not_found with venueQueryTooShort and nearMatches — re-run with the full name. Prefer the exact slug.
partySizeNoIf given, a candidate must also match this party size.
bookedMinutesAgoNoMinutes since the booking was attempted. Drives the lag caveat: an absence seen within a few minutes of booking is inconclusive, not proof. Omit if unknown (treated as inconclusive).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.9
    • changedInput schema / properties / venue / description
      Previous value: -"Restaurant name or Tock slug; matched case-insensitively as a substring."New value: +"Restaurant name or Tock slug. An exact (case/accent-insensitive) name or slug match wins; otherwise a substring of 4+ characters. A shorter query that only partially matches returns not_found with venueQueryTooShort and nearMatches — re-run with the full name. Prefer the exact slug."
  2. 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"
  3. Addedv0.3.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations cover read-only and open-world, so the safety profile is already given. The description adds real behavioral context the annotations can't: the four possible verdict values, the meaning of 'ambiguous', the lag caveat, and the external dependency (a signed-in browser tab via the ContextMint Bridge extension). It does not describe pagination or performance, and the 'ambiguous' re-run path is only partially explained, keeping it short of a 5.

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?

Front-loaded purpose in the first sentence, then verdict semantics, then the reporting rule and auth prerequisite. Every sentence carries distinct, non-redundant information; no padding.

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?

For a verification tool with no output schema, the description fully explains the return vocabulary, the inconclusive cases, the required auth context, and how to report each outcome. Nothing an agent needs to call and interpret it correctly is missing.

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%, so the schema already documents all four parameters, including venue matching semantics and the bookedMinutesAgo lag caveat. The description restates the ambiguous/re-run idea but adds no syntax or format detail 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?

States a specific verb+resource (verify a Tock reservation exists) with scope (re-queries the account's own lists: upcoming, canceled, past) and an explicit output (a verdict). No sibling tool does verification; tock_list_reservations only lists, so the distinction is clear.

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 says when to use it ('after ANY booking attempt') and when not to trust alternatives ('a success screen or screenshot is not proof'). Also gives the handling rule for not_found. This is about as complete as usage guidance gets.

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