Skip to main content
Glama
h-kazuki-pixel

booking-gap MCP Server

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool has a clearly distinct role: analyze measures overall gap composition, profile shows temporal distribution, simulate compares configurations, and list_dead enumerates individual unsellable gaps. No two tools overlap in purpose.

    Naming Consistency5/5

    All tools share the consistent 'booking_gap_' prefix followed by a distinct verb (analyze, profile, simulate, list_dead). The naming pattern is uniform and predictable.

    Tool Count5/5

    Four tools are well-scoped for this narrow domain. Each tool adds a distinct capability without redundancy, and the count feels neither sparse nor bloated.

    Completeness5/5

    The set covers the full workflow: measure (analyze), locate (profile), explore options (simulate), and drill down (list_dead). The decision to deliberately not include a recommender tool is clearly communicated and filled by simulate.

  • Average 4.7/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 7 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.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • 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

  • Behavior4/5

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

    Annotations already declare readOnlyHint/idempotentHint/destructiveHint, so the description only needs to add non-safety behavior. It adds sorting ('longest first'), output shape ('table of date, weekday, time window, length and resource'), and the machine-readable JSON option, going beyond the structured fields.

    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 plus a short bullet-style list, with the core action in the first sentence. Every sentence adds purpose, usage timing, or output details; no filler.

    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?

    Given no output schema, the description adequately specifies the return table columns and default/option behavior. It also references booking_gap_analyze for inherited args, but lightly—an agent unfamiliar with that sibling might need more parameter context, though the schema fills the gap.

    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 all 15 parameters already have descriptions. The description contributes the higher-level relationship 'same as booking_gap_analyze' and highlights the three tool-specific parameters, but adds little semantics beyond what the schema provides.

    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+object ('List the individual gaps that are structurally unsellable') and immediately states ordering ('longest first'). It distinguishes itself from sibling tools by noting it traces aggregate numbers back to concrete dates/resources, complementing booking_gap_analyze.

    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?

    It states explicit usage context: 'Use this after booking_gap_analyze when the aggregate number needs to be traced back...' This clearly positions when to choose this tool over the analysis sibling and implies it is not for first-pass analysis.

    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 already mark the tool read-only and non-destructive, and the description adds a non-obvious calculation rule: 'Gaps are distributed proportionally across the hours they span, so a 40-minute gap running 13:50-14:30 is attributed to both hours.' It also discloses the output structure, which is not present in 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 front-loaded with the core purpose and each subsequent block earns its place: sibling comparison, interpretation guidance, calculation nuance, args note, return format, and use-when phrases. It is appropriately sized for a 13-parameter analytical tool with 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?

    With no output schema, the description adequately explains the return value ('a text report with a weekday table, an hour-of-day bar chart, and the worst weekday x hour cells'). It also orients the agent among four sibling tools and covers the key behavioral nuance, making it complete enough for correct selection and invocation.

    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 input schema has 100% parameter coverage, so the schema carries most of the burden. The description adds a useful cross-reference ('Args: same as booking_gap_analyze, plus topCells') and restates the topCells meaning, but this mostly duplicates the schema's existing description of topCells.

    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: 'Show when structural dead time occurs, broken down by weekday and by hour of day.' It clearly distinguishes this tool from booking_gap_analyze, which reports the total dead-time figure, by presenting this as the 'where to look' breakdown.

    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 names the sibling tool for aggregate analysis and provides concrete use triggers: 'Use when: "which days are worst", "when does the fragmentation happen".' This gives the agent clear selection guidance among the sibling tools.

    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 already declare readOnlyHint and idempotentHint, but the description adds substantial behavioral context: the first scenario serves as baseline with every other scenario reporting delta, and the 'Important' note explains that recovered minutes are an upper bound and the tool deliberately does not pick a winner. This goes well 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?

    The description is well-structured with clear sections: a lead purpose sentence, an example question, an 'Args' block, and an 'Important' callout. Every sentence earns its place; no filler or redundancy. It's longer than a single line, but the length is justified by the tool's complexity.

    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 13 parameters, nested objects, and no output schema, the description carries a heavy load. It covers the return format (comparison table with dead time, delta, fragmentation rate, optional hourlyRate valuation), the baseline behavior, and the upper-bound caveat. Combined with 100% schema coverage, this is complete for an agent to select and invoke the tool correctly.

    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%, so baseline is 3, but the description adds crucial semantics: the scenarios array structure with optional fields and fallback behavior ('Any omitted field falls back to the top-level setting'), and the baseline/delta interpretation. This is essential for correct invocation and interpretation beyond what the raw schema provides.

    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+resource: 'Re-run the gap analysis under several booking configurations and compare how much structural dead time each one produces.' This clearly distinguishes it from siblings like booking_gap_analyze (single analysis) and booking_gap_profile, and it includes a concrete example question ('if I allowed 30-minute bookings instead of 60...').

    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 establishes clear context: it's for comparing configurations and answering 'what-if' questions. It references booking_gap_analyze for the input data, implying the single-analysis alternative. However, it does not explicitly state 'use this when you need to compare, use booking_gap_analyze when you need one configuration'—an explicit exclusion would earn a 5.

    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?

    The description adds deep behavioral context beyond the readOnlyHint/idempotentHint annotations: it explains how gaps are classified into 'sellable' vs 'structural dead time', that it returns a text report with specific components, and that pooled shared seating is explicitly out of scope. It also clarifies the role of the settings (minBookingMinutes, slotGranularityMinutes, turnoverMinutes) in determining sellability, which is vital for the agent to understand the tool's decision logic.

    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 long but every section earns its place: a motivating example, gap classification definitions, an Args list that maps to parameters, a Returns summary, and a Scope paragraph. It's well-structured with headers and bullet-like formatting, making it easy to scan while conveying all necessary information without redundancy.

    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 tool with 12 parameters, nested objects, and no output schema, this description is exceptionally complete. It covers the input formats (structured objects or CSV), the analysis window defaults, the meaning of the optional hourly rate, the scope limitations, and the exact contents of the returned report. Nothing essential is left unexplained, and the tool's complexity is matched by the description's detail.

    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%, so baseline is 3. However, the description adds meaningful value by stating that bookings and bookingsCsv are required but exactly one must be provided, and by grouping minBookingMinutes/slotGranularityMinutes/turnoverMinutes as 'the settings that decide sellability'. This gives higher-level understanding beyond individual schema descriptions, though the schema already covers most details.

    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 a specific verb and resource: 'Measure the *shape* of idle time in a time-based booking calendar, not just the utilization rate.' It distinguishes itself from siblings by explicitly redirecting to booking_gap_simulate for configuration recommendations, and from booking_gap_profile and booking_gap_list_dead by focusing on the shape/classification of gaps rather than listing them.

    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?

    Explicit 'Use when' and 'Don't use when' sections are provided, with concrete example queries ('why is my utilization stuck', 'how much of my empty time is actually sellable') and a direct alternative (booking_gap_simulate) for when the user wants a recommendation. This is exactly the kind of when/when-not/alternatives guidance the dimension asks for.

    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

booking-gap-mcp-server MCP server

Copy to your README.md:

Score Badge

booking-gap-mcp-server 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/h-kazuki-pixel/booking-gap-mcp-server'

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