Skip to main content
Glama
chrischall

tock-mcp

by chrischall

tock-mcp

MCP server for Tock (exploretock.com) — restaurant discovery and availability for Claude. List cities, search a metro, and get a venue's details plus its bookable experiences, prices, party sizes, and open dates/times.

Every request is relayed through your own signed-in browser tab via the fetchproxy extension — no cookie paste, no bot-wall dance, no password handling. This project was developed and is maintained by AI (Claude Code).

Tock publishes no official consumer API, and exploretock.com sits behind a Cloudflare challenge. tock-mcp fetches the same server-rendered pages the Tock web app uses (parsing their embedded window.$REDUX_STATE store) through your signed-in tab. It is read-only — Tock reservations are prepaid tickets, so booking stays on exploretock.com. Use at your own discretion.

Install

// .mcp.json
{
  "mcpServers": {
    "tock": { "command": "npx", "args": ["-y", "tock-mcp"] }
  }
}

You also need the fetchproxy browser extension (shared across the fleet) running in a Chrome/Safari tab. The first tool call prints a one-time pair code to approve in the extension popup — run tock_healthcheck to trigger it. Discovery works signed-out; the account tools need you signed in to exploretock.com.

Related MCP server: Restaurant Reservation MCP Server

Tools

  • tock_list_metros — Tock cities/metros with business counts; filter by name/country.

  • tock_search_restaurants — venues in a metro slug (cuisine, price, neighborhood, slug).

  • tock_get_restaurant — venue details + its bookable experiences.

  • tock_get_availability — a venue's bookable calendar (experiences, prices, open dates/times).

  • tock_list_reservations / tock_get_profile — the signed-in user's purchases and profile.

  • tock_verify_reservation — after a booking attempt, re-query the account and return an explicit confirmed / cancelled / not_found verdict. A success screen is not proof; this is.

  • tock_healthcheck — bridge status + the one-time pair code.

Develop

npm install
npm run build     # tsc + esbuild bundle → dist/bundle.js
npm test          # vitest

Architecture and the reverse-engineered Tock surface are documented in docs/TOCK-API.md.

License

MIT

Available Tools

8 tools
tock_get_availabilityA
Read-only

Get a venue's bookable calendar: each experience (seating/menu) with its price, party sizes, cancellation policy, plus the dates and times the venue is open. Tock returns the full open-date/time set; pass a date to focus the summary. Reservations are prepaid tickets — this MCP does not book; open the venue on exploretock.com to reserve.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD to center the calendar on (optional).
slugYesTock venue slug, e.g. "alinea" (the exploretock.com/{slug} segment).
party_sizeNoGuests — filters experiences to those accepting this size.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, openWorldHint), the description adds that reservations are prepaid tickets and that the tool returns the full open-date/time set, with optional date filtering. It also clarifies the tool does not perform bookings, ensuring agents understand its scope.

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 wasted words: the first describes what the tool does, the second adds critical behavioral context and user action. Perfectly front-loaded and efficient.

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?

Although there is no output schema, the description adequately hints at the return structure (experiences with price, party sizes, cancellation policy, dates/times). For a read-only tool with good annotations, this is sufficient.

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 descriptions already cover 100% of parameters, but the description adds value by explaining how 'date' focuses the summary and that 'party_size' filters experiences. This exceeds the baseline 3 for high schema coverage.

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 clearly states it gets a venue's bookable calendar with experiences, pricing, cancellation policy, and open dates/times. The verb 'Get' and resource 'availability' are specific and distinct from siblings like tock_get_restaurant (venue details) and tock_list_reservations (existing bookings).

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 implicitly guides usage by stating what the tool returns and noting it does not book; users are directed to exploretock.com for reservations. However, it does not explicitly contrast with alternative tools for booking or detailed venue info.

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

tock_get_profileA
Read-only

Get the signed-in user's Tock account identity (name, email). Requires a browser tab signed in to exploretock.com via the fetchproxy extension. Derived from your reservation records, so it needs at least one reservation on the account.

ParametersJSON 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 Tock's payload untouched. No field projection: this server has no verified record of which Tock fields matter, and inventing one would risk dropping a field a caller needs.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds valuable behavioral context beyond these hints: it requires an authenticated browser tab and explains that the profile is derived from reservation records, so the account must have at least one reservation. This is useful and does not contradict the annotations.

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 two sentences with no fluff. The core purpose is front-loaded, followed immediately by the two essential prerequisites. Every sentence earns its place.

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 simple, read-only identity lookup with one optional parameter, the description is complete: it states the return concept (name, email), prerequisites, and derivation dependency. The schema covers the view-shape details, and no output schema is needed given the simple return description.

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 view parameter already has a rich description explaining compact versus full shapes and the no-field-projection behavior. The tool description itself adds no additional parameter meaning beyond what the input schema provides, so the baseline of 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 states a specific verb and resource: "Get the signed-in user's Tock account identity (name, email)". It clearly identifies what this tool does and, through the sibling list, is easily distinguishable from restaurant, metro, reservation, and availability tools.

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 clearly explains the conditions for use: a signed-in browser tab via the fetchproxy extension and at least one reservation on the account. It does not explicitly name alternatives or when-not-to-use scenarios, but these prerequisites strongly anchor the appropriate usage context.

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

tock_get_restaurantA
Read-only

Get details for a Tock venue by slug: name, cuisine, price band, location, description, and its bookable experiences (with prices and party sizes). Slug comes from tock_search_restaurants (or a exploretock.com/{slug} URL).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesTock venue slug, e.g. "alinea" (the exploretock.com/{slug} segment).
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 Tock's payload untouched. No field projection: this server has no verified record of which Tock fields matter, and inventing one would risk dropping a field a caller needs.

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds expected response content but does not discuss pagination, error behavior, or the view-dependent response stripping; those details live in the schema rather than the main description. It does not contradict the annotations.

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 a single front-loaded sentence with no filler. Every clause adds information: the operation, the input, the response fields, and the slug source are all covered without redundancy.

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?

Even with no output schema, the description enumerates the key return fields, including bookable experiences with prices and party sizes, so an agent can predict the response shape. Combined with the rich schema documentation for slug and view, the only notable omission is error/not-found behavior, which is minor for a simple read-only lookup.

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%: the slug parameter has a pattern, example, and source note, while the view parameter has detailed compact/full semantics. The main description contributes only that the slug comes from tock_search_restaurants or a URL, which is helpful but does not need to compensate for schema gaps. 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 opens with 'Get details for a Tock venue by slug' and enumerates concrete response fields: name, cuisine, price band, location, description, and bookable experiences with prices and party sizes. This clearly distinguishes it from sibling tock_search_restaurants, which is for finding venues rather than retrieving venue details. No tautology or ambiguity.

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?

It tells the agent that the slug comes from tock_search_restaurants or an exploretock.com URL, establishing a clear prerequisite workflow: search first, then fetch details. This is useful context, but it stops short of explicitly stating when not to use this tool or naming alternatives such as tock_get_availability for availability slots.

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

tock_healthcheckVerify the fetchproxy bridge end-to-endA
Read-onlyIdempotent

Round-trips a small public www.exploretock.com URL (/robots.txt) through the fetchproxy bridge and returns diagnostics: the bridge's role (host/peer/null), port, version, the extension link (linked / pair pending / not attached / never answered), the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'real www.exploretock.com-side problem'. Call this when a real tool fails and you want to know which hop broke. Read-only, no auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds valuable behavioral detail beyond annotations: it exercises a live URL, reports bridge role/port/version/extension link state, and distinguishes failure categories. This meaningfully enriches 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?

The description packs substantial diagnostic detail into a tight, purposeful sentence, followed by a brief clear usage trigger. Every clause earns its place, and the most important behavioral facts (round-trip through bridge, diagnostics returned) are front-loaded.

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?

With no output schema and no parameters, the description carries the full burden of explaining what the tool returns, and it does so thoroughly: bridge role, port, version, extension link state, elapsed time, and a plain-English failure hint. It also covers when to use it and its safety profile, so an agent has everything needed to select and invoke it 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?

The tool has zero parameters, so there is no parameter detail to add. Schema coverage is effectively 100% because the schema is an empty object. A baseline of 4 is appropriate for a parameterless tool.

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 action — round-tripping a known public URL through the fetchproxy bridge — and clearly explains what diagnostics are returned. This clearly distinguishes it from the sibling Tock data/reservation tools, which are all about restaurant availability and reservations.

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 says when to call it: 'Call this when a real tool fails and you want to know which hop broke.' It also explicitly notes read-only and no-auth requirements, giving an agent clear context for safe invocation. No alternative healthcheck tool exists among siblings, so no exclusion is needed.

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

tock_list_metrosA
Read-only

List Tock cities/metros (name, slug, business count, country/state). Use a metro slug with tock_search_restaurants. By default only metros with bookable venues are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax metros to return (default 100).
queryNoCase-insensitive filter on metro name or slug (e.g. "chic").
countryNoFilter by 2-letter country code (e.g. "US", "GB").
include_emptyNoInclude metros with businessCount 0 (default false).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. Description adds that by default only metros with bookable venues are returned, which is useful context beyond the annotations.

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, front-loaded with purpose, no wasted words. Every sentence adds value.

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 4 optional params all well-described in schema and no output schema, the description is sufficient. It tells what the tool returns and how to use the result (with tock_search_restaurants).

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 baseline is 3. Description adds minimal parameter-specific information beyond the schema; it only mentions the default filtering behavior which somewhat relates to the include_empty parameter.

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?

Description clearly states the tool lists Tock cities/metros with specific fields (name, slug, business count, country/state) and distinguishes itself from siblings by mentioning using the metro slug with tock_search_restaurants.

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?

Description explains when to use (to get a metro slug for searching restaurants) and notes default behavior (only bookable venues), but does not explicitly state when not to use or mention alternatives beyond the single sibling referenced.

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

tock_list_reservationsA
Read-only

List the signed-in user's Tock reservations (upcoming, past, or canceled) with venue, date/time, party size, and experience. Requires a browser tab signed in to exploretock.com via the fetchproxy extension.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax to return (default 30).
offsetNoPagination offset (default 0).
statusNoWhich reservations to list (default upcoming).

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so description does not need to repeat safety. Description adds value by confirming the tool lists the signed-in user's own reservations, which implies data access control, but no further behavioral traits are disclosed. No contradiction.

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, no wasted words. First sentence front-loads the purpose and returned fields. Second sentence covers the prerequisite. Highly efficient.

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?

Description covers purpose, returned fields, parameter defaults (status default is upcoming) implicitly via schema, and authentication requirement. No output schema, but description lists returned fields. Slight gap: does not explain pagination semantics beyond offset/limit, but sufficient for basic usage.

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?

Input schema has 100% coverage, describing all three parameters (limit, offset, status) with default values and constraints. Description does not add extra meaning beyond the schema, so baseline score of 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?

Description clearly states 'List the signed-in user's Tock reservations' with specific details (venue, date/time, party size, experience) and reservation types (upcoming, past, canceled). This distinguishes it from sibling tools like tock_get_availability.

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?

Explicitly states requirement: 'Requires a browser tab signed in to exploretock.com via the fetchproxy extension.' This tells when to use. Does not explicitly mention when not to use, but sibling tools cover other operations, so guidance is clear.

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

tock_search_restaurantsA
Read-only

List / search restaurants in a Tock metro. Pass a metro slug (from tock_list_metros, e.g. "chicago") and an optional text query. Returns venues with cuisine, price band, neighborhood, and their Tock slug (use it with tock_get_restaurant / tock_get_availability). Does NOT include bookable slots.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax venues to return (default 50).
metroYesMetro slug, e.g. "chicago" or "new-york".
queryNoFree-text filter (cuisine or venue name) applied server-side.

TDQS

A4.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds context about what fields are returned and that slots are not included, which is useful. However, no additional disclosures about rate limits or pagination are given, hence 4.

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 concise sentences. First sentence states purpose and inputs; second sentence summarizes output and limitations. No waste, front-loaded with critical info.

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 no output schema, the description fully explains return fields (cuisine, price band, neighborhood, slug) and what is missing (bookable slots). This is complete for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions. The description adds value by explaining that metro comes from tock_list_metros, query is free-text and server-side, and limit defaults to 50 (not in schema). This goes beyond the schema.

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 clearly states 'List / search restaurants in a Tock metro', specifies required inputs (metro slug) and outputs (venues with cuisine, price band, neighborhood, Tock slug), and distinguishes from sibling tools by explicitly mentioning what it does NOT include (bookable slots).

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?

Provides explicit guidance: use metro slug from tock_list_metros, mentions optional text query, and directs user to other tools for details (tock_get_restaurant / tock_get_availability) and for slots (excluded). This leaves no ambiguity.

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

tock_verify_reservationA
Read-only

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) or not_found. 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 fetchproxy extension.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesThe local date the reservation is for (YYYY-MM-DD).
venueYesRestaurant name or Tock slug; matched case-insensitively as a substring.
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).

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say readOnlyHint and openWorldHint, but the description adds rich behavioral details: the exact verdict values ('confirmed', 'cancelled', 'not_found'), the reporting mandate for 'not_found' ('attempted, unverified'), and the fetchproxy sign-in requirement. These go well beyond the structured metadata.

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 a single dense paragraph, front-loaded with the core action and resource. Every sentence contributes essential information—usage trigger, return values, reporting rule, and prerequisites—with no redundant filler.

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?

With no output schema, the description compensates by explicitly listing the return verdicts and their meanings. It also covers the required browser environment and the critical reporting behavior, making the tool self-sufficient for an agent to invoke and interpret correctly.

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?

The schema already provides 100% coverage of all four parameters with clear descriptions (date, venue, partySize, bookedMinutesAgo). The tool description does not add parameter-level detail, but it doesn't need to because the schema is comprehensive. 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 opens with a specific verb 'Verify' and a clear resource ('a Tock reservation'), then explains the method (re-querying reservation lists) and the explicit verdicts. This clearly distinguishes it from sibling tools like tock_list_reservations or tock_get_availability by focusing on verification with a pass/fail outcome.

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?

It gives explicit when-to-use guidance ('after ANY booking attempt') and even explains why a success screen is insufficient, plus the prerequisite login requirement. It does not explicitly name alternative tools or provide when-not-to-use conditions, but the context is clear and actionable.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.5.0
    • Changedtock_get_profile1 field changed
      • 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 Tock's payload untouched. No field projection: this server has no verified record of which Tock fields matter, and inventing one would risk dropping a field a caller needs.",
        +  "enum": [
        +    "compact",
        +    "full"
        +  ],
        +  "type": "string"
        +}
    • Changedtock_get_restaurant1 field changed
      • 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 Tock's payload untouched. No field projection: this server has no verified record of which Tock fields matter, and inventing one would risk dropping a field a caller needs.",
        +  "enum": [
        +    "compact",
        +    "full"
        +  ],
        +  "type": "string"
        +}
  2. 1 tool updatev0.3.0
    • Addedtock_verify_reservation
  3. 1 tool updatev0.2.3
    • Addedtock_list_metros
  4. 1 tool updatev0.2.1
    • Removedtock_list_metros
  5. 7 tool updatesv0.2.0
    • First observedtock_get_availability
    • First observedtock_get_profile
    • First observedtock_get_restaurant
    • First observedtock_healthcheck
    • First observedtock_list_metros
    • First observedtock_list_reservations
    • First observedtock_search_restaurants

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct step in the workflow: metro lookup, restaurant search, venue details, availability, reservation listing, identity, verification, and diagnostics. Even list_reservations and verify_reservation are clearly separated by intent—browsing vs. explicit verification with a verdict.

Naming Consistency4/5

All tools share a consistent tock_ prefix and generally use a snake_case action_noun pattern (list_metros, search_restaurants, get_availability). tock_healthcheck is the one outlier, since it is a compound command rather than a verb_noun name, but the convention is otherwise uniform and predictable.

Tool Count5/5

Eight tools is well-scoped for the Tock domain: four cover restaurant discovery and availability, three handle signed-in reservation data and verification, and one provides diagnostics. Each tool earns its place without feeling redundant or overwhelming.

Completeness4/5

The set covers the full discovery-to-availability pipeline and the user-facing reservation verification lifecycle, which is the server's clear purpose. Booking and cancellation are intentionally left to the external exploretock.com site and are explicitly documented as such, making the omission a design choice rather than a critical gap.

Maintenance

ActivityActive
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/tock-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server