Skip to main content
Glama

Server Details

Search local events, follow artists and interests, get weekend recommendations and change alerts

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 20 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have distinct purposes: search vs recommendations, alerts feed vs direct event detail/change lookups, profile vs feedback vs delivery config. The one soft spot is the watchlist boundary—track_event_interests creates/replaces a watchlist while manage_event_watchlist lists/pauses/resumes/updates/deletes; descriptions clarify this but an agent could still hesitate over 'update'. get_event_changes and list_local_event_alerts also both surface changes, though as query vs feed they remain separable.

Naming Consistency5/5

All 11 tools use snake_case with a clear verb_noun pattern (get_, list_, manage_, save_, search_, track_). Verbs are grouped sensibly by intent—get_ for reads, manage_ for configuration, list_ for feeds.

Tool Count5/5

Eleven tools is well within the healthy 3-15 range and each earns its place across discovery, persistence, notifications, and preferences. No redundant or filler tools.

Completeness4/5

The surface covers the full lifecycle: search/recommend (discovery), watchlist/interests/profile (persistence), alerts and multi-channel delivery (notification), feedback (personalization), and event detail/change retrieval. Minor gaps only—no explicit bulk watchlist creation or history archive, but core workflows have no dead ends.

Available Tools

11 tools
get_event_changesGet event changesB
Read-onlyIdempotent
Inspect

Detected changes with previous and current values, for one event_id or for all events the user saved, is going to or marked interested. EVENT_MISSING_FROM_SOURCE is low confidence and does not mean cancelled.

NameRequiredDescriptionDefault
limitNo
sinceNo
event_idNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower; the description adds real interpretive value by warning that the EVENT_MISSING_FROM_SOURCE change type is low confidence and not equivalent to cancellation. It says nothing about pagination behavior or result shape, but the caveat is genuine behavioral disclosure.

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

Conciseness3/5

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

Two short sentences with the core semantics front-loaded, but the second clause ('for all events the user saved, is going to or marked interested') is grammatically tangled and takes a moment to parse correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, three-parameter tool with no output schema and no annotations gaps, the description covers what the tool returns at a high level and adds one important caveat. It is still thin on the since/limit parameters, so an agent can call it but not tune it confidently.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the parameter burden. It covers event_id's meaning and scope, but limit and since are entirely unexplained in both schema and description, leaving the agent to guess at the change-window and page-size semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource ('detected changes with previous and current values') and its two scopes: a single event_id, or all events the user saved/is going to/interested in. That is specific enough to distinguish it from get_event_details, though the sibling differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It indicates which population of events is covered when event_id is omitted, which is a form of usage guidance. However, it never says when to prefer this over get_event_details or other siblings, and gives no when-not conditions.

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

get_event_detailsGet event detailsAInspect

Full details for one event by event_id (from any other tool): venue, performers, price range if published, ticket link, source records, when AgentStructure first saw it, and its history of detected changes. Refreshes from Ticketmaster when stored data is older than 6 hours.

NameRequiredDescriptionDefault
event_idYes

TDQS

A4.1/5.0
Behavior4/5

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

With annotations present, the bar is lower, but the description still adds significant value: it discloses that data is refreshed from Ticketmaster when stored data is older than 6 hours, and that the tool returns source records and a change history. This consumer-facing behavioral context goes beyond the generic idempotentHint=false and openWorldHint=true annotations. It does not, however, explain rate limits, auth needs, or why idempotentHint is false for a 'get' operation.

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?

It is a single, front-loaded sentence that packs purpose, return fields, and a behavioral note (6-hour refresh) without wasted words. It is dense and readable. Slightly longer than strictly necessary, but every clause carries information.

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 one-parameter lookup tool with no output schema, this description is nearly complete: it tells the agent what the tool returns, how to obtain the event_id, and when stored data is refreshed. It lacks explicit guidance on error cases (invalid event_id) and does not resolve the annotation tension regarding readOnly/idempotency, but it covers the essential call mechanics.

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 0%, so the description must compensate. It does explain what the single parameter is – an event_id obtainable 'from any other tool' – which is useful routing context. But it does not add format, length, or validity details beyond the schema's minLength: 1 and maxLength: 120. Baseline 3 is appropriate for a single-param tool with material description coverage but no syntax detail.

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+resource ('Full details for one event by event_id') and distinguishes itself from siblings with the parenthetical '(from any other tool)'. It also enumerates exactly what details are returned, making the purpose unambiguous without opening the schema.

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 makes clear this is the lookup tool you call with an event_id obtained from any other sibling, providing context on when to use it. However, it does not name an explicit alternative or state exclusions (e.g., 'if you have no event_id, use search_local_events first'), so it stops short of a 5.

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

get_followed_artistsGet followed artistsA
Read-onlyIdempotent
Inspect

List the performers and teams this user follows.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed world, so the safety profile is fully covered by structured data. The description only adds that the results are performers and teams, which is modest extra context for a simple read.

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?

A single front-loaded sentence with no filler. Every word contributes to identifying the resource and its scope.

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 zero-parameter, non-paginated list tool with no output schema, the description is nearly sufficient. A brief note on result scope (e.g. per-user, ordered) would round it out, but nothing essential is missing.

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 takes zero parameters, so the baseline is 4; there is nothing about inputs the description could usefully clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'List' plus a concrete resource ('performers and teams this user follows'), which tells an agent exactly what comes back. It does not explicitly differentiate from any sibling, though the sibling set is entirely event-focused so overlap risk is low.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance, no prerequisites, and does not name any alternative tool or condition for choosing this one over another. The agent must infer the context entirely from the name.

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

get_weekend_recommendationsWeekend recommendationsAInspect

Rank events for the coming weekend (Friday to Sunday local dates) near a saved or given location, using the user's saved interests, followed artists, budget, preferred days and times, and past feedback. Each result says why it was recommended, using only what actually matched. Pass busy intervals from the user's calendar (if the user allowed calendar access in the assistant) to skip conflicts; free/busy is enough, never send event details.

NameRequiredDescriptionDefault
busyNo
cityNo
limitNo
latitudeNo
timezoneNo
longitudeNo
radius_kmNo
weekend_ofNo
country_codeNo
location_labelNo

TDQS

A3.9/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: results carry per-item 'why recommended' explanations drawn only from actual matches, and calendar data must be reduced to free/busy with event details never sent. The privacy/conflict-skipping constraint is genuinely useful. Note the description reads as a read/ranking operation while annotations set readOnlyHint=false without the description explaining what state changes; this is under-explained rather than contradicted.

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?

Two dense sentences, front-loaded with the core action and scope before the calendar-data caveat. Every clause carries information, though the sentences are long enough that a scannable breakdown would read better.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with no output schema and no parameter descriptions, the definition covers the operationally critical parts (weekend window, ranking inputs, busy semantics) but leaves most parameters undocumented. An agent can call it with defaults, but cannot confidently use the geographic and date-scoping knobs.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden, yet with 10 parameters it only clarifies the busy entries (free/busy only, never event details) and hints at location sourcing ('saved or given location'). limit, timezone, weekend_of format, radius_km, country_code and location_label get no meaning at all.

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?

Specific verb (rank) + resource (events) + scope (coming weekend, Friday–Sunday local dates, near a saved or given location), plus the signal sources used. It is clearly distinguishable from siblings like search_local_events or list_local_event_alerts.

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 tells the agent when this tool applies (weekend ranking) and gives a conditional rule for calendar data: pass busy intervals 'if the user allowed calendar access'. It stops short of naming alternatives such as search_local_events for non-weekend or explicit-query searches.

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

list_local_event_alertsList new event alertsAInspect

Return new alerts for this user: newly observed events matching a watchlist or a followed artist, and changes (cancelled, postponed, rescheduled, date, time, venue or price changes, sale start) to matching or saved events. Returned alerts are marked as read. Set refresh true to run a small check right now (limited per hour). An empty list means nothing new, not nothing happening.

NameRequiredDescriptionDefault
limitNo
refreshNo
include_seenNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and idempotentHint=false, and the description explains why: returned alerts are marked as read, which is a real state mutation beyond what the annotation flags convey. It also discloses a rate limit ('limited per hour') on refresh. It stops short of covering auth needs, ordering, or pagination, so it is strong but not exhaustive.

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?

Four tight sentences, front-loaded with what is returned before the refresh hint and the empty-list caveat. Every sentence adds information an agent needs; there is no filler or restatement of the title.

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 no output schema, the description does the right thing by characterizing the returned payload (alerts about new events and changes) and the empty-list case. It also flags the read-marking side effect. Missing details are the shape/order of alert objects and defaults for limit/include_seen, which leaves a small gap for a 3-param tool.

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

Parameters2/5

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

Schema description coverage is 0% for three parameters, so the description must carry the load. It explains refresh (run a check now, rate-limited) but says nothing about limit or include_seen, whose semantics (whether already-read alerts are returned, defaults) are genuinely ambiguous. Two of three parameters remain undocumented in both schema and prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (return) and a well-scoped resource: newly observed events matching a watchlist or followed artist, plus changes (cancelled, postponed, rescheduled, price/venue/time changes) to matching or saved events. It is much clearer than a generic 'list alerts', but it never names or contrasts any sibling (e.g. get_event_changes, manage_event_watchlist), so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the tool is for fetching 'new alerts', and refresh=true is recommended only when you want a check run 'right now'. There is no when-not-to-use guidance and no alternative named for retrieving event changes or managing alert settings. The 'empty list means nothing new' note is useful but is interpretive rather than routing guidance.

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

manage_alert_deliveryEmail, phone and text alertsAInspect

Choose where alerts go besides this chat: add_email sends a confirmation link to the address (alerts start only after the user confirms), add_phone returns a private subscribe link for the free ntfy phone app, add_sms (paid plans, U.S. numbers) texts a 6-digit code to phone; pass consent: true only after the user agreed to receive automated alert texts (msg & data rates may apply, reply STOP to cancel), then verify_sms with the code. remove_email, remove_phone and remove_sms stop them, get shows the current setup. One digest is sent after each daily check; at most one text a day. Only add an address or number the user gave for this purpose.

NameRequiredDescriptionDefault
codeNo
emailNo
phoneNo
actionYes
consentNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only give the generic profile (readOnlyHint=false, openWorldHint=true, destructiveHint=false); the description adds genuinely non-obvious behavior — confirmation-link gating before alerts activate, a private ntfy subscribe link, paid-plan/U.S.-only SMS, consent gating, and rate limits (one digest per daily check, at most one text a day). Nothing here contradicts 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.

Conciseness4/5

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

Dense and front-loaded — the channel-selection premise comes first, then each action in a logical add/verify/remove order. It is a single semicolon-chained sentence, which is slightly run-on, but nearly every clause carries distinct, load-bearing information.

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?

Covers the full action lifecycle (get/add/remove/verify), consent requirements, delivery cadence, and privacy constraints despite no output schema. The only small gap is that 'get shows the current setup' does not hint at the returned shape, though with no output schema that is acceptable.

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 description coverage is 0%, so the description must carry the load; it documents the action enum's meaning per value, explains that consent must be true only after user agreement, and ties 'code' to the verify_sms step. It adds little about email/phone formats (the schema's email pattern and phone maxLength already cover those), so a 4 rather than a 5.

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?

Opens with a specific verb+resource framing ('Choose where alerts go besides this chat') and enumerates every action with its distinct effect, so the agent can tell add_email/add_phone/add_sms apart and distinguish this channel-management tool from the sibling alert/watchlist tools.

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?

Gives per-action conditions: add_email requires the user to confirm via link before alerts start, add_phone is for the free ntfy app, add_sms is limited to paid plans and U.S. numbers, consent:true only after the user agreed, verify_sms with the code, and remove_* to stop. It also states the alternative implicitly (this chat vs. other channels) and a hard privacy precondition for adding addresses.

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

manage_event_profileManage event profileB
Destructive
Inspect

View or change the user's event preferences and privacy: budget, preferred days and times, time zone, interests (artist, team, genre, category, venue, keyword), saved locations (city precision; trips with valid_from/valid_until never replace home), clear personalization, or delete the account and all its data (both need confirm: true and an explicit request from the user).

NameRequiredDescriptionDefault
actionYes
weightNo
confirmNo
currencyNo
interestNo
locationNo
timezoneNo
max_priceNo
interest_typeNo
location_labelNo
preferred_daysNo
preferred_timesNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, but the description layers on specifics they cannot: delete_account removes 'the account and all its data', clear_personalization is a distinct destructive branch, the confirmation requirement is mandatory, and trip-scoped locations 'never replace home'. That is meaningful behavioral context beyond the structured hints.

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

Conciseness3/5

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

Front-loaded with the core verb pair, which is good, but the body is a single comma-chained run-on enumerating nine concepts with the two destructive caveats buried in a trailing parenthetical. Given the tool's breadth the length is defensible, yet the flat list makes the high-risk branches hard to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, 8-action, destructive-capable tool with no output schema, the description covers the preference surface acceptably but omits the action-to-parameter contract and says nothing about what the 'get' action returns. An agent knows the vocabulary of the tool but not how to compose a correct call for most actions.

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

Parameters2/5

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

Schema description coverage is 0% across 12 parameters and 8 enum actions, and the description lists domain concepts rather than mapping them to parameters or actions (e.g. weight, max_price, currency, radius_km, is_default, location_label are never addressed, and no action-to-parameter pairing is given). It does add real semantics for valid_from/valid_until scope behavior, but that is one nugget against a wide undocumented surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb pair and resource ('View or change the user's event preferences and privacy') and enumerates the domain of mutable state (budget, days/times, timezone, interests, saved locations). It is distinguishable from siblings like manage_event_watchlist or track_event_interests, though it never names an alternative to route against.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a genuine precondition for the most dangerous paths — clear_personalization and delete_account 'both need confirm: true and an explicit request from the user' — which is real usage guidance. However, it gives no when-to-use-vs-sibling routing (interests here vs. track_event_interests, watchlist vs. manage_event_watchlist), so the agent must infer which tool owns interest tracking.

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

manage_event_watchlistManage watchlistsC
Destructive
Inspect

List, pause, resume, update or delete the user's watchlists by name. Also shows plan limits.

NameRequiredDescriptionDefault
nameNo
actionYes
filtersNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds one genuinely new behavioral fact — that it surfaces plan limits — but says nothing about permissions, irreversibility of delete, or rate limits.

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?

Two sentences with no padding, and the operation list is front-loaded. The trailing 'Also shows plan limits' is slightly dangling and unrelated to the preceding action sentence, but costs little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive multi-action tool with a rich nested filters object and no output schema, the description is thin: it never explains the filters, how name interacts with list/delete, or what plan limits means for the caller. An agent could invoke delete without understanding the scope.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden and falls short. It clarifies that watchlists are addressed 'by name', which maps to the name parameter, but the entire nested filters object (geo, price, alert_on, categories, etc.) is completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (the user's watchlists) and enumerates the five operations it performs, which is far better than a tautology. It does not, however, distinguish itself from similarly named manage_* siblings such as manage_alert_delivery or manage_event_profile, so the agent must infer scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The action list hints at what the tool does, but there is no guidance on when to choose pause vs. delete vs. update, no prerequisites, and no named alternatives among the siblings. The agent gets no help selecting this tool over the other watchlist-adjacent tools.

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

save_event_feedbackSave event feedbackAInspect

Record the user's reaction to an event: interested, not_interested (never recommend again), going, saved (alerts on changes), more_like_this or less_like_this (adjusts genre weighting). Only call when the user says so; never infer it.

NameRequiredDescriptionDefault
event_idYes
feedbackYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare the generic safety profile (not read-only, not idempotent, not destructive, closed-world). The description goes beyond them by disclosing per-value side effects: not_interested suppresses future recommendations, saved triggers change alerts, and the like/dislike values reweight genre preferences. It does not cover permissions or reversibility of these effects, so not a 5.

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 filler: the first defines the action and its value semantics, the second states the invocation guardrail. The most important content (what each feedback value does) is front-loaded and the constraint is not buried.

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 two-parameter mutation tool with no output schema, the description covers purpose, per-value effects, and the invocation rule. It omits what the call returns or whether feedback can be overwritten, which are minor gaps given the annotations already flag the mutation profile.

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 description coverage is 0%, so the description must carry the meaning of the parameters. It does this well for the six-value feedback enum, explaining the semantic effect of each option, which is exactly the information the bare enum list lacks. event_id is left undocumented, though its intent is self-evident from context.

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 and resource ('Record the user's reaction to an event') and then defines each of the six feedback values with their real-world meaning (never recommend again, alerts on changes, genre weighting). An agent can distinguish this from siblings like track_event_interests or manage_event_watchlist without opening any schema.

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?

Gives an explicit gating condition: 'Only call when the user says so; never infer it.' That is a clear when-to-use and when-not-to-use rule, stronger than most definitions. It stops short of naming an alternative sibling for overlapping intent, so it is not a full 5.

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

search_local_eventsSearch local eventsAInspect

Find upcoming events (concerts, comedy, theatre, sports, family shows, festivals) near a US ZIP code, a city or coordinates, filtered by dates, categories (Music, Sports, Arts & Theatre, Film, Miscellaneous, or genres such as Jazz or Comedy), keywords, artist, venue and maximum price. Returns events with local date, time zone, venue, published price range (null means not published, never free), ticket link, provenance, freshness and coverage limits. Sources: Ticketmaster, plus SeatGeek when enabled on this server; each event names its source (SeatGeek events say "Event data from SeatGeek"; credit it). SeatGeek resale_market prices are listed resale prices, not face value. The same event on both sources is shown once, with the other link under other_listings. Coverage varies by country; say so when results are thin. Never invent events beyond the results.

NameRequiredDescriptionDefault
zipNo
cityNo
pageNo
sizeNo
venueNo
artistNo
end_dateNo
keywordsNo
latitudeNo
longitudeNo
max_priceNo
radius_kmNo
categoriesNo
start_dateNo
country_codeNo
include_unpricedNo

TDQS

A4/5.0
Behavior5/5

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

Annotations only cover the safety/open-world profile; the description goes well beyond them, documenting return fields (local date, time zone, venue, price range, ticket link, provenance, freshness), the meaning of null price ('never published, never free'), source attribution and credit requirements, dedup behavior via other_listings, and coverage variability by country. This is exactly the behavioral context annotations cannot carry.

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 what the tool finds, then progressively narrows to filter semantics and provenance rules. Dense but nearly every sentence adds actionable meaning; the source-attribution sentences verge on padding but justify themselves by dictating output behavior.

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 16-parameter tool with no output schema, the description compensates well by describing the return shape, price semantics and cross-source dedup. The main gap is the handful of filter parameters (paging, radius, country, unpriced toggle) that remain undocumented anywhere.

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 0%, so the description must carry the load, and it does for most inputs: zip/city/coordinates, dates, categories (even supplying the enum values Music, Sports, Arts & Theatre, Film, Miscellaneous and genres the schema never lists), keywords, artist, venue and max price. It leaves page, size, radius_km, country_code and include_unpriced undocumented, so it falls short of full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Find) and resource (upcoming events) with explicit scope: US ZIP/city/coordinates plus date, category, keyword, artist, venue and price filters. It clearly separates itself from siblings like get_event_details or get_weekend_recommendations. It stops short of an explicit sibling-routing statement, so it lands at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real operating guidance ('say so when results are thin', 'never invent events beyond the results') and notes when SeatGeek is enabled, but offers no when-to-use-this-vs-alternative routing against the ten sibling tools. Usage context is implied by the filter list rather than spelled out.

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

track_event_interestsTrack event interestsAInspect

Save a persistent watchlist: a place (US ZIP code, city or coordinates, plus radius_km) and/or followed artists or teams, with optional categories, keywords, venues, maximum price and how many days ahead. AgentStructure then checks on a schedule and records newly observed matching events and changes as alerts. Saving again with the same name replaces it. Returns current matches as a preview.

NameRequiredDescriptionDefault
nameYes
filtersYes
previewNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare this as a non-read-only, open-world, non-destructive write, and the description adds real behavioral context beyond them: a scheduled evaluation loop, recording of newly observed events/changes as alerts, upsert-by-name replacement, and that a preview of current matches is returned. Minor tension exists with idempotentHint=false, since re-saving the same name is described as replacing (a state overwrite), but the scheduled side effects and shifting match set plausibly explain the non-idempotent hint.

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?

Three sentences, front-loaded with the primary purpose and what gets saved, then behavior, then return shape. Dense but nearly every clause carries information about the filter surface; the 'artists or teams' phrase is the one piece that creates noise, since no teams parameter exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/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 correctly summarizes the return as a preview of current matches, and annotations cover safety, so the main remaining gaps are the alert cadence ('on a schedule' is unspecified) and authentication needs. It also references following 'teams', which has no corresponding parameter in the schema, leaving a small mismatch an agent could trip on.

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 0%, so the description must carry the parameter burden and it only partially does. It usefully names the location inputs (zip, city, coordinates plus radius_km), artists, categories, keywords, venues, max_price and days_ahead, but omits required 'name' and 'filters' semantics, the 'preview' toggle, and, most importantly, 'alert_on' — the control over alert types — as well as place_label, country_code and include_unpriced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Save a persistent watchlist') and enumerates what the watchlist can contain, plus what happens afterward (scheduled checks recording new matches as alerts). It is clear on its own, but it never distinguishes itself from the very close sibling manage_event_watchlist, so an agent has no textual basis for choosing between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scenario of use is implied well (create a persistent watchlist for scheduled alerts rather than a one-off search), and the replace-on-same-name rule is a useful usage note. However, there is no explicit when-not guidance and no named alternative, notably the near-identical manage_event_watchlist sibling, which is exactly the ambiguity an agent would need resolved.

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.

  1. 1 tool update
    • Changedmanage_alert_delivery4 fields changed
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "get",
        -  "add_email",
        -  "remove_email",
        -  "add_phone",
        -  "remove_phone"
        -]New value: +[
        +  "get",
        +  "add_email",
        +  "remove_email",
        +  "add_phone",
        +  "remove_phone",
        +  "add_sms",
        +  "verify_sms",
        +  "remove_sms"
        +]
      • addedInput schema / properties / code
        Added value: +{
        +  "maxLength": 10,
        +  "type": "string"
        +}
      • addedInput schema / properties / consent
        Added value: +{
        +  "type": "boolean"
        +}
      • addedInput schema / properties / phone
        Added value: +{
        +  "maxLength": 30,
        +  "type": "string"
        +}
  2. 11 tool updates
    • First observedget_event_changes
    • First observedget_event_details
    • First observedget_followed_artists
    • First observedget_weekend_recommendations
    • First observedlist_local_event_alerts
    • First observedmanage_alert_delivery
    • First observedmanage_event_profile
    • First observedmanage_event_watchlist
    • First observedsave_event_feedback
    • First observedsearch_local_events
    • First observedtrack_event_interests

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables browsing live event, venue, and lineup listings city by city, with optional category filtering for gigs, club nights, comedy, theatre, and talks. Also returns full detail for any single event, including dates, venue and address, on-sale window, starting price, billed artists, and highlights such as age restrictions.
    388 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to search US concerts, comedy, theater, trivia, festivals, community events, and family activities by location, date, interests, and budget, returning event details and source links without requiring an account or API key for basic search.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables users to search for events, performers, and venues through the SeatGeek API. Provides event recommendations, detailed venue seating information, and performer discovery capabilities for ticketed entertainment events.
    4
    397 npm
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources