Skip to main content
Glama

LayUp Sports Booking

create_alert

Set up an email alert for the user: LayUp watches for NEW matching slots (e.g. a cancellation freeing up a peak court) and emails them when one appears. Use when the user can't find a slot now and wants to be notified, or asks to 'monitor'/'watch'/'let me know when'. Requires their email. A confirmation email is sent first — the user must click confirm before any alerts fire (so always tell them to check their inbox). LayUp does the watching; the notification arrives by email, not in this chat.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
areaNoWhere to watch, resolved geographically: a borough ('Hackney'), a neighbourhood ('Maida Vale'), a region ('North London'), or a postcode ('W9 2RF', 'SE1'). A postcode is the most precise option when the user gives one. NOT a venue name — to watch a specific venue use venue_names. Omit for all London.
emailYesThe user's REAL email address, as given by them (required — alerts are emailed here). Never invent, guess or substitute a placeholder like user@example.com; if you don't have it, ask the user first.
sportNoOne of Football, Tennis, Squash, Padel, Swimming. Omit for any.
time_toNoLatest London time-of-day, 'HH:MM'.
max_priceNoOnly alert on slots at or under this GBP price.
time_fromNoEarliest London time-of-day, 'HH:MM' (e.g. '18:00').
venue_namesNoPin the alert to specific venues BY NAME, exactly as shown in search results (e.g. ["Hay's Galleria", "Padel Box"]). Use this whenever the user names venues — the server resolves names to the right venue(s). Prefer this over venue_slugs.
venue_slugsNoPin the alert to specific venues by their exact venue_slug (only if you already have slug values from search_slots). For most cases use venue_names instead. Omit for any venue.
days_of_weekNoOnly alert on these days (e.g. ['Sat','Sun'] for weekends). The alert is standing — it keeps watching these days every week until the user unsubscribes. Omit for any day.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / area / description
      Previous value: -"London borough / area / neighbourhood to match (e.g. 'Hackney', 'Maida Vale'). NOT a venue name — to watch a specific venue use venue_names. Omit for all London."New value: +"Where to watch, resolved geographically: a borough ('Hackney'), a neighbourhood ('Maida Vale'), a region ('North London'), or a postcode ('W9 2RF', 'SE1'). A postcode is the most precise option when the user gives one. NOT a venue name — to watch a specific venue use venue_names. Omit for all London."
  2. Changed1 schema field changed
    • changedInput schema / properties / email / description
      Previous value: -"The user's email address (required — alerts are emailed here)."New value: +"The user's REAL email address, as given by them (required — alerts are emailed here). Never invent, guess or substitute a placeholder like user@example.com; if you don't have it, ask the user first."
  3. Changed3 schema fields changed
    • changedInput schema / properties / area / description
      Previous value: -"London borough / area / venue name to match. Omit for all London."New value: +"London borough / area / neighbourhood to match (e.g. 'Hackney', 'Maida Vale'). NOT a venue name — to watch a specific venue use venue_names. Omit for all London."
    • addedInput schema / properties / venue_names
      Added value: +{
      +  "description": "Pin the alert to specific venues BY NAME, exactly as shown in search results (e.g. [\"Hay's Galleria\", \"Padel Box\"]). Use this whenever the user names venues — the server resolves names to the right venue(s). Prefer this over venue_slugs.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / venue_slugs / description
      Previous value: -"Pin the alert to one OR MORE specific venues (venue_slug values from search results). Omit for any venue."New value: +"Pin the alert to specific venues by their exact venue_slug (only if you already have slug values from search_slots). For most cases use venue_names instead. Omit for any venue."
  4. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behaviors: a confirmation email is sent first and alerts only fire after the user clicks confirm, LayUp does the watching asynchronously, and the notification arrives by email rather than in the chat. This gives the agent accurate expectations for a non-read-only, external-effect tool.

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?

Every sentence earns its place: core behavior, when to use, prerequisite, confirmation caveat, and delivery channel. The most important decision-relevant information is front-loaded, and there is no filler or redundant restating of the tool name.

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 9-parameter tool with no output schema, the description supplies the essential operational context: asynchronous monitoring, email delivery, confirmation requirement, and the distinction from chat-based responses. Combined with the fully detailed schema, an agent has everything needed to invoke this tool 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 input schema already provides full 100% coverage of all 9 parameters with detailed descriptions, so the description does not need to repeat parameter details. It adds only the key requirement that the email must come from the user, but the schema already covers that with strong guidance against inventing placeholders. 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 and resource: 'Set up an email alert'. It then explains the tool's unique behavior — LayUp watches for NEW matching slots and emails the user — which clearly separates it from search_slots, a sibling that finds available slots now rather than monitoring for future ones.

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 use the tool: when the user can't find a slot now and wants to be notified, or asks to 'monitor'/'watch'/'let me know when'. It also gives required preconditions (user's email) and a critical follow-up instruction (tell them to check their inbox for the confirmation email).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources