About eventbrite-mcp
eventbrite-mcp is a read-only MCP server for Eventbrite attendees and organizers. It combines the documented API with a signed-in browser session for public event discovery, including search not available in Eventbrite's documented API.
Key features
- 01View personal tickets and orders
- 02Read organizer events, attendees, and orders
- 03Look up public events and ticket classes by ID
- 04Search events and resolve locations
- 05Fetch event details in batches
Use cases
- 01Check tickets for events already ordered
- 02Review attendee or sales data for organizer events
- 03Find public events by location and keyword
MCP support
The MCP server provides read-only tools for Eventbrite account, organizer, and public-event data. Account and organizer requests use an OAuth token; discovery features such as event search are relayed through the user's signed-in Eventbrite browser tab.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @chrischall/eventbrite-mcpEVENTBRITE_TOKENSecretPersonal OAuth token (eventbrite.com/platform/api-keys); needed for account toolsEVENTBRITE_WS_PORTOptional: override the fetchproxy concentrator port (fleet default 37149).FETCHPROXY_WS_HOSTBridge bind interface, a literal IP only (default 127.0.0.1). Keep on loopback; exists for a hosted child in its own network namespace.FETCHPROXY_IDENTITY_DIRAbsolute path for the long-term bridge identity keypair (default ~/.fetchproxy/identity/). Exists for a host that runs a separate child per caller.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
31Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| view | enum | No | Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full" returns Eventbrite's payload untouched. No field projection on this tool: this server has no verified record of which Eventbrite fields matter here, and inventing one would risk dropping a field a caller needs.compact | full |
Details
From the project READMEeventbrite-mcp
This project was developed and is maintained by AI (Claude Code). Use at your own discretion.
MCP server for Eventbrite: your tickets and orders, organizer data (events, attendees, orders), any public event by id, and public event search — which Eventbrite removed from its documented API in 2019 and now only exists on the consumer site.
Two data paths, matched to how Eventbrite is reachable:
- Documented API (
eventbriteapi.com/v3) — plain server-side HTTPS with a personal OAuth token (EVENTBRITE_TOKEN, free: create one). Powers the account, organizer, event-by-id, and reference tools. - Consumer discovery API (
www.eventbrite.com/api/v3/destination/…) — the site WAF-blocks server-side clients, so search routes through your own signed-in eventbrite.com browser tab via the fetchproxy bridge (ContextMint Bridge extension), reusing your authenticated session. Powerseb_search_events,eb_resolve_place,eb_event_details,eb_healthcheck.
All tools are read-only.
Setup
npm install -g @chrischall/eventbrite-mcp
Claude Code (.mcp.json):
{
"mcpServers": {
"eventbrite": {
"command": "eventbrite-mcp",
"env": { "EVENTBRITE_TOKEN": "your-private-token" }
}
}
}
- Without
EVENTBRITE_TOKENthe server still boots; account tools error helpfully on first use, and discovery tools work regardless. - For discovery tools: install ContextMint Bridge from its
releases
(unzip the chrome zip and load it unpacked; use Chrome for now — Safari
support will ship inside the ContextMint app, which has no public download
yet), keep an eventbrite.com tab open, and approve the
one-time pair prompt (the prompt covers the
csrftokencookie read the search POST needs). Runeb_healthcheckto verify the hop (with no token it checks the bridge; with a token it checks the token). - ContextMint Bridge is the fetchproxy browser extension under its new name,
from the same maintainer — fetchproxy's own
README points to it.
Its source is public at
nullnet-app/contextmint-bridge:
build it yourself, or check a release zip against the
.sha256file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).
Tools
| Tool | Path | Notes |
|---|---|---|
eb_me | token | your profile |
eb_my_orders | token | your tickets, event expanded |
eb_my_organizations | token | organizer orgs |
eb_org_events / eb_org_attendees / eb_org_orders | token | organizer data |
eb_org_venues / eb_org_discounts / eb_org_ticket_groups / eb_org_webhooks | token | org-scoped collections |
eb_org_report | token | sales / attendees analytics, date-windowed |
eb_event / eb_event_description | token | any public event by id |
eb_ticket_classes / eb_ticket_class | token | an event's ticket types |
eb_event_attendees / eb_event_attendee | token | per-event attendees (changed_since polls incrementally) |
eb_event_orders | token | per-event orders |
eb_event_questions | token | registration questions (canned: true for the standard bank) |
eb_order | token | a single order by id |
eb_venue / eb_venue_events | token | venue detail and its events |
eb_organizer / eb_organizer_events | token | organizer profile and everything they run |
eb_series_events | token | occurrences of a recurring series |
eb_user | token | a public user profile |
eb_reference | token | categories / subcategories / formats / timezones / countries / regions |
eb_resolve_place | token | location → place id (Charlotte, NC → 85981333), plus browse shelves |
eb_search_events | token | the consumer search; compact: true for slim results, aggs for facets |
eb_event_details | token | batch event detail |
eb_healthcheck | token, else bridge | with a token: probes GET /users/me/ and reports error.kind (credential_rejected, edge_blocked for a CDN/WAF block page, timeout, http, transport); without one: diagnoses the bridge discovery falls back to and says the token is missing (no_credential when there is no bridge either) |
Search flow: eb_resolve_place {location: "Charlotte, NC"} →
eb_search_events {q: "blues", place_id: "85981333", compact: true}.
eb_resolve_place also accepts a raw slug (nc--charlotte). A bare city with
no state or country is rejected rather than guessed.
Development
npm install
npm test # node suite
npm run build # tsc + esbuild bundle
API shape notes (captured + verified): docs/EVENTBRITE-API.md. A
shell-level access skill (curl + fpx, no server needed) ships in
skills/eventbrite/.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.