io.github.chrischall/eventbrite-mcp

Official registry E-commerce

Eventbrite for Claude — your tickets/orders, organizer data, and public event discovery

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @chrischall/eventbrite-mcp
Claude Code
claude mcp add eventbrite-mcp -e 'EVENTBRITE_TOKEN=<your eventbrite_token>' -e 'EVENTBRITE_WS_PORT=<EVENTBRITE_WS_PORT>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y @chrischall/eventbrite-mcp@1.1.10
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "eventbrite-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@chrischall/eventbrite-mcp@1.1.10"
            ],
            "env": {
                "EVENTBRITE_TOKEN": "<your eventbrite_token>",
                "EVENTBRITE_WS_PORT": "<EVENTBRITE_WS_PORT>",
                "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
                "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
            }
        }
    }
}

Environment variables

  • EVENTBRITE_TOKEN secret Personal OAuth token (eventbrite.com/platform/api-keys); needed for account tools
  • EVENTBRITE_WS_PORT Optional: override the fetchproxy concentrator port (fleet default 37149).
  • FETCHPROXY_WS_HOST Bridge 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_DIR Absolute path for the long-term bridge identity keypair (default ~/.fetchproxy/identity/). Exists for a host that runs a separate child per caller.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. eventbrite-mcp
  2. Setup
  3. Tools
  4. Development

eventbrite-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. Powers eb_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_TOKEN the 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 csrftoken cookie read the search POST needs). Run eb_healthcheck to 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 .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).

Tools

ToolPathNotes
eb_metokenyour profile
eb_my_orderstokenyour tickets, event expanded
eb_my_organizationstokenorganizer orgs
eb_org_events / eb_org_attendees / eb_org_orderstokenorganizer data
eb_org_venues / eb_org_discounts / eb_org_ticket_groups / eb_org_webhookstokenorg-scoped collections
eb_org_reporttokensales / attendees analytics, date-windowed
eb_event / eb_event_descriptiontokenany public event by id
eb_ticket_classes / eb_ticket_classtokenan event's ticket types
eb_event_attendees / eb_event_attendeetokenper-event attendees (changed_since polls incrementally)
eb_event_orderstokenper-event orders
eb_event_questionstokenregistration questions (canned: true for the standard bank)
eb_ordertokena single order by id
eb_venue / eb_venue_eventstokenvenue detail and its events
eb_organizer / eb_organizer_eventstokenorganizer profile and everything they run
eb_series_eventstokenoccurrences of a recurring series
eb_usertokena public user profile
eb_referencetokencategories / subcategories / formats / timezones / countries / regions
eb_resolve_placetokenlocation → place id (Charlotte, NC → 85981333), plus browse shelves
eb_search_eventstokenthe consumer search; compact: true for slim results, aggs for facets
eb_event_detailstokenbatch event detail
eb_healthchecktoken, else bridgewith 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/.

Frequently asked questions

What is io.github.chrischall/eventbrite-mcp?

Eventbrite for Claude — your tickets/orders, organizer data, and public event discovery

How do I install io.github.chrischall/eventbrite-mcp?

It runs on your machine. In Claude Code: claude mcp add eventbrite-mcp -e 'EVENTBRITE_TOKEN=<your eventbrite_token>' -e 'EVENTBRITE_WS_PORT=<EVENTBRITE_WS_PORT>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y @chrischall/eventbrite-mcp@1.1.10. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.chrischall/eventbrite-mcp need an API key?

Yes. It expects EVENTBRITE_TOKEN, which you set in its configuration.

Is io.github.chrischall/eventbrite-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.chrischall/eventbrite-mcp?

It is published by chrischall. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.