Skip to main content
Glama

Ticker: Live Event Ticket Market

Watch Event

watch_event
Destructive

Stars one event and arms its alerts, or changes the triggers or email mode of an event already starred; only what you pass changes, and the triggers input lists every trigger and its range. If dormanted is not empty, tell the person: those events stopped alerting. Use create_view for alerts on every event a screen finds. Replaces update_watch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent to watch (from search_events or screen_events).
triggersNoPer-event trigger settings, e.g. {"price_z":{"enabled":true,"params":{"threshold":2.5}}}. Each key says what it alerts on and the range of its params. Omit to use the saved defaults. A value outside its range is refused with an error naming the field and its min and max, and nothing is written.
notification_modeNo`instant` = email each alert as it happens (default); `batched` = the alerts go out together in one email; `muted` = record alerts without sending them. 'digest' is the old name of 'batched', accepted until 2026-11-30 and stored as 'batched'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / triggers / description
      Previous value: -"Per-event trigger overrides, e.g. {\"price_z\":{\"enabled\":true,\"params\":{\"threshold\":2.5}}}. Omit to use your saved defaults. A value outside its range in list_watch_triggers is refused with an error naming the field and its min and max, and nothing is written."New value: +"Per-event trigger settings, e.g. {\"price_z\":{\"enabled\":true,\"params\":{\"threshold\":2.5}}}. Each key says what it alerts on and the range of its params. Omit to use the saved defaults. A value outside its range is refused with an error naming the field and its min and max, and nothing is written."
    • addedInput schema / properties / triggers / properties / absorption / description
      Added value: +"Tickets leaving fast: A large share of the listed tickets leaves the marketplace. Off by default. Measures listings that disappear, which is not the same as confirmed sales. params: threshold 0.3 to 0.9 (default 0.5)."
    • addedInput schema / properties / triggers / properties / demand / description
      Added value: +"Demand spike: Interest in this event's listings rises versus the day before. Off by default. A change in Interest from one date to the next, not a z-score. Coverage is still filling in, so quiet events may never trigger it. params: threshold 1 to 50 (default 5)."
    • addedInput schema / properties / triggers / properties / lifecycle / description
      Added value: +"On-sale, presale, event week, low inventory: Fires when an on-sale or presale is announced, event week begins, or listed inventory runs low. On by default. params: event_week_days 1 to 30  days out (default 7); low_inventory_percent 1 to 50 % (default 10)."
    • addedInput schema / properties / triggers / properties / pct_move / description
      Added value: +"Price % move: The price changes by more than this percentage. Off by default. params: metric lowest | median (default lowest); window 1d | 7d (default 1d); threshold 5 to 100 % (default 15)."
    • addedInput schema / properties / triggers / properties / price_z / description
      Added value: +"Unusual price move: Fires when the 7-day price move is at least 2× this event's own normal swing, in either direction. On by default. params: threshold 1 to 5 (default 2)."
    • addedInput schema / properties / triggers / properties / weather / description
      Added value: +"Weather: Fires when the forecast for the event turns bad, and again when it clears. On by default."
  2. Changed2 schema fields changed
    • changedInput schema / properties / notification_mode / description
      Previous value: -"`instant` = email each alert as it happens (default); `digest` = the alerts go out together in one email; `muted` = record alerts without sending them."New value: +"`instant` = email each alert as it happens (default); `batched` = the alerts go out together in one email; `muted` = record alerts without sending them. 'digest' is the old name of 'batched', accepted until 2026-11-30 and stored as 'batched'."
    • changedInput schema / properties / notification_mode / enum
      Previous value: -[
      -  "instant",
      -  "digest",
      -  "muted"
      -]New value: +[
      +  "instant",
      +  "batched",
      +  "muted",
      +  "digest"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / triggers / properties / weather
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "enabled": {
      +      "type": "boolean"
      +    },
      +    "params": {
      +      "additionalProperties": {
      +        "type": [
      +          "number",
      +          "string"
      +        ]
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / notification_mode / description
      Previous value: -"`instant` = email each alert as it happens (default); `digest` = the alerts go out together in one daily email; `muted` = record alerts without sending them."New value: +"`instant` = email each alert as it happens (default); `digest` = the alerts go out together in one email; `muted` = record alerts without sending them."
  5. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare a destructive, non-read-only, open-world mutation, so the bar is lower. The description adds real value: 'only what you pass changes' clarifies this is a partial update rather than a destructive overwrite, and it documents that out-of-range trigger parameters are refused with an error and nothing is written. The 'dormanted' sentence hints at a return field but is opaque and references a field absent from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and compressed into a few dense clauses with little waste. The mid-sentence 'dormanted' aside interrupts the flow and is not obviously tied to any visible field, slightly reducing clarity.

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?

For a nested, 3-parameter mutation tool with no output schema, the description covers the action, the partial-update semantics, validation failure behavior, and sibling routing. It does not mention return values or any permission/auth requirements, but the 'dormanted' note gives partial insight into output.

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 baseline is 3. The description mostly restates what the schema already says ('the triggers input lists every trigger and its range', omit-to-use-defaults), adding only the partial-update framing. It does not disambiguate whether triggers must be supplied wholesale.

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 ('Stars one event and arms its alerts') and covers the update case ('changes the triggers or email mode of an event already starred'). It explicitly distinguishes itself from create_view and notes it 'Replaces update_watch', so an agent can route without opening a schema.

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?

Names the alternative (create_view) and the selecting condition ('for alerts on every event a screen finds'), implying watch_event is for single events. It also flags the deprecated update_watch sibling, which is exactly the kind of routing an agent needs.

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