Ticketsauce MCP by usefulapi
Server Details
Read Ticketsauce events, orders and ticket check-in IDs (read-only).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 5 tools
Each tool maps to a distinct resource+action pair: single event vs. event list, single order vs. order list, and check-in IDs are clearly separate. Descriptions make the boundaries explicit (e.g., 'one event by id' vs. 'list the events you own').
All five tools use a uniform ticketsauce_ prefix followed by a consistent verb_noun pattern (get_event, get_order, list_events, list_orders, list_checkin_ids). No mixed conventions or casing.
Five tools is a tight, well-scoped set for a read-focused ticketing API: two list tools, two get tools, and one reconciliation tool. Nothing appears redundant or missing at the count level.
Read coverage of events, orders, and check-in IDs is solid with paging and filtering supported. However, the surface is entirely read-only — no ticket-level retrieval, check-in action, or refund/write operations — which are reasonable gaps agents would eventually hit.
Available Tools
5 toolsticketsauce_get_eventGet eventARead-onlyInspect
One event by id or slug: everything in the list plus summary and description (text and HTML), order_count and ticket_count (tickets sold, not refunded or voided). Replies are cached for an hour. GET /v2/event/{id_or_slug}.
| Name | Required | Description | Default |
|---|---|---|---|
| event | Yes | Event id (UUID) or event slug, as returned by ticketsauce_list_events. | |
| photos | No | Include the photo gallery records. | |
| include_performers | No | Include the performers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description adds genuinely new behavior: replies are cached for an hour (an agent must know data may be stale) and counters are defined as tickets sold excluding refunded/voided. The endpoint path is also disclosed. Missing only error/not-found behavior, which 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the resource identity, then the payload delta, then the caching caveat. Nothing is redundant with the title and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 useful work by enumerating the extra fields returned relative to a list item. Combined with the caching note and fully documented params, an agent has enough to call it correctly; only the shape of nested photo/performer expansions is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, photos, include_performers) are already documented. The description restates the id/slug duality but adds nothing about the optional photo/performer expansion flags, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and retrieval mode ("One event by id or slug") and immediately clarifies the difference from the list siblings: "everything in the list plus summary and description... order_count and ticket_count." An agent can distinguish it from ticketsauce_list_events and ticketsauce_get_order without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "everything in the list plus..." gives clear context for when to pick single-event detail over listing, and the schema reference to ids "as returned by ticketsauce_list_events" reinforces the list-then-get flow. It does not explicitly state exclusions (e.g., that it is unnecessary if you already have the event from a list call), so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ticketsauce_get_orderGet orderARead-onlyInspect
One order by id, with its buyer details, totals and its tickets (ticket type, name, price, redeemed state, promo code). Contains personal data. Replies are cached for an hour. GET /v2/order/{order_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order id (UUID) from ticketsauce_list_orders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, openWorld and non-destructive, so the bar is lower, yet the description adds real behavior: the response contains personal data, replies are cached for an hour (freshness caveat), and the underlying endpoint is GET /v2/order/{order_id}. It stops short of noting auth or rate-limit behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the identity and payload, followed by two short high-value caveats (personal data, caching) and the endpoint. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
One-parameter read tool with no output schema; the description compensates by describing the returned fields, the personal-data sensitivity, and the one-hour cache, which is everything an agent needs to call and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the order_id property description already specifies UUID format and its source (ticketsauce_list_orders). The description merely restates 'by id' without adding format or provenance detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('One order by id') and enumerates the payload (buyer details, totals, tickets with type, name, price, redeemed state, promo code). The singular 'one order by id' clearly contrasts with the sibling ticketsauce_list_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers this is the single-record lookup versus list_orders, and the schema notes the id comes from ticketsauce_list_orders. The description itself offers no explicit when/when-not guidance or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ticketsauce_list_checkin_idsList ticket check-in idsARead-onlyInspect
The ticket check-in ids of one event, for door/scanning reconciliation (the API documents no response fields; the reply is returned as is). Paged: per_page up to 5000, then pass next_page. Replies are cached for 5 minutes. GET /v2/tickets/checkin_ids/{event_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| event_id | Yes | Event id (UUID) from ticketsauce_list_events. | |
| per_page | No | Ids per page, 1-5000 (default 1000). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, it discloses two operationally important traits: the API documents no response fields so the reply is returned as-is, and replies are cached for 5 minutes (freshness matters for reconciliation). It stops short of describing reply ordering or cache invalidation, but adds real value over the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences front-loaded with the resource and use case, followed by paging, caching, and endpoint. Every clause carries information an agent would otherwise have to discover by trial.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explicitly warns that response fields are undocumented, and it covers pagination limits and cache lifetime — the three things an agent needs to call this correctly and interpret the reply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so page, per_page, and event_id are already documented. The description reinforces the pagination loop ('pass next_page' from the previous reply) but adds no syntax or format detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact resource (ticket check-in ids of one event) and its purpose (door/scanning reconciliation), plus the underlying endpoint. It is unambiguous and cannot be confused with the sibling event/order tools, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intent 'for door/scanning reconciliation' implies when this tool applies, and it gives a paging recipe (per_page up to 5000, then next_page). There is no explicit when-not guidance or mention of the sibling tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ticketsauce_list_eventsList eventsARead-onlyInspect
List the events you own on Ticketsauce with id, name, slug, start/end (local and UTC), venue address, timezone, organization, privacy type, whether tickets are on sale, and the event and ticket-shop URLs. Filter by start/end/created dates (yyyy-mm-dd, UTC), a phrase such as this_weekend, organization or partner. The API has no paging for events. Use the event id for orders and check-ins. GET /v2/events.
| Name | Required | Description | Default |
|---|---|---|---|
| sort_by | No | Sort field (default date). | |
| sort_dir | No | Sort direction (default asc). | |
| end_after | No | Events ending on/after this date, yyyy-mm-dd. | |
| end_before | No | Events ending on/before this date, yyyy-mm-dd. | |
| partner_id | No | Only events of this partner. | |
| active_only | No | Only active events (the API default is true). | |
| start_after | No | Events starting on/after this date, yyyy-mm-dd. | |
| privacy_type | No | public (API default), unlisted or all. | |
| start_before | No | Events starting on/before this date, yyyy-mm-dd. | |
| start_phrase | No | Events starting in a named period (today, this_weekend, next_month...). | |
| created_after | No | Events created on/after this date, yyyy-mm-dd. | |
| inactive_only | No | Only inactive events (the API default is false). | |
| created_before | No | Events created on/before this date, yyyy-mm-dd. | |
| organization_id | No | Only events of this organization. | |
| include_performers | No | Include the performers of each event. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds a genuinely non-obvious behavioral fact the schema cannot express: 'The API has no paging for events,' which warns the agent that results arrive in one response. It also clarifies that dates are UTC, though it says nothing about auth or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the resource and the returned-field inventory, then filters, then a behavioral caveat and endpoint. Nothing is redundant and each sentence conveys distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 optional parameters and no output schema, the description usefully compensates by enumerating the response fields and flagging the absence of paging. It is close to complete; minor gaps are the interaction between active_only/inactive_only defaults and the sort parameters, which are left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each of the 15 params is documented in the schema itself, so the baseline is 3. The description mostly restates the filter categories rather than adding new meaning, with the one real addition being the UTC clarification for yyyy-mm-dd dates, which the schema pattern alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('List the events you own on Ticketsauce') and then enumerates the returned fields (id, name, slug, dates, venue, privacy, URLs), so the scope is unmistakable. It implicitly separates itself from ticketsauce_get_event by being the list operation and points to orders/check-ins as downstream consumers, but it never names the sibling tools outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states concretely which filter dimensions exist (start/end/created dates, named phrases, organization, partner) and gives a workflow hint: 'Use the event id for orders and check-ins.' That tells the agent when to call this before list_orders or list_checkin_ids. There is no explicit when-not or named alternative such as get_event for a single record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ticketsauce_list_ordersList orders of an eventARead-onlyInspect
Orders of one event, oldest first by default (pass sort_dir desc for newest first): order id, status, buyer name, email, phone and address, totals (total_paid, refund_amount, taxes, fees), promo code, ticket_count, paid date. Contains your customers' personal data. Filter by order or modified dates, a phrase, buyer email or last name (exact match), totals, or promo use; optionally embed tickets, questionnaire answers and line-item fees. Paged: per_page up to 500, then pass next_page. Replies are cached for an hour. GET /v2/orders/{event_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Exact buyer email address or last name. | |
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| sort_by | No | Sort field (default date). | |
| event_id | Yes | Event id (UUID) from ticketsauce_list_events. | |
| per_page | No | Orders per page, 1-500 (default 100). | |
| sort_dir | No | Sort direction (default asc). | |
| total_above | No | Only orders with a total greater than this. | |
| total_below | No | Only orders with a total less than this. | |
| ordered_after | No | Ordered on/after (UTC). | |
| modified_after | No | Modified on/after (UTC). | |
| ordered_before | No | Ordered on/before (UTC). | |
| ordered_phrase | No | Ordered in a named period. | |
| return_tickets | No | Include each order's tickets. | |
| modified_before | No | Modified on/before (UTC). | |
| promo_used_only | No | Only orders that used a promo code. | |
| return_line_item_fees | No | Include line-item fees. | |
| return_questionnaires | No | Include questionnaire answers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive annotations, it discloses three things an agent would otherwise learn the hard way: the result set contains customers' PII, replies are cached for an hour (stale-data risk), and paging works by feeding next_page back with per_page capped at 500. Optional embeds (tickets, questionnaires, line-item fees) are also flagged as opt-in cost knobs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a dense single paragraph, front-loaded with the resource and default sort, then filters, then paging and caching. The returned-field inventory is long but earns its place since there is no output schema; the only mild redundancy is restating the per_page 500 cap and next_page that the schema already defines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter, no-output-schema listing tool, the description supplies the return shape (ids, status, buyer contact data, totals, promo, ticket_count, paid date), pagination mechanics, caching behavior and a PII warning. An agent can call it correctly and knows what to expect back without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 every parameter including enums and ranges. The description adds some practical semantics (exact-match on email/last name, sort_dir desc for newest, next_page vs per_page) but mostly restates what the schema carries, so the baseline 3 applies; it could have clarified whether date filters combine conjunctively with q or the phrase filter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening phrase 'Orders of one event' gives a specific verb (list) and resource (orders scoped to a single event), and the field inventory plus the endpoint GET /v2/orders/{event_id} pin down exactly what is returned. It is clearly distinguishable from ticketsauce_get_order (one order) and ticketsauce_list_events (events, not orders).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the default ordering and the override ('pass sort_dir desc for newest first'), and enumerates the available filter axes, which tells the agent what queries are supported. What is missing is an explicit routing statement (e.g., use ticketsauce_get_order when you already have an order id), so usage is clear but not fully exclusive.
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.
5 tool updates
- First observed
ticketsauce_get_event - First observed
ticketsauce_get_order - First observed
ticketsauce_list_checkin_ids - First observed
ticketsauce_list_events - First observed
ticketsauce_list_orders
Related MCP Connectors
Read Corsizio events, attendees and registrations, including payment status. Read-only.
Read Humanitix events, orders, tickets and live check-in counts, and check tickets in or out.
Read TicketSpice forms, orders, tickets, customers, coupons; create or delete coupons.
Read your events, sales, orders and attendees from your AI assistant. OAuth sign-in, read only.
Related MCP Servers
- AlicenseBqualityAmaintenanceRead-only MCP server for accessing Eventbrite tickets, orders, organizer data, and public event search (including undocumented consumer search via browser bridge).31468 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables read-only access to customer and recurring-billing state from Recurly, including accounts, subscriptions, invoices, and payment outcomes.8 npmMIT
- AlicenseBqualityDmaintenanceProvides read-only access to TikTok advertising data, including campaigns, ad groups, ads, and performance reports through the TikTok Business API.643 PyPI46MIT
- AlicenseNot gradedqualityBmaintenanceEnables reading customer, subscription, transaction, and adjustment data from the Paddle Billing API to inspect billing and recurring-revenue state.16 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.