Skip to main content
Glama

Server Details

Manage Eventbrite events, ticket classes, venues and discounts; read attendees, orders and reports.

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
57.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 26 tools

Disambiguation5/5

Each tool maps to a distinct Eventbrite resource and action, with clear separations between list/get pairs (list_orders vs get_order), report tools (get_sales_report vs get_attendee_report), and event vs event-description retrieval. Descriptions explicitly disambiguate edge cases like capacity vs inventory tiers.

Naming Consistency5/5

All 26 tools use the eventbrite_ prefix and a consistent verb_noun snake_case pattern (copy_event, create_discount, get_attendee_report, list_organizations, update_ticket_class). No mixed conventions or vague verbs are present.

Tool Count2/5

26 tools exceeds the 25+ threshold for 'too many' in the rubric, even though most map to discrete API endpoints. Several read/report tools (attendee report, sales report, capacity, inventory tiers) could likely be consolidated, making the surface heavier than ideal.

Completeness3/5

The set covers event and ticket-class creation/update/publish plus discounts, venues, attendees, orders, and reports, but lacks notable lifecycle operations such as event cancellation, ticket-class deletion, venue update/delete, order refund, and attendee check-in. These gaps will limit agents managing post-sale or cleanup workflows.

Available Tools

26 tools
eventbrite_copy_eventCopy an eventA
Destructive
Inspect

Duplicate an event (tickets, payment options, refund policy, tax settings) into a new event with a new ID, optionally with a new name and dates. Eventbrite: POST /events/{event_id}/copy/.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName of the new event.
summaryNoSummary of the new event.
end_dateNoEnd of the new event, in UTC, e.g. 2026-12-01T02:00:00Z.
event_idYesSource event ID.
timezoneNoOlson timezone for the new event.
start_dateNoStart of the new event, in UTC, e.g. 2026-12-01T02:00:00Z.

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare destructiveHint=true, so the description carries most of the burden. It usefully discloses which data is carried over (tickets, payment options, refund policy, tax settings) and that a new ID is generated, and gives the underlying POST endpoint. It stops short of stating whether the source is left untouched or what the response contains.

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 tight sentences front-loaded with the verb and outcome, with the tool's scope in the first clause and the endpoint tucked at the end. No filler or redundancy.

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 six-parameter mutation tool with no output schema, the description covers what is duplicated and what is produced, and annotations cover the destructive profile. It leaves open the return shape (e.g., the new event ID) and publish state of the copy, which keeps it just short of complete.

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 100%, so all six parameters (including event_id, dates, timezone, summary) are already documented in the schema. The description only loosely restates 'new name and dates' without adding format, constraint, or interaction detail, so it earns the baseline 3.

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 (duplicate) and resource (event), and enumerates the copied sub-resources (tickets, payment options, refund policy, tax settings) plus the outcome (new event with a new ID). This cleanly separates it from eventbrite_create_event, which creates an event from scratch.

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 phrase 'optionally with a new name and dates' implies that those parameters are optional overrides, but there is no explicit when-to-use/when-not guidance and no direct routing to or from eventbrite_create_event or eventbrite_update_event. Usage is implied rather than stated.

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

eventbrite_create_discountCreate a discount or access codeA
Destructive
Inspect

Create a promo code (type=coded), a public discount (type=public, single event) or an access code that unlocks hidden tickets (type=access). Scope: event_id (+ticket_class_ids) for one event, ticket_group_id for a group, neither for all the organization's events. Eventbrite: POST /organizations/{organization_id}/discounts/.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code (or the public discount's name). No spaces for coded/access.
typeYescoded = promo code, public = shown on the listing, access = unlocks hidden tickets.
end_dateNoUsable until, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
event_idNoLimit to one event. Omit (with ticket_group_id also omitted) for an organization-wide discount.
amount_offNoFixed amount off in the event currency, e.g. "10" or "7.50". Not together with percent_off.
start_dateNoUsable from, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
percent_offNoPercentage off, 1.00–100.00, e.g. "20". Not together with amount_off.
organization_idYesOrganization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.
ticket_group_idNoLimit to one ticket group.
ticket_class_idsNoLimit to these ticket classes of event_id.
quantity_availableNoHow many times it can be used; 0 = unlimited.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations supply only destructiveHint=true and a title, so the description usefully adds the scope semantics and the underlying POST endpoint. It does not disclose authorization requirements, whether a duplicate code is rejected, or any limits on code creation, leaving meaningful behavioral gaps for a mutation tool with thin 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 tightly packed sentences, front-loaded with the type taxonomy and followed by the scoping rules; the Eventbrite endpoint is a compact trailing detail. Nothing is redundant given 11 parameters.

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 and only a destructiveHint annotation, the description carries the burden for a complex 11-parameter mutation. It covers creation types and scoping adequately, but omits what is returned, permission prerequisites, and failure behavior, so it is complete only at the level of construction, not consequences.

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 the baseline is 3, but the description contributes real added meaning by tying individual parameters into mutually exclusive scopes (event vs group vs organization), which the flat schema does not express as a rule. It stops short of clarifying the amount_off/percent_off exclusivity beyond what the schema already says.

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 (Create) plus the three concrete artifacts it can produce, and names the enum value that selects each: coded promo code, public discount, access code unlocking hidden tickets. It also states the scoping model, so an agent can distinguish this from list_discounts/update_discount without opening schemas.

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 explicit conditional guidance on which parameters select which scope: event_id (+ticket_class_ids) for one event, ticket_group_id for a group, neither for an org-wide discount. It does not name alternatives such as eventbrite_update_discount or eventbrite_list_discounts, nor state when not to create, so it falls short of a full 5.

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

eventbrite_create_eventCreate a draft eventA
Destructive
Inspect

Create a new event as a DRAFT (not visible or on sale until eventbrite_publish_event). Add tickets with eventbrite_create_ticket_class before publishing. Eventbrite: POST /organizations/{organization_id}/events/.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesEvent name.
listedNoPublicly searchable on Eventbrite (default true).
end_utcYesEnd time, in UTC, e.g. 2026-12-01T02:00:00Z.
summaryNoPlain-text summary, max 140 characters (Eventbrite's replacement for the old description field).
capacityNoEvent capacity. Omit to use the sum of the ticket class capacities.
currencyYesISO 4217 currency code, e.g. USD.
timezoneYesOlson timezone of the event, e.g. America/Los_Angeles or Europe/London.
venue_idNoVenue ID (from eventbrite_list_venues or eventbrite_create_venue).
format_idNoEvent format ID.
shareableNoShow social sharing buttons.
start_utcYesStart time, in UTC, e.g. 2026-12-01T02:00:00Z.
category_idNoEvent category ID.
invite_onlyNoOnly invited people can see the event page. Mutually exclusive with listed.
online_eventNoTrue if the event is online-only (no venue). Cannot be combined with venue_id.
organizer_idNoOrganizer profile ID. Omit to use the default organizer.
hide_end_dateNoHide the end date from attendees.
show_remainingNoShow the number of tickets left on the event page.
subcategory_idNoEvent subcategory ID (US only).
hide_start_dateNoHide the start date from attendees.
organization_idYesOrganization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations provide only destructiveHint=true, so the description carries the real behavioral load and does it well: it discloses that the event is not visible or on sale until a separate publish call, and that ticket classes must be attached before publishing. It omits auth/permission expectations and whether the draft can be deleted or is permanent.

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 short sentences, zero filler: the lifecycle constraint is front-loaded, then the ordering requirement, then the API endpoint. Every sentence earns its place.

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 20-parameter mutation with no output schema, the description covers the essential unknown (draft lifecycle and required follow-up calls) and the schema covers field-level detail. Missing only failure/auth expectations and what the response returns (event ID for subsequent ticket calls).

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 100% across all 20 parameters (including mutually exclusive constraints like listed vs invite_only and venue_id vs online_event), so the schema does the heavy lifting. The description adds no per-parameter meaning beyond the sequencing note about ticket classes; baseline 3 applies.

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+state: 'Create a new event as a DRAFT'. The parenthetical explains exactly what the draft state means and names the sibling (eventbrite_publish_event) that changes it, so an agent can distinguish this from publish/unpublish/update_event at a glance.

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 clear sequencing guidance: create as draft, then add tickets via eventbrite_create_ticket_class, then publish via eventbrite_publish_event. It names the follow-on alternatives and their order, but does not state when a different creation path (e.g., eventbrite_copy_event) would be preferable.

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

eventbrite_create_ticket_classCreate a ticket classB
Destructive
Inspect

Add a ticket type to an event. Paid: set cost like "USD,2500" and capacity. Free: free=true and capacity. Eventbrite: POST /events/{event_id}/ticket_classes/.

ParametersJSON Schema
NameRequiredDescriptionDefault
costNoTicket price as "<CURRENCY>,<minor units>", e.g. "USD,1000" is $10.00. Must match the event currency. Only for paid tickets.
freeNoTrue for a free ticket (then omit cost).
nameYesTicket name, e.g. General Admission.
hiddenNoHide this ticket from the event page.
capacityNoHow many of this ticket can be sold. Required for normal (non-donation, non-tiered) tickets.
donationNoTrue for a donation ticket (buyer picks the amount).
event_idYesEvent ID.
sales_endNoWhen sales close, in UTC, e.g. 2026-12-01T02:00:00Z.
descriptionNoTicket description.
include_feeNoAbsorb the Eventbrite fee into the displayed price.
sales_startNoWhen sales open, in UTC, e.g. 2026-12-01T02:00:00Z.
sales_channelsNoWhere it is sold: ["online"], ["atd"] (at the door) or both.
maximum_quantityNoMaximum per order.
minimum_quantityNoMinimum per order.
inventory_tier_idNoInventory tier to attach the ticket to (required for tiered events).
order_confirmation_messageNoMessage shown on the order confirmation for this ticket.

TDQS

B3.3/5.0
Behavior2/5

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

Annotations only declare destructiveHint=true; the description adds little beyond the REST endpoint mapping. It does not say what happens on success, whether the event must be in a draft state, what authorization is required, or what other side effects (e.g. capacity allocation against inventory tiers) occur. For a mutating creation tool this leaves most behavioral burden unmet.

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 short front-loaded sentences with no filler: purpose first, then the two calling modes, then the API mapping. Every sentence carries information.

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 16 parameters, only 2 required, no output schema, and a single annotation, the description covers the paid/free branch but omits required-field emphasis (event_id, name), the tiered-event case (inventory_tier_id), and any return-value expectation. Adequate to start but incomplete for a tool of this complexity.

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 100%, so every parameter is already documented in the schema, including the cost format, capacity requirement, and free-ticket rule. The description's paid/free summary restates schema information rather than adding new meaning, so the baseline 3 applies.

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 and resource ("Add a ticket type to an event") and the underlying endpoint POST /events/{event_id}/ticket_classes/, so the agent can tell it creates rather than updates or lists ticket classes. It does not explicitly name update_ticket_class or list_ticket_classes as the alternatives, so sibling differentiation is only implied.

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 gives mode-conditional guidance ("Paid: set cost ... Free: free=true and capacity"), which is useful for choosing the right parameter combination. However it gives no when-to-use/when-not-to-use framing against siblings, and no prerequisites such as event state or permissions.

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

eventbrite_create_venueCreate a venueA
Destructive
Inspect

Save a new venue under an organization, to use as an event's venue_id. Eventbrite: POST /organizations/{organization_id}/venues/.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity.
nameYesVenue name.
regionNoISO 3166-2 region code, e.g. CA.
countryNoISO 3166-1 two-letter country code, e.g. US.
capacityNoVenue capacity.
latitudeNoLatitude.
address_1NoStreet address, line 1.
address_2NoStreet address, line 2.
longitudeNoLongitude.
postal_codeNoPostal code.
organizer_idNoOrganizer the venue belongs to (omit for the default).
age_restrictionNoAge restriction.
google_place_idNoGoogle Place ID for the venue.
organization_idYesOrganization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.

TDQS

A3.5/5.0
Behavior3/5

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

The destructiveHint=true annotation already signals this is a state-mutating call. The description adds the concrete REST endpoint (POST /organizations/{organization_id}/venues/), which is genuinely useful, but says nothing about permissions/scopes needed, whether the created venue can be updated or removed, or any 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.

Conciseness5/5

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

Two tightly packed sentences: purpose first, then the underlying endpoint. No wasted words and the essential information is front-loaded.

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 14-parameter create tool with no output schema, the description leans entirely on the fully-covered schema. It doesn't explain what is returned (venue ID) or confirm the required org/name fields, leaving minor gaps for an agent that only reads the description.

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 100%, so the schema already documents all 14 parameters including the required organization_id and name. The description provides no additional parameter meaning, so the baseline 3 applies.

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 ('Save a new venue') and resource ('venue'), with the scope 'under an organization' and the follow-on purpose ('to use as an event's venue_id'). This clearly distinguishes it from list_venues and read tools, though it doesn't explicitly name a sibling to contrast with.

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 clause 'to use as an event's venue_id' implies the usage context (create a venue when you need one to attach to an event), but there is no explicit when-to-use, when-not-to-use, or named alternative such as list_venues for lookup.

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

eventbrite_get_attendeeGet an attendeeA
Read-only
Inspect

Fetch one attendee of an event, including check-in state (checked_in, barcodes[].status), answers and cost breakdown. Eventbrite: GET /events/{event_id}/attendees/{attendee_id}/.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoComma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
event_idYesEvent ID.
attendee_idYesAttendee ID.

TDQS

A3.6/5.0
Behavior4/5

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

readOnlyHint=true already declares the safety profile, and the description adds real value on top: it enumerates what the response carries (checked_in, barcodes[].status, answers, cost breakdown) and pins the call to the underlying REST path. It stops short of documenting auth scope, rate limits, or error behavior.

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 zero filler; the purpose and returned payload are front-loaded and the API endpoint reference is relegated to the end. Every clause earns its place.

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 correctly compensates by naming key return fields, and a single-record read needs little more. Minor gaps remain: no statement that a missing ID yields an error versus empty, and no pagination/lookup caveat.

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 100%, so event_id, attendee_id, and expand are fully documented in the schema itself. The description adds nothing about parameter formats or the expand syntax, so the baseline 3 applies.

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 ("Fetch") and resource ("one attendee of an event"), and the singular framing implicitly distinguishes it from the list_attendees sibling. It does not name the alternative tool explicitly, so an agent must infer the split from the singular/plural wording rather than being told.

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?

There is no when-to-use guidance, no prerequisites, and no mention of when to prefer this over eventbrite_list_attendees or eventbrite_get_attendee_report. The usage is only inferable from the tool name, which matches the calibration's 'no when-to-use' case.

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

eventbrite_get_attendee_reportGet an attendee reportB
Read-only
Inspect

Attendee report for one or more events: number of attendees and orders per time bucket, optionally grouped. Eventbrite: GET /reports/attendees/.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoNumber of date_facet units back from now, e.g. date_facet=hour + period=3 = last 3 hours.
end_dateNoReport end date, e.g. 2026-09-30.
group_byNoGroup the report by this dimension.
timezoneNoTimezone for the report (default: the first event's).
event_idsYesOne or more Event IDs to report on.
date_facetNoTime bucket for the data points (default day).
start_dateNoReport start date, e.g. 2026-09-01.
event_statusNoFilter by event status.

TDQS

B3.2/5.0
Behavior3/5

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

readOnlyHint=true already establishes the safety profile, so the bar is lower. The description adds the aggregation model (time-bucketed counts of attendees and orders) which is beyond annotations, but omits response shape, pagination, and auth requirements.

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 compact sentences, front-loaded with the resource and result content; the API endpoint is tucked at the end. No waste, though the endpoint reference is marginal value for an agent.

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 an 8-parameter aggregation tool with no output schema, the description should clarify the report's structure and its distinction from get_sales_report. Annotations cover safety and the schema covers params, but sibling differentiation is missing.

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 100% (every param documented, including the tricky date_facet/period interaction and timezone default). Description adds nothing beyond that, so baseline 3 is appropriate.

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 ('Attendee report for one or more events') with detail on the content ('number of attendees and orders per time bucket'). However it does not differentiate from the sibling 'eventbrite_get_sales_report', which is a closely related report tool — an agent cannot easily tell which report to choose.

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?

No when-to-use guidance, no alternatives named, and no exclusions. The closest sibling (get_sales_report) is never addressed, so the agent has no routing signal.

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

eventbrite_get_capacityGet an event's capacityA
Read-only
Inspect

Fetch the event capacity tier: capacity_total, capacity_sold, capacity_pending, quantity_total and capacity holds. Eventbrite: GET /events/{event_id}/capacity_tier/.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent ID.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context by naming the concrete fields returned and the underlying endpoint, but discloses nothing about auth requirements, rate limits, or what happens when no tier exists.

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 compact sentences that front-load the returned fields before the endpoint reference. Slightly less than ideal because the raw API path adds little actionable value for an agent.

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 single-parameter read tool with no output schema, the description helpfully enumerates the returned capacity fields while annotations cover the safety profile. It is nearly complete, missing only guidance on how to locate event_id or handle an absent capacity tier.

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 100% with a single event_id parameter documented as 'Event ID.', so the schema already carries the parameter semantics. The description adds no format or constraint detail beyond what the schema provides, making the baseline of 3 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?

States a specific verb (Fetch) and resource (event capacity tier), then enumerates the exact data returned (capacity_total, capacity_sold, capacity_pending, quantity_total, holds). This is clearly distinguishable from sibling read tools like eventbrite_get_sales_report or eventbrite_list_inventory_tiers.

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 only implied through the name and the enumerated fields; there is no statement of when to use this versus eventbrite_list_inventory_tiers or eventbrite_get_event, and no prerequisites or exclusions are given.

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

eventbrite_get_eventGet an eventA
Read-only
Inspect

Fetch one event: name, summary, start/end, status, capacity, venue_id, listing settings. Use expand=venue,ticket_classes for more. Eventbrite: GET /events/{event_id}/.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoComma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
event_idYesEvent ID.

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the returned field set and notes the underlying GET endpoint, mildly reinforcing read-only semantics, but says nothing about auth requirements, rate limits, or behavior when the event is missing.

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 plus a short endpoint reference, with the resource and key fields front-loaded and zero filler. Every clause earns its place.

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 usefully enumerates the primary return fields, which an agent would otherwise lack. For a simple 2-parameter read operation this is close to sufficient, though it omits expansions behavior and error conditions.

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 100%, so baseline is 3; the description goes slightly further by recommending specific expansions (venue, ticket_classes) suited to this endpoint, adding tool-specific value beyond the schema's generic example. Still no elaboration on event_id format 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?

States a specific verb (Fetch) and resource (one event), and enumerates the concrete fields returned (name, summary, start/end, status, capacity, venue_id, listing settings). The phrase 'one event' implicitly distinguishes it from eventbrite_list_events, so an agent can tell what this does 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 Guidelines3/5

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

Provides one invocation hint ('Use expand=venue,ticket_classes for more') but no explicit when-to-use guidance versus siblings like eventbrite_get_event_description or eventbrite_get_capacity. Contextual usage for fetching a single event is implied rather than stated.

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

eventbrite_get_event_descriptionGet an event's full descriptionB
Read-only
Inspect

Fetch the fully rendered HTML description of an event (summary plus the page modules). Eventbrite: GET /events/{event_id}/description/.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent ID.

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the bar is lower. The description adds useful context that the return is fully rendered HTML including page modules rather than plain structured fields, but says nothing about permissions, rate limits, or failure behavior.

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 compact sentences: the capability first, then the underlying endpoint. No filler and nothing that fails to earn its place.

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 necessary work of telling the agent what comes back (rendered HTML of summary + modules), which is the key fact for this tool. It is only slightly thin on how the returned HTML relates to the summary field on get_event.

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 100% with a single documented event_id parameter, so the schema carries the semantics. The description adds nothing about the identifier's format or source beyond restating "event" scoping, making the baseline 3 appropriate.

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 and resource ("Fetch the fully rendered HTML description of an event") and clarifies the payload is the summary plus the page modules, which distinguishes it from a plain event lookup. It does not explicitly name the sibling eventbrite_get_event as the alternative, so sibling differentiation is left implicit.

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?

There is no statement of when to use this versus eventbrite_get_event or any other sibling, and no prerequisites or exclusions. The only hint is the word "full", which the agent must interpret on its own.

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

eventbrite_get_meGet my userA
Read-only
Inspect

Fetch the Eventbrite user the token belongs to (name, emails). A cheap way to confirm the token works. Eventbrite: GET /users/me/.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

readOnlyHint=true already establishes the safety profile, and the description adds value on top by disclosing the returned fields (name, emails) and the cheap/likely low-cost nature of the call. It stops short of stating auth scope requirements, but for a trivial read that is minor.

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 short sentences, front-loaded with the purpose, then a usage hint and the API mapping. Nothing is wasted or redundant.

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 input params and no output schema, the description compensates by naming the returned data (name, emails) and the primary use case. It is nearly complete for a trivial read; only auth/scope details are absent.

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?

Zero parameters, so the schema baseline of 4 applies. The description correctly implies no input is required since the token alone identifies the resource.

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 ('Fetch') and resource ('the Eventbrite user the token belongs to'), and even names the underlying endpoint GET /users/me/. It distinguishes itself from the many sibling getters (get_attendee, get_event, get_order) by tying the resource to the authenticated token.

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?

'A cheap way to confirm the token works' gives a concrete reason to call this over other tools, and the token-scoped framing implies when it is appropriate. No explicit alternatives or when-not-to-use guidance is given, but no sibling overlaps this resource.

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

eventbrite_get_orderGet an orderA
Read-only
Inspect

Fetch one order. Use expand=attendees,event to include its tickets and event. Eventbrite: GET /orders/{order_id}/.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoComma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
order_idYesOrder ID.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read. The description adds real value by explaining the expand semantics (extra payload when requested) and mapping to the REST path, but it does not cover auth requirements, error behavior for missing/invalid order IDs, or pagination (not applicable here).

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 tight sentences, front-loaded with the core action and then the expand guidance. The trailing endpoint reference is arguably redundant given the tool name, but it is short and adds a REST anchor.

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 simple read-only lookup with fully covered parameters and no output schema, the description supplies the essential expand behavior and the identity of the resource. Only the absence of error/permission context keeps it from being fully 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?

Schema coverage is 100%, setting a baseline of 3, and the description goes further by naming specific expand values (attendees,event) and describing their effect — values the schema example (venue,organizer,ticket_classes) does not mention. This meaningfully enriches the expand parameter beyond structured data.

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 (Fetch) and singular resource (one order) plus the underlying endpoint, so an agent can distinguish it from eventbrite_list_orders. It does not explicitly name the sibling it complements, so it stops short of a 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 one concrete usage cue — pass expand=attendees,event to include tickets and event — but says nothing about when to prefer this over eventbrite_list_orders or eventbrite_get_attendee, and lists no preconditions or failure modes.

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

eventbrite_get_sales_reportGet a sales reportA
Read-only
Inspect

Sales report for one or more events: gross, net, fees, royalty and quantity per time bucket, optionally grouped (by ticket, payment method, country, ...). Eventbrite: GET /reports/sales/.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoNumber of date_facet units back from now, e.g. date_facet=hour + period=3 = last 3 hours.
end_dateNoReport end date, e.g. 2026-09-30.
group_byNoGroup the report by this dimension.
timezoneNoTimezone for the report (default: the first event's).
event_idsYesOne or more Event IDs to report on.
date_facetNoTime bucket for the data points (default day).
start_dateNoReport start date, e.g. 2026-09-01.
event_statusNoFilter by event status.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds useful content about the dimensions returned (gross, net, fees, royalty, quantity) and optional grouping, but says nothing about pagination, response shape, or limits on multi-event queries.

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 resource and metric list in one dense sentence, with the endpoint appended. No wasted sentences, though the parenthetical grouping examples edge toward noise given the enum already lists them.

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 100% schema coverage and readOnlyHint, the main gap is the absence of an output schema, which the description partially compensates for by naming the returned metrics. Lacks detail on result structure per bucket, but is adequate for an 8-param read tool.

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 100%, so all 8 parameters (date_facet, period, group_by, timezone, etc.) are already documented in the schema. The description's mention of grouping and time buckets duplicates the schema rather than adding syntax or constraints.

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 ('Sales report'), enumerates the returned metrics (gross, net, fees, royalty, quantity), and adds the endpoint reference. An agent can distinguish it from siblings like eventbrite_get_attendee_report or eventbrite_list_orders without opening schemas.

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?

Use case is implied by 'report for one or more events' and the grouping capability, but there is no explicit when-to-use or when-not-to guidance versus eventbrite_get_attendee_report or the list tools. The agent must infer suitability from the metric list.

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

eventbrite_list_attendeesList attendeesA
Read-only
Inspect

List attendees (one per sold ticket) of one event OR of all of an organization's events. Each attendee carries checked_in, cancelled, refunded, status, ticket_class_name, profile and barcodes (status unused/used). Pass exactly one of event_id / organization_id. Eventbrite: GET /events/{event_id}/attendees/ or GET /organizations/{organization_id}/attendees/.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoComma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
statusNoattending = Attending or Checked In; not_attending = Not Attending or Deleted; unpaid (event only) = order not paid.
event_idNoEvent ID — list this event's attendees.
continuationNopagination.continuation from the previous page. Omit for the first page.
changed_sinceNoOnly attendees changed on or after this time, in UTC, e.g. 2026-12-01T02:00:00Z.
organization_idNoOrganization ID — list attendees across all its events.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, and the description meaningfully extends that by enumerating what each attendee record carries (checked_in, cancelled, refunded, status, ticket_class_name, profile, barcodes with used/unused status) and by mapping the call to the underlying GET endpoints. It does not mention pagination limits or rate-limit behavior.

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 tight sentences: scope first, then the disambiguating mutual-exclusion rule, then the API mapping. Every clause carries information and nothing is repeated from the schema.

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 read-only list tool with no output schema, the description supplies the return-record shape, the scope rule, and the endpoint mapping, and the schema covers pagination via continuation. The only gap is that page-size/termination behavior for pagination is left implicit.

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 100% so the baseline is 3, but the description adds a cross-parameter constraint the schema cannot express: event_id and organization_id are mutually exclusive and exactly one is required (the schema marks neither as required). That is genuine semantic value beyond the structured fields.

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 precise verb and resource ("List attendees") plus the granularity ("one per sold ticket") and the two supported scopes (single event or all of an organization's events). This is clearly distinguishable from sibling get_attendee, though the description never names that sibling explicitly.

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 gives one concrete invocation rule ("Pass exactly one of event_id / organization_id"), which prevents a common misuse, but offers no guidance on when to prefer this over get_attendee, get_attendee_report, or list_orders. Usage is implied by the scoping sentence 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.

eventbrite_list_discountsList discountsA
Read-only
Inspect

Search an organization's discounts and access codes, with quantity_sold. scope=event needs event_id; multi_events = cross-event discounts; user = all of the organization's. Eventbrite: GET /organizations/{organization_id}/discounts/.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoExact code or name match. Not together with code_filter.
typeNoOnly this discount type.
scopeYesDiscount scope. event requires event_id.
event_idNoEvent ID (required when scope=event).
page_sizeNoRecords per page.
code_filterNoApproximate code or name match. Not together with code.
continuationNopagination.continuation from the previous page. Omit for the first page.
organization_idYesOrganization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered; the description adds that results include quantity_sold and that the call maps to GET /organizations/{organization_id}/discounts/. It omits auth requirements, rate limits, and pagination walkthrough, so it is good 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.

Conciseness4/5

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

Two compact sentences, front-loaded with the primary action and resource, with the scope rules following. The 'with quantity_sold' fragment is slightly awkward but costs little.

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 an 8-parameter read tool with full schema coverage and a readOnly annotation, the description covers purpose, scoping modes, and one notable return field. Since no output schema exists, quantity_sold is a useful hint, though return shape and pagination behavior remain only partly explained.

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 100% and every parameter is documented there, so baseline is 3. The description's scope explanation largely restates the scope enum description ('event requires event_id') rather than adding new syntax or format 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?

States a specific verb (Search/list) and resource (organization's discounts and access codes) plus a distinctive output detail (quantity_sold). The verb distinguishes it cleanly from create_discount and update_discount among siblings.

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?

Explains what each scope value means (event needs event_id, multi_events = cross-event, user = all org discounts), which effectively tells the agent which invocation mode to pick. It does not name alternative sibling tools or state exclusions, so it falls 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.

eventbrite_list_eventsList an organization's eventsB
Read-only
Inspect

List the events of an organization, filterable by status, name and past/upcoming. Eventbrite: GET /organizations/{organization_id}/events/.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoComma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
statusNoFilter by event status.
order_byNoSort order.
page_sizeNoRecords per page.
name_filterNoOnly events whose name matches this text.
time_filterNoPast, or current and future, events.
continuationNopagination.continuation from the previous page. Omit for the first page.
organization_idYesOrganization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds the REST endpoint mapping and implies filtering capability, but says nothing about pagination limits or result volume beyond what the schema's continuation/page_size fields convey.

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?

A single front-loaded sentence states the resource and filters, followed by a compact endpoint reference. It is tight and free of filler, though the raw endpoint string adds little for an agent that already has the tool binding.

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 listing tool with fully documented parameters but no output schema, the description leaves the returned shape and pagination behavior unexplained (the continuation param hints at pagination but the description does not). Adequate but not complete.

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 100%, so every parameter is already documented in the schema, including enum values for status, order_by, time_filter, and the expand detail. The description's mention of status/name/past-upcoming filtering merely echoes schema content, adding no new 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 a specific verb (List) and resource (an organization's events) and even maps it to the underlying API endpoint. It does not explicitly contrast itself with sibling list tools (e.g., list_organizations) or get_event, but the resource scope is unambiguous.

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?

There is no guidance on when to choose this tool over eventbrite_get_event (single event) or eventbrite_list_organizations. The mention of filters implies a bulk/query use case but no conditions or exclusions are stated.

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

eventbrite_list_inventory_tiersList an event's inventory tiersA
Read-only
Inspect

List the inventory tiers of a tiered or reserved-seating event, with quantity_total, quantity_sold, quantity_pending and linked ticket_class_ids. Eventbrite: GET /events/{event_id}/inventory_tiers/.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent ID.
continuationNopagination.continuation from the previous page. Omit for the first page.
count_against_event_capacityNoOnly tiers that do (true) or do not (false, e.g. add-ons) count against event capacity.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read. The description adds value by naming the returned quantity and linkage fields and citing the underlying endpoint, but it omits pagination behavior even though a continuation parameter exists. Adequate with annotations doing the safety work.

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, zero waste: purpose and return payload first, endpoint reference second. Nothing is padded and the most decision-relevant information is front-loaded.

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 compensates by enumerating the key returned fields, which is genuinely useful. The only meaningful gap is that pagination via the continuation parameter is not described, a minor omission for a simple read tool.

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 100%, so all three parameters (event_id, continuation, count_against_event_capacity) are already documented in the schema, making 3 the baseline. The description mentions ticket_class_ids linkage but adds no syntax or meaning beyond the schema.

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 and resource ('List the inventory tiers of a tiered or reserved-seating event') and enumerates the returned fields, so the agent knows exactly what comes back. It scopes applicability to tiered/reserved-seating events, which implicitly separates it from list_ticket_classes, but never names that sibling explicitly.

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 qualifier 'tiered or reserved-seating event' gives an implied condition for use, which is more than nothing. However, it never states when to prefer this over the closely related eventbrite_list_ticket_classes or eventbrite_get_capacity, leaving the agent to infer the choice.

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

eventbrite_list_ordersList ordersA
Read-only
Inspect

List orders of one event OR of all of an organization's events: buyer name/email, status, costs. Pass exactly one of event_id / organization_id. Eventbrite: GET /events/{event_id}/orders/ or GET /organizations/{organization_id}/orders/.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoComma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
statusNoactive = attending orders, inactive = not attending, both, or all_not_deleted.
event_idNoEvent ID — list this event's orders.
continuationNopagination.continuation from the previous page. Omit for the first page.
changed_sinceNoOnly orders changed on or after this time, in UTC, e.g. 2026-12-01T02:00:00Z.
organization_idNoOrganization ID — list orders across all its events.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds the concrete endpoint mapping (GET /events/{event_id}/orders/ vs GET /organizations/{organization_id}/orders/) plus the field set returned. It does not describe pagination flow (only the schema's continuation field does), so it is good 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?

Two tight sentences: scope and returned fields first, the parameter rule second. Zero filler, fully front-loaded.

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 read-only list tool with no output schema, it covers scope, returned fields, and the identifier rule; pagination and expansions are handled by the schema. Nothing critical is missing, though a note on pagination expectations would round it out.

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 the baseline would be 3, but the description adds the mutually-exclusive constraint between event_id and organization_id that the schema does not express, plus the notion of scope per identifier. The remaining params (expand, status, continuation, changed_since) are left to 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?

States a specific verb (List) and resource (orders) with two clearly delineated scopes: one event vs. all events of an organization. It also enumerates the returned fields (buyer name/email, status, costs) and maps to the exact REST endpoints, making it easy to distinguish from the singular eventbrite_get_order sibling.

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 directive 'Pass exactly one of event_id / organization_id' is a crisp, actionable rule that tells the agent which parameter shape selects which scope. It lacks an explicit pointer to alternatives such as eventbrite_get_order for a single order, so it falls just short of a full when/when-not treatment.

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

eventbrite_list_organizationsList my organizationsA
Read-only
Inspect

List the organizations you are a member of. Almost every other tool needs an organization_id from here. Eventbrite: GET /users/me/organizations/.

ParametersJSON Schema
NameRequiredDescriptionDefault
continuationNopagination.continuation from the previous page. Omit for the first page.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context that results are membership-scoped (i.e., tied to the authenticated user, no user parameter needed) and names the underlying endpoint. It says nothing about result size, pagination behavior beyond the schema field, or ordering.

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 tight sentences, each earning its place: identity/scope first, workflow positioning second, endpoint reference last. Everything is front-loaded with zero padding.

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-optional-parameter read tool with no output schema, the description covers purpose, scope, and its role as the source of organization_id for downstream calls. It does not describe the returned organization objects, but with annotations carrying the safety profile and only one documented parameter, the gap is minor.

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 100% and the single 'continuation' parameter is fully documented in the schema, so the description does not need to compensate. It adds nothing about the parameter, so the baseline 3 applies.

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 first sentence gives a specific verb ('List') and resource ('organizations') plus the scope ('you are a member of'), which no sibling tool shares — all other list_* tools cover events, attendees, orders, venues, discounts, ticket classes, or inventory tiers. It is impossible to confuse this with any sibling.

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?

'Almost every other tool needs an organization_id from here' is unusually strong routing guidance: it positions this as the prerequisite discovery call in the workflow. It stops short of explicit when-not-to-use or naming a specific alternative call, so it lands at 4 rather than 5.

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

eventbrite_list_ticket_classesList an event's ticket classesA
Read-only
Inspect

List the ticket types of an event with price, capacity, quantity_sold and sales window. Eventbrite: GET /events/{event_id}/ticket_classes/.

ParametersJSON Schema
NameRequiredDescriptionDefault
posNoOnly tickets valid for this point of sale.
categoryNoOnly this ticket category.
event_idYesEvent ID.
continuationNopagination.continuation from the previous page. Omit for the first page.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered and the bar is lower. The description adds only the underlying endpoint (GET /events/{event_id}/ticket_classes/), which is mild grounding context; it says nothing about pagination behavior, rate limits, or result size.

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 compact sentences with the resource and returned fields front-loaded, no filler. The trailing endpoint reference is arguably redundant, keeping it just short of perfect.

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?

There is no output schema, and the description compensates by naming the fields returned (price, capacity, quantity_sold, sales window), which is exactly the missing context an agent needs. Pagination is covered by the schema's continuation parameter, so the only minor gap is that result size/ordering is not stated.

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 100%, with both enum parameters (pos, category) and the continuation parameter documented in the schema itself. The description adds no syntax or filtering semantics beyond what the schema provides, so the baseline 3 is appropriate.

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 and resource ('List the ticket types of an event') and enumerates the returned fields (price, capacity, quantity_sold, sales window), which is more than a restatement of the title. It does not explicitly contrast itself with create_ticket_class, update_ticket_class, or list_inventory_tiers, so sibling differentiation is left implicit.

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: the required event_id and the 'of an event' phrasing make the context of use obvious. However, there is no explicit when-to-use or when-not-to-use guidance, and no mention of alternatives such as get_capacity or list_inventory_tiers that also surface capacity/ticket information.

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

eventbrite_list_venuesList an organization's venuesB
Read-only
Inspect

List the saved venues of an organization, with address and capacity. Eventbrite: GET /organizations/{organization_id}/venues/.

ParametersJSON Schema
NameRequiredDescriptionDefault
continuationNopagination.continuation from the previous page. Omit for the first page.
organization_idYesOrganization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.

TDQS

B3.2/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe, non-mutating call, so the safety profile is covered. The description adds useful non-annotation context by naming the underlying GET endpoint and the fields returned, but says nothing about pagination behavior, result ordering, or permissions.

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?

Single tight sentence that front-loads the resource and the returned fields. The trailing raw endpoint string is boilerplate that adds little for an agent but costs only a few tokens.

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 read-only list tool with full schema coverage and no output schema, the description covers the essential return content and the schema covers the parameters. The only real gap is that pagination is not mentioned in the description, though the continuation parameter documents it adequately.

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 100%, including a warning on organization_id that it is not the organizer id and a clear explanation of continuation for pagination. The description adds nothing beyond the schema here, so the baseline 3 applies.

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 and resource ('List the saved venues of an organization') plus what comes back (address and capacity), which clearly separates it from write siblings like eventbrite_create_venue. It does not, however, explicitly contrast itself with the closest read siblings (eventbrite_list_organizations, eventbrite_get_capacity), so it stops short of full sibling differentiation.

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 contains no when-to-use condition, no prerequisite, and no alternative tool to prefer under other circumstances. An agent must infer from the name alone that this is the way to enumerate an organization's venues.

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

eventbrite_publish_eventPublish an eventA
Destructive
Inspect

Make a draft event live so tickets go on sale. Needs a name, organizer, at least one ticket class and valid payment options. Undo with eventbrite_unpublish_event while there are no orders. Eventbrite: POST /events/{event_id}/publish/.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent ID.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare destructiveHint=true; the description adds useful state-change context (draft becomes live, tickets go on sale) and reversibility constraints. It does not cover authentication, rate limits, or error behavior, but it meaningfully supplements the sparse annotation.

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 front-loaded sentences, each with a distinct job: purpose, prerequisites, and undo/endpoint. No filler, and the most important information (what it does) comes first.

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 one required parameter, full schema coverage, no output schema, and only a destructive hint annotation, the description supplies all the context an agent needs: purpose, prerequisites, undo path, and the underlying API endpoint. Nothing essential is missing.

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 100%, so the baseline is 3. The description never mentions event_id or adds syntax/format meaning beyond 'Event ID.' in the schema, so it neither helps nor hurts parameter understanding.

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 ('Make a draft event live') and resource ('event'), and distinguishes from the undo sibling by naming eventbrite_unpublish_event. An agent can immediately tell this is the publishing action distinct from create/update/unpublish.

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 explicit prerequisites (name, organizer, ticket class, payment options) that define when the tool can be used, and names the undo alternative with its own condition ('while there are no orders'). This is clear routing guidance beyond the schema.

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

eventbrite_unpublish_eventUnpublish an eventA
Destructive
Inspect

Take a published event back to unpublished. Only allowed while it has no pending or completed orders (or, for paid events, once completed and paid out). Eventbrite: POST /events/{event_id}/unpublish/.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent ID.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, so the safety profile is covered; the description adds real value beyond that by disclosing the state preconditions that cause failure. It omits what happens to the event page/tickets after unpublishing and whether it is reversible, which would complete the picture.

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 the state transition first and the precondition second, plus a compact endpoint reference. 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?

For a single-parameter mutation with no output schema, the description covers the state change and the eligibility condition, which is the critical missing piece an agent needs. Return shape and post-unpublish effects are unstated but low-risk given the simplicity.

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% and the single event_id parameter is documented in the schema; the description adds no format, source, or semantics beyond what is already there. Baseline 3 for a fully-covered single-param tool.

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 ('Take a published event back to unpublished') that is the exact inverse of the sibling eventbrite_publish_event, so the agent can route correctly without opening either schema. The API endpoint reference reinforces the intent.

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 precondition for when the operation is allowed ('no pending or completed orders (or, for paid events, once completed and paid out)'), which is genuinely actionable constraint guidance. It stops short of naming the alternative for re-publishing or what to do when the precondition fails, so it isn't a full 5.

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

eventbrite_update_discountUpdate a discountA
Destructive
Inspect

Change a discount or access code (amount, uses, dates, scope); only the fields you pass are sent. Eventbrite: POST /discounts/{discount_id}/.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoNew code.
end_dateNoUsable until, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
event_idNoLimit to one event. Omit (with ticket_group_id also omitted) for an organization-wide discount.
amount_offNoFixed amount off in the event currency, e.g. "10" or "7.50". Not together with percent_off.
start_dateNoUsable from, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
discount_idYesDiscount ID.
percent_offNoPercentage off, 1.00–100.00, e.g. "20". Not together with amount_off.
ticket_group_idNoLimit to one ticket group.
ticket_class_idsNoLimit to these ticket classes of event_id.
quantity_availableNoHow many times it can be used; 0 = unlimited.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations supply only destructiveHint=true, so the description must carry behavioral weight. It usefully clarifies that unpassed fields are left untouched, which is real information beyond the annotation, but says nothing about effects on already-issued/redeemed codes, reversibility, or auth requirements for a mutating endpoint.

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 compact clauses, front-loaded with the core action and the partial-update rule, plus the backing endpoint. Nothing is redundant or padded.

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 mutation with no output schema, the essentials (op, partial semantics, endpoint) are present and the schema covers parameters fully. It stops short of disclosing the consequences of editing a live discount or how failures surface, which an agent would want before calling a destructive-hinted tool.

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 100%, so all 10 parameters are already documented with formats, patterns, and mutual exclusions in the schema. The description's field list (amount, uses, dates, scope) adds no syntax or constraint detail beyond it, so baseline 3 applies.

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 (Change) and resource (a discount or access code) and enumerates the mutable facets (amount, uses, dates, scope). Against siblings like eventbrite_create_discount and eventbrite_list_discounts the operation is unmistakably the update path.

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?

'Only the fields you pass are sent' implies partial-update (PATCH-style) invocation, which is genuine usage context. However, it never states when to choose this over eventbrite_create_discount or eventbrite_list_discounts, nor any prerequisites or exclusions.

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

eventbrite_update_eventUpdate an eventA
Destructive
Inspect

Change fields of an existing event; only the fields you pass are sent. Changing start/end needs timezone too. Eventbrite: POST /events/{event_id}/.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew event name.
listedNoPublicly searchable on Eventbrite (default true).
end_utcNoNew end time, in UTC, e.g. 2026-12-01T02:00:00Z.
summaryNoPlain-text summary, max 140 characters (Eventbrite's replacement for the old description field).
capacityNoEvent capacity. Omit to use the sum of the ticket class capacities.
currencyNoISO 4217 currency (not changeable after paid sales).
event_idYesEvent ID.
timezoneNoOlson timezone of the event, e.g. America/Los_Angeles or Europe/London.
venue_idNoVenue ID (from eventbrite_list_venues or eventbrite_create_venue).
format_idNoEvent format ID.
shareableNoShow social sharing buttons.
start_utcNoNew start time, in UTC, e.g. 2026-12-01T02:00:00Z.
category_idNoEvent category ID.
invite_onlyNoOnly invited people can see the event page. Mutually exclusive with listed.
online_eventNoTrue if the event is online-only (no venue). Cannot be combined with venue_id.
organizer_idNoOrganizer profile ID. Omit to use the default organizer.
hide_end_dateNoHide the end date from attendees.
show_remainingNoShow the number of tickets left on the event page.
subcategory_idNoEvent subcategory ID (US only).
hide_start_dateNoHide the start date from attendees.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare destructiveHint=true; the description adds genuinely new behavior by disclosing PATCH-style semantics (omitted fields are untouched) and the start/end-plus-timezone coupling. It omits other behavioral context an agent would value, such as permission/scope needs, whether changes to a live event with sales are restricted, or what the call returns.

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 short clauses, tightly front-loaded with the update semantics and the key constraint before the low-value API path. The trailing 'Eventbrite: POST /events/{event_id}/' is mostly an implementation detail that does little for tool selection, but it costs only a few tokens.

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 20-parameter, destructive-capable update tool with no output schema, the description covers the update semantics well and the schema covers field-level detail. It is still silent on return behavior, on the destructive consequences of editing a published event, and on which edits belong to sibling tools.

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 100% and each of the 20 parameters is documented in the schema, so the baseline is 3. The description goes beyond that by explaining that all fields are optional and that supplying start_utc/end_utc obliges a timezone, adding meaning the schema does not state on its own.

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 and resource ('Change fields of an existing event'), and the word 'existing' implicitly separates it from eventbrite_create_event and eventbrite_copy_event. It stops short of naming any sibling explicitly, so it does not reach the 5 bar of active sibling differentiation.

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 clear operating context: this is a partial update ('only the fields you pass are sent') and a cross-field prerequisite ('Changing start/end needs timezone too'). It never says when a different tool is required, e.g. routing ticket-class edits to eventbrite_update_ticket_class or visibility toggles to eventbrite_publish_event/eventbrite_unpublish_event.

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

eventbrite_update_ticket_classUpdate a ticket classA
Destructive
Inspect

Change a ticket type (name, price, capacity, sales window, visibility); only the fields you pass are sent. The price cannot change after tickets are sold. Eventbrite: POST /events/{event_id}/ticket_classes/{ticket_class_id}/.

ParametersJSON Schema
NameRequiredDescriptionDefault
costNoTicket price as "<CURRENCY>,<minor units>", e.g. "USD,1000" is $10.00. Must match the event currency. Only for paid tickets.
freeNoTrue for a free ticket (then omit cost).
nameNoNew ticket name.
hiddenNoHide this ticket from the event page.
capacityNoHow many of this ticket can be sold. Required for normal (non-donation, non-tiered) tickets.
donationNoTrue for a donation ticket (buyer picks the amount).
event_idYesEvent ID.
sales_endNoWhen sales close, in UTC, e.g. 2026-12-01T02:00:00Z.
descriptionNoTicket description.
include_feeNoAbsorb the Eventbrite fee into the displayed price.
sales_startNoWhen sales open, in UTC, e.g. 2026-12-01T02:00:00Z.
sales_channelsNoWhere it is sold: ["online"], ["atd"] (at the door) or both.
ticket_class_idYesTicket class ID.
maximum_quantityNoMaximum per order.
minimum_quantityNoMinimum per order.
inventory_tier_idNoInventory tier to attach the ticket to (required for tiered events).
order_confirmation_messageNoMessage shown on the order confirmation for this ticket.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare destructiveHint=true; the description goes further by disclosing sparse-update behavior (omitted fields are untouched) and a hard business rule (price is immutable once tickets are sold), plus the underlying endpoint. It does not cover permissions/auth requirements or failure modes, but it adds meaningful context beyond the annotation.

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?

One compact sentence plus a short endpoint suffix, front-loaded with the mutate-the-ticket-type action. The field list and the price caveat are relevant; the raw endpoint reference is marginal for an agent but cheap and harmless.

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 17-parameter mutation tool with no output schema, the description supplies the two things the schema cannot: that this is a partial update and that price changes are blocked post-sale, on top of a destructiveHint annotation. It stops short of covering auth needs, error conditions, or what a successful response contains.

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 100% across all 17 parameters, so the schema already carries formats, patterns and constraints. The description only groups the fields by theme (name, price, capacity, sales window, visibility), which is a mild navigational aid rather than new semantic detail — baseline 3 is appropriate.

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 and resource ('Change a ticket type') and enumerates the mutable field groups (name, price, capacity, sales window, visibility), so the agent immediately knows this is an in-place modification rather than creation. It never names a sibling such as eventbrite_create_ticket_class, so differentiation is inferential rather than explicit.

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 description implies when to use it (modifying an existing ticket class, versus creating one) but gives no explicit alternatives or routing guidance to eventbrite_create_ticket_class or eventbrite_update_event. The 'only the fields you pass are sent' note is genuinely useful invocation guidance, but it is patch semantics rather than a when-to-use rule.

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. 26 tool updates
    • Changedeventbrite_copy_event1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_create_discount1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_create_event1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_create_ticket_class1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_create_venue1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_attendee1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_attendee_report1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_capacity1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_event1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_event_description1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_me1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_order1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_get_sales_report1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_attendees1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_discounts1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_events1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_inventory_tiers1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_orders1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_organizations1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_ticket_classes1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_list_venues1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_publish_event1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_unpublish_event1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_update_discount1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_update_event1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedeventbrite_update_ticket_class1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 26 tool updates
    • First observedeventbrite_copy_event
    • First observedeventbrite_create_discount
    • First observedeventbrite_create_event
    • First observedeventbrite_create_ticket_class
    • First observedeventbrite_create_venue
    • First observedeventbrite_get_attendee
    • First observedeventbrite_get_attendee_report
    • First observedeventbrite_get_capacity
    • First observedeventbrite_get_event
    • First observedeventbrite_get_event_description
    • First observedeventbrite_get_me
    • First observedeventbrite_get_order
    • First observedeventbrite_get_sales_report
    • First observedeventbrite_list_attendees
    • First observedeventbrite_list_discounts
    • First observedeventbrite_list_events
    • First observedeventbrite_list_inventory_tiers
    • First observedeventbrite_list_orders
    • First observedeventbrite_list_organizations
    • First observedeventbrite_list_ticket_classes
    • First observedeventbrite_list_venues
    • First observedeventbrite_publish_event
    • First observedeventbrite_unpublish_event
    • First observedeventbrite_update_discount
    • First observedeventbrite_update_event
    • First observedeventbrite_update_ticket_class

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.