# io.usefulapi/eventbrite (remote · eventbrite.usefulapi.io)

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

- Trust score: 76/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-03

## Components

- remote · `eventbrite.usefulapi.io`: 76/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-eventbrite/eventbrite.md), [page](https://verifymcp.io/servers/io-usefulapi-eventbrite/eventbrite)

## Channel facts

- Endpoint: `https://eventbrite.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-03.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4891 tokens (~188/item across 26 items; 26 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the io.usefulapi/eventbrite MCP server?

io.usefulapi/eventbrite is a hosted endpoint at https://eventbrite.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-eventbrite 'https://eventbrite.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-eventbrite": {
      "url": "https://eventbrite.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-eventbrite": {
      "type": "http",
      "url": "https://eventbrite.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-eventbrite]
url = "https://eventbrite.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-eventbrite": {
      "type": "remote",
      "url": "https://eventbrite.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-eventbrite --url 'https://eventbrite.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-eventbrite:
    url: "https://eventbrite.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-eventbrite": {
      "Transport": "http",
      "Url": "https://eventbrite.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-eventbrite -t streamable-http -u 'https://eventbrite.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-eventbrite": {
      "type": "http",
      "url": "https://eventbrite.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-02 (score 76, +1)

- [functional] Server version: 1.3.0 → 1.5.1

### 2026-10-01 (score 75, +5)

- [security improvement] HTTPS: unverified → pass
- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 1.0.0 → 1.3.0

### 2026-09-30 (score 70, +52)

- [security improvement] Authorization: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security improvement] Transport: fail → pass
- [security] First check of Judged manipulation: pass
- [security] First check of Authorization: partial
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Schema quality: fail
- [functional] First check of Destructive annotations: 100
- [functional] First check of Tool coverage: 100

### 2026-09-29 (score 18)

First indexed and scored.

## MCP tools (26)

### `eventbrite_get_me` (~41 tokens)

Get my user

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

### `eventbrite_list_organizations` (~63 tokens)

List my organizations

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

Input parameters:

- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.

### `eventbrite_list_events` (~185 tokens)

List an organization's events

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

Input parameters:

- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.
- `expand` (string): Comma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
- `name_filter` (string): Only events whose name matches this text.
- `order_by` (string): Sort order.
- `organization_id` (string, required): Organization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.
- `page_size` (integer): Records per page.
- `status` (string): Filter by event status.
- `time_filter` (string): Past, or current and future, events.

### `eventbrite_get_event` (~93 tokens)

Get an event

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}/.

Input parameters:

- `event_id` (string, required): Event ID.
- `expand` (string): Comma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).

### `eventbrite_get_event_description` (~49 tokens)

Get an event's full description

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

Input parameters:

- `event_id` (string, required): Event ID.

### `eventbrite_list_ticket_classes` (~101 tokens)

List an event's ticket classes

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

Input parameters:

- `category` (string): Only this ticket category.
- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.
- `event_id` (string, required): Event ID.
- `pos` (string): Only tickets valid for this point of sale.

### `eventbrite_list_venues` (~87 tokens)

List an organization's venues

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

Input parameters:

- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.
- `organization_id` (string, required): Organization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.

### `eventbrite_list_attendees` (~247 tokens)

List attendees

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/.

Input parameters:

- `changed_since` (string): Only attendees changed on or after this time, in UTC, e.g. 2026-12-01T02:00:00Z.
- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.
- `event_id` (string): Event ID — list this event's attendees.
- `expand` (string): Comma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
- `organization_id` (string): Organization ID — list attendees across all its events.
- `status` (string): attending = Attending or Checked In; not_attending = Not Attending or Deleted; unpaid (event only) = order not paid.

### `eventbrite_get_attendee` (~106 tokens)

Get an attendee

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}/.

Input parameters:

- `attendee_id` (string, required): Attendee ID.
- `event_id` (string, required): Event ID.
- `expand` (string): Comma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).

### `eventbrite_list_orders` (~209 tokens)

List orders

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/.

Input parameters:

- `changed_since` (string): Only orders changed on or after this time, in UTC, e.g. 2026-12-01T02:00:00Z.
- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.
- `event_id` (string): Event ID — list this event's orders.
- `expand` (string): Comma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
- `organization_id` (string): Organization ID — list orders across all its events.
- `status` (string): active = attending orders, inactive = not attending, both, or all_not_deleted.

### `eventbrite_get_order` (~79 tokens)

Get an order

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

Input parameters:

- `expand` (string): Comma-separated expansions, e.g. venue,organizer,ticket_classes (Expansions v1 `expand=`).
- `order_id` (string, required): Order ID.

### `eventbrite_list_discounts` (~198 tokens)

List discounts

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/.

Input parameters:

- `code` (string): Exact code or name match. Not together with code_filter.
- `code_filter` (string): Approximate code or name match. Not together with code.
- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.
- `event_id` (string): Event ID (required when scope=event).
- `organization_id` (string, required): Organization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.
- `page_size` (integer): Records per page.
- `scope` (string, required): Discount scope. event requires event_id.
- `type` (string): Only this discount type.

### `eventbrite_get_capacity` (~56 tokens)

Get an event's capacity

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

Input parameters:

- `event_id` (string, required): Event ID.

### `eventbrite_list_inventory_tiers` (~122 tokens)

List an event's inventory tiers

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/.

Input parameters:

- `continuation` (string): pagination.continuation from the previous page. Omit for the first page.
- `count_against_event_capacity` (boolean): Only tiers that do (true) or do not (false, e.g. add-ons) count against event capacity.
- `event_id` (string, required): Event ID.

### `eventbrite_get_sales_report` (~211 tokens)

Get a sales report

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/.

Input parameters:

- `date_facet` (string): Time bucket for the data points (default day).
- `end_date` (string): Report end date, e.g. 2026-09-30.
- `event_ids` (array, required): One or more Event IDs to report on.
- `event_status` (string): Filter by event status.
- `group_by` (string): Group the report by this dimension.
- `period` (integer): Number of date_facet units back from now, e.g. date_facet=hour + period=3 = last 3 hours.
- `start_date` (string): Report start date, e.g. 2026-09-01.
- `timezone` (string): Timezone for the report (default: the first event's).

### `eventbrite_get_attendee_report` (~200 tokens)

Get an attendee report

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

Input parameters:

- `date_facet` (string): Time bucket for the data points (default day).
- `end_date` (string): Report end date, e.g. 2026-09-30.
- `event_ids` (array, required): One or more Event IDs to report on.
- `event_status` (string): Filter by event status.
- `group_by` (string): Group the report by this dimension.
- `period` (integer): Number of date_facet units back from now, e.g. date_facet=hour + period=3 = last 3 hours.
- `start_date` (string): Report start date, e.g. 2026-09-01.
- `timezone` (string): Timezone for the report (default: the first event's).

### `eventbrite_create_event` (~447 tokens)

Create a draft event

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/.

Input parameters:

- `capacity` (integer): Event capacity. Omit to use the sum of the ticket class capacities.
- `category_id` (string): Event category ID.
- `currency` (string, required): ISO 4217 currency code, e.g. USD.
- `end_utc` (string, required): End time, in UTC, e.g. 2026-12-01T02:00:00Z.
- `format_id` (string): Event format ID.
- `hide_end_date` (boolean): Hide the end date from attendees.
- `hide_start_date` (boolean): Hide the start date from attendees.
- `invite_only` (boolean): Only invited people can see the event page. Mutually exclusive with listed.
- `listed` (boolean): Publicly searchable on Eventbrite (default true).
- `name` (string, required): Event name.
- `online_event` (boolean): True if the event is online-only (no venue). Cannot be combined with venue_id.
- `organization_id` (string, required): Organization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.
- `organizer_id` (string): Organizer profile ID. Omit to use the default organizer.
- `shareable` (boolean): Show social sharing buttons.
- `show_remaining` (boolean): Show the number of tickets left on the event page.
- `start_utc` (string, required): Start time, in UTC, e.g. 2026-12-01T02:00:00Z.
- `subcategory_id` (string): Event subcategory ID (US only).
- `summary` (string): Plain-text summary, max 140 characters (Eventbrite's replacement for the old description field).
- `timezone` (string, required): Olson timezone of the event, e.g. America/Los_Angeles or Europe/London.
- `venue_id` (string): Venue ID (from eventbrite_list_venues or eventbrite_create_venue).

### `eventbrite_update_event` (~422 tokens)

Update an event

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

Input parameters:

- `capacity` (integer): Event capacity. Omit to use the sum of the ticket class capacities.
- `category_id` (string): Event category ID.
- `currency` (string): ISO 4217 currency (not changeable after paid sales).
- `end_utc` (string): New end time, in UTC, e.g. 2026-12-01T02:00:00Z.
- `event_id` (string, required): Event ID.
- `format_id` (string): Event format ID.
- `hide_end_date` (boolean): Hide the end date from attendees.
- `hide_start_date` (boolean): Hide the start date from attendees.
- `invite_only` (boolean): Only invited people can see the event page. Mutually exclusive with listed.
- `listed` (boolean): Publicly searchable on Eventbrite (default true).
- `name` (string): New event name.
- `online_event` (boolean): True if the event is online-only (no venue). Cannot be combined with venue_id.
- `organizer_id` (string): Organizer profile ID. Omit to use the default organizer.
- `shareable` (boolean): Show social sharing buttons.
- `show_remaining` (boolean): Show the number of tickets left on the event page.
- `start_utc` (string): New start time, in UTC, e.g. 2026-12-01T02:00:00Z.
- `subcategory_id` (string): Event subcategory ID (US only).
- `summary` (string): Plain-text summary, max 140 characters (Eventbrite's replacement for the old description field).
- `timezone` (string): Olson timezone of the event, e.g. America/Los_Angeles or Europe/London.
- `venue_id` (string): Venue ID (from eventbrite_list_venues or eventbrite_create_venue).

### `eventbrite_copy_event` (~170 tokens)

Copy an event

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/.

Input parameters:

- `end_date` (string): End of the new event, in UTC, e.g. 2026-12-01T02:00:00Z.
- `event_id` (string, required): Source event ID.
- `name` (string): Name of the new event.
- `start_date` (string): Start of the new event, in UTC, e.g. 2026-12-01T02:00:00Z.
- `summary` (string): Summary of the new event.
- `timezone` (string): Olson timezone for the new event.

### `eventbrite_publish_event` (~72 tokens)

Publish an event

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/.

Input parameters:

- `event_id` (string, required): Event ID.

### `eventbrite_unpublish_event` (~65 tokens)

Unpublish an event

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/.

Input parameters:

- `event_id` (string, required): Event ID.

### `eventbrite_create_ticket_class` (~378 tokens)

Create a ticket class

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/.

Input parameters:

- `capacity` (integer): How many of this ticket can be sold. Required for normal (non-donation, non-tiered) tickets.
- `cost` (string): Ticket price as "<CURRENCY>,<minor units>", e.g. "USD,1000" is $10.00. Must match the event currency. Only for paid tickets.
- `description` (string): Ticket description.
- `donation` (boolean): True for a donation ticket (buyer picks the amount).
- `event_id` (string, required): Event ID.
- `free` (boolean): True for a free ticket (then omit cost).
- `hidden` (boolean): Hide this ticket from the event page.
- `include_fee` (boolean): Absorb the Eventbrite fee into the displayed price.
- `inventory_tier_id` (string): Inventory tier to attach the ticket to (required for tiered events).
- `maximum_quantity` (integer): Maximum per order.
- `minimum_quantity` (integer): Minimum per order.
- `name` (string, required): Ticket name, e.g. General Admission.
- `order_confirmation_message` (string): Message shown on the order confirmation for this ticket.
- `sales_channels` (array): Where it is sold: ["online"], ["atd"] (at the door) or both.
- `sales_end` (string): When sales close, in UTC, e.g. 2026-12-01T02:00:00Z.
- `sales_start` (string): When sales open, in UTC, e.g. 2026-12-01T02:00:00Z.

### `eventbrite_update_ticket_class` (~394 tokens)

Update a ticket class

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}/.

Input parameters:

- `capacity` (integer): How many of this ticket can be sold. Required for normal (non-donation, non-tiered) tickets.
- `cost` (string): Ticket price as "<CURRENCY>,<minor units>", e.g. "USD,1000" is $10.00. Must match the event currency. Only for paid tickets.
- `description` (string): Ticket description.
- `donation` (boolean): True for a donation ticket (buyer picks the amount).
- `event_id` (string, required): Event ID.
- `free` (boolean): True for a free ticket (then omit cost).
- `hidden` (boolean): Hide this ticket from the event page.
- `include_fee` (boolean): Absorb the Eventbrite fee into the displayed price.
- `inventory_tier_id` (string): Inventory tier to attach the ticket to (required for tiered events).
- `maximum_quantity` (integer): Maximum per order.
- `minimum_quantity` (integer): Minimum per order.
- `name` (string): New ticket name.
- `order_confirmation_message` (string): Message shown on the order confirmation for this ticket.
- `sales_channels` (array): Where it is sold: ["online"], ["atd"] (at the door) or both.
- `sales_end` (string): When sales close, in UTC, e.g. 2026-12-01T02:00:00Z.
- `sales_start` (string): When sales open, in UTC, e.g. 2026-12-01T02:00:00Z.
- `ticket_class_id` (string, required): Ticket class ID.

### `eventbrite_create_venue` (~238 tokens)

Create a venue

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

Input parameters:

- `address_1` (string): Street address, line 1.
- `address_2` (string): Street address, line 2.
- `age_restriction` (string): Age restriction.
- `capacity` (integer): Venue capacity.
- `city` (string): City.
- `country` (string): ISO 3166-1 two-letter country code, e.g. US.
- `google_place_id` (string): Google Place ID for the venue.
- `latitude` (string): Latitude.
- `longitude` (string): Longitude.
- `name` (string, required): Venue name.
- `organization_id` (string, required): Organization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.
- `organizer_id` (string): Organizer the venue belongs to (omit for the default).
- `postal_code` (string): Postal code.
- `region` (string): ISO 3166-2 region code, e.g. CA.

### `eventbrite_create_discount` (~377 tokens)

Create a discount or access code

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/.

Input parameters:

- `amount_off` (string): Fixed amount off in the event currency, e.g. "10" or "7.50". Not together with percent_off.
- `code` (string, required): The code (or the public discount's name). No spaces for coded/access.
- `end_date` (string): Usable until, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
- `event_id` (string): Limit to one event. Omit (with ticket_group_id also omitted) for an organization-wide discount.
- `organization_id` (string, required): Organization ID (from eventbrite_list_organizations). This is NOT the organizer id in an organizer profile URL.
- `percent_off` (string): Percentage off, 1.00–100.00, e.g. "20". Not together with amount_off.
- `quantity_available` (integer): How many times it can be used; 0 = unlimited.
- `start_date` (string): Usable from, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
- `ticket_class_ids` (array): Limit to these ticket classes of event_id.
- `ticket_group_id` (string): Limit to one ticket group.
- `type` (string, required): coded = promo code, public = shown on the listing, access = unlocks hidden tickets.

### `eventbrite_update_discount` (~281 tokens)

Update a discount

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

Input parameters:

- `amount_off` (string): Fixed amount off in the event currency, e.g. "10" or "7.50". Not together with percent_off.
- `code` (string): New code.
- `discount_id` (string, required): Discount ID.
- `end_date` (string): Usable until, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
- `event_id` (string): Limit to one event. Omit (with ticket_group_id also omitted) for an organization-wide discount.
- `percent_off` (string): Percentage off, 1.00–100.00, e.g. "20". Not together with amount_off.
- `quantity_available` (integer): How many times it can be used; 0 = unlimited.
- `start_date` (string): Usable from, naive local time in the event's timezone, e.g. 2026-11-01T09:00:00.
- `ticket_class_ids` (array): Limit to these ticket classes of event_id.
- `ticket_group_id` (string): Limit to one ticket group.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-eventbrite/eventbrite#diagnostics

## Score history

- 2026-10-03: 76
- 2026-10-02: 76
- 2026-10-01: 75
- 2026-09-30: 70
- 2026-09-29: 18

## Common questions

### What is the io.usefulapi/eventbrite MCP server?

io.usefulapi/eventbrite is an MCP server listed in the public MCP registry as io.usefulapi/eventbrite. Manage Eventbrite events, ticket classes, venues and discounts; read attendees, orders and reports. This page covers its hosted endpoint (https://eventbrite.usefulapi.io/mcp).

### Is the io.usefulapi/eventbrite MCP server safe to use?

io.usefulapi/eventbrite scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.usefulapi/eventbrite MCP server expose?

io.usefulapi/eventbrite exposes 26 tools: eventbrite_get_me, eventbrite_list_organizations, eventbrite_list_events, eventbrite_get_event, eventbrite_get_event_description, and 21 more. Their descriptions and schemas cost roughly 4,891 tokens of context every time the server is loaded.

### Does the io.usefulapi/eventbrite MCP server require authentication?

Yes. io.usefulapi/eventbrite asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the io.usefulapi/eventbrite MCP server still maintained?

io.usefulapi/eventbrite is still listed as active in the MCP registry. We last reached this channel on 3 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://eventbrite.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-eventbrite/eventbrite.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-eventbrite/eventbrite.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-eventbrite/eventbrite
