@chrischall/eventbrite-mcp 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
3
+ "name": "eventbrite-mcp",
4
+ "owner": {
5
+ "name": "Chris Hall",
6
+ "email": "chris.c.hall@gmail.com"
7
+ },
8
+ "metadata": {
9
+ "description": "MCP server for Eventbrite — your tickets and orders, organizer data, and public event discovery",
10
+ "version": "0.0.0"
11
+ },
12
+ "plugins": [
13
+ {
14
+ "name": "eventbrite-mcp",
15
+ "displayName": "Eventbrite",
16
+ "source": "./",
17
+ "description": "MCP server for Eventbrite — tickets, orders, organizer data, and public event search. Account tools use a personal API token; discovery search routes through the user's signed-in eventbrite.com tab via the fetchproxy bridge, reusing their authenticated session.",
18
+ "version": "0.0.0",
19
+ "author": {
20
+ "name": "Chris Hall"
21
+ },
22
+ "homepage": "https://github.com/chrischall/eventbrite-mcp",
23
+ "repository": "https://github.com/chrischall/eventbrite-mcp",
24
+ "license": "MIT",
25
+ "keywords": [
26
+ "eventbrite",
27
+ "events",
28
+ "tickets",
29
+ "mcp"
30
+ ],
31
+ "category": "productivity"
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "eventbrite-mcp",
3
+ "displayName": "Eventbrite",
4
+ "version": "0.0.0",
5
+ "description": "MCP server for Eventbrite — your tickets and orders, organizer data, and public event discovery",
6
+ "author": {
7
+ "name": "Chris Hall",
8
+ "email": "chris.c.hall@gmail.com"
9
+ },
10
+ "homepage": "https://github.com/chrischall/eventbrite-mcp",
11
+ "repository": "https://github.com/chrischall/eventbrite-mcp",
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "eventbrite",
15
+ "events",
16
+ "tickets",
17
+ "mcp"
18
+ ],
19
+ "skills": "./skills/",
20
+ "mcp": "./.mcp.json"
21
+ }
package/.mcp.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "eventbrite": {
4
+ "command": "node",
5
+ "args": ["${CLAUDE_PLUGIN_ROOT}/dist/index.js"],
6
+ "env": {
7
+ "EVENTBRITE_TOKEN": "${EVENTBRITE_TOKEN}"
8
+ }
9
+ }
10
+ }
11
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Chris Hall
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,100 @@
1
+ # eventbrite-mcp
2
+
3
+ > This project was developed and is maintained by AI (Claude Code). Use at your own discretion.
4
+
5
+ MCP server for [Eventbrite](https://www.eventbrite.com): your tickets and
6
+ orders, organizer data (events, attendees, orders), any public event by id,
7
+ and public event **search** — which Eventbrite removed from its documented
8
+ API in 2019 and now only exists on the consumer site.
9
+
10
+ Two data paths, matched to how Eventbrite is reachable:
11
+
12
+ - **Documented API** (`eventbriteapi.com/v3`) — plain server-side HTTPS with a
13
+ personal OAuth token (`EVENTBRITE_TOKEN`, free: [create one](https://www.eventbrite.com/platform/api-keys)).
14
+ Powers the account, organizer, event-by-id, and reference tools.
15
+ - **Consumer discovery API** (`www.eventbrite.com/api/v3/destination/…`) — the
16
+ site WAF-blocks server-side clients, so search routes through your own
17
+ signed-in eventbrite.com browser tab via the
18
+ [fetchproxy](https://github.com/chrischall/fetchproxy) bridge (Transporter
19
+ extension), reusing your authenticated session. Powers `eb_search_events`,
20
+ `eb_resolve_place`, `eb_event_details`, `eb_healthcheck`.
21
+
22
+ All tools are read-only.
23
+
24
+ ## Setup
25
+
26
+ ```sh
27
+ npm install -g @chrischall/eventbrite-mcp
28
+ ```
29
+
30
+ Claude Code (`.mcp.json`):
31
+
32
+ ```json
33
+ {
34
+ "mcpServers": {
35
+ "eventbrite": {
36
+ "command": "eventbrite-mcp",
37
+ "env": { "EVENTBRITE_TOKEN": "your-private-token" }
38
+ }
39
+ }
40
+ }
41
+ ```
42
+
43
+ - Without `EVENTBRITE_TOKEN` the server still boots; account tools error
44
+ helpfully on first use, and discovery tools work regardless.
45
+ - For discovery tools: install the Transporter extension, keep an
46
+ eventbrite.com tab open, and approve the one-time pair prompt (the prompt
47
+ covers the `csrftoken` cookie read the search POST needs). Run
48
+ `eb_healthcheck` to verify the hop.
49
+
50
+ ## Tools
51
+
52
+ | Tool | Path | Notes |
53
+ | --- | --- | --- |
54
+ | `eb_me` | token | your profile |
55
+ | `eb_my_orders` | token | your tickets, event expanded |
56
+ | `eb_my_organizations` | token | organizer orgs |
57
+ | `eb_org_events` / `eb_org_attendees` / `eb_org_orders` | token | organizer data |
58
+ | `eb_org_venues` / `eb_org_discounts` / `eb_org_ticket_groups` / `eb_org_webhooks` | token | org-scoped collections |
59
+ | `eb_org_report` | token | sales / attendees analytics, date-windowed |
60
+ | `eb_event` / `eb_event_description` | token | any public event by id |
61
+ | `eb_ticket_classes` / `eb_ticket_class` | token | an event's ticket types |
62
+ | `eb_event_attendees` / `eb_event_attendee` | token | per-event attendees (`changed_since` polls incrementally) |
63
+ | `eb_event_orders` | token | per-event orders |
64
+ | `eb_event_questions` | token | registration questions (`canned: true` for the standard bank) |
65
+ | `eb_order` | token | a single order by id |
66
+ | `eb_venue` / `eb_venue_events` | token | venue detail and its events |
67
+ | `eb_organizer` / `eb_organizer_events` | token | organizer profile and everything they run |
68
+ | `eb_series_events` | token | occurrences of a recurring series |
69
+ | `eb_user` | token | a public user profile |
70
+ | `eb_reference` | token | categories / subcategories / formats / timezones / countries / regions |
71
+ | `eb_resolve_place` | token | location → place id (`Charlotte, NC` → `85981333`), plus browse shelves |
72
+ | `eb_search_events` | token | the consumer search; `compact: true` for slim results, `aggs` for facets |
73
+ | `eb_event_details` | token | batch event detail |
74
+ | `eb_healthcheck` | bridge | bridge diagnostics (stdio only; the bridge is a fallback route) |
75
+
76
+ Search flow: `eb_resolve_place {location: "Charlotte, NC"}` →
77
+ `eb_search_events {q: "blues", place_id: "85981333", compact: true}`.
78
+
79
+ `eb_resolve_place` also accepts a raw slug (`nc--charlotte`). A bare city with
80
+ no state or country is rejected rather than guessed.
81
+
82
+ ## Hosted connector
83
+
84
+ `src/worker.ts` deploys the token-API tools as a Cloudflare Worker remote
85
+ connector for claude.ai (OAuth login collects your Eventbrite token). The
86
+ discovery tools are **excluded** there — the browser bridge doesn't exist in a
87
+ Worker. See `docs/DEPLOY-CONNECTOR.md`.
88
+
89
+ ## Development
90
+
91
+ ```sh
92
+ npm install
93
+ npm test # node suite
94
+ npm run build # tsc + esbuild bundle
95
+ npm run worker:test
96
+ ```
97
+
98
+ API shape notes (captured + verified): `docs/EVENTBRITE-API.md`. A
99
+ shell-level access skill (curl + fpx, no server needed) ships in
100
+ `skills/eventbrite/`.