Skip to main content
Glama
chrischall

tock-mcp

by chrischall

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.4.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: profile, availability, reservations, healthcheck, search restaurants, and get restaurant details. No overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent 'tock_verb_noun' pattern with descriptive verbs (get, list, search, healthcheck) and nouns.

    Tool Count5/5

    6 tools is well-scoped for a read-only Tock restaurant reservation MCP, covering user identity, venues, and reservations without extraneous tools.

    Completeness4/5

    The set covers read operations comprehensively (profile, reservations, venue search, availability) but lacks any write operations like booking or cancellation, which is intentional per descriptions but a minor gap for full lifecycle.

  • Average 4.5/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • 12 of 12 community issues answered or closed in the last 6 months
    • 78 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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.

  • 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.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds value by specifying the exact return fields and confirming the read-only nature, without contradicting 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 concise sentences that front-load the purpose and output, then provide pragmatic context. No wasted words.

    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?

    With one parameter, no output schema, and annotations present, the description adequately explains what is returned and how to obtain the parameter. It does not need to cover errors or other details.

    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% with a clear description of the slug parameter. The description adds meaning by explaining the origin of the slug (from tock_search_restaurants or URL), beyond the schema's basic format and example.

    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 the tool retrieves details for a Tock venue by slug, listing specific fields (name, cuisine, price band, location, description, bookable experiences). It distinguishes from sibling tools like tock_get_availability and tock_get_profile, which retrieve different types of data.

    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 explains the source of the slug (from tock_search_restaurants or a URL), guiding when to use this tool after obtaining the slug. It doesn't explicitly state when not to use it, but the context is clear.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. Description adds value by detailing the diagnostics returned (role, port, version, elapsed time, failure-hint) and confirming 'Read-only, no auth required.' No contradictions.

    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 sentences, each with a clear purpose: first sentence explains action and output, second gives usage scenario, third notes safety. No wasted words.

    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?

    Despite lacking an output schema, the description adequately explains the return value (diagnostics). Combined with annotations and the simple nature (no parameters), it provides sufficient context for an agent to use the tool 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?

    No parameters exist, so schema coverage is 100%. Baseline for 0 parameters is 4. Description adds no parameter info, which 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 the tool performs a round-trip healthcheck via the fetchproxy bridge and returns diagnostics. It explicitly distinguishes itself from sibling tools like tock_get_restaurant by describing its use case ('Call this when a real tool fails').

    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 tells when to use this tool ('when a real tool fails and you want to know which hop broke'). Does not list alternatives, but the context implies it is for troubleshooting rather than normal operations.

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

  • 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.

  • 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.

  • Behavior5/5

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

    Adds significant behavioral context beyond annotations: explains identity derivation from reservation records and the need for at least one reservation. No contradiction with readOnlyHint and openWorldHint.

    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 efficient sentences with no redundant information, front-loaded with the core action and followed by necessary conditions.

    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 parameterless, read-only tool with annotations covering safety, the description fully explains prerequisites and behavior, making it complete.

    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?

    No parameters in schema, so description need not add parameter info. Baseline 4 for zero-parameter tools 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?

    Clearly states 'Get the signed-in user's Tock account identity (name, email)', using a specific verb and resource, and distinguishes from sibling tools that deal with availability, restaurants, etc.

    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?

    Provides explicit prerequisites: requires a browser tab signed in to exploretock.com via fetchproxy and at least one reservation. Does not list alternatives but gives clear context for when the tool is usable.

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

  • 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.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

tock-mcp MCP server

Copy to your README.md:

Score Badge

tock-mcp MCP server

Copy to your README.md:

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