Query eventbrite.com from a shell — your tickets/orders, your organizations' events and attendees via the documented token API (curl), and public event discovery/search via the fpx browser bridge (the search API is WAF-walled and absent from the documented API). Use when you want Eventbrite data without an MCP server, in a script, or one-shot.
Integrations
accessoticketing-mcp
Try itRead accesso-powered mobile ticket links (accessoticketing.com media-engine URLs from confirmation emails) — order number, per-ticket product, participant, date/time, barcodes, Google Wallet passes — with curl.
What it does
Read accesso-powered mobile ticket links (accessoticketing.com media-engine URLs from confirmation emails) — order number, per-ticket product, participant, date/time, barcodes, Google Wallet passes — with curl.
The skill document
accesso tickets
For accesso Passport mobile-ticket links, which look like:
https://media-engine..accessoticketing.com/tickets/v1/?oToken=A1:…&cToken=A1:…&merchant_id=
Many venues deliver tickets this way (US National Whitewater Center, theme parks, festivals). The link arrives in the order-confirmation email, often behind a click-tracker — resolve that first with curl -sSIL | grep -i ^location.
No login, no browser bridge. The oToken in the URL is the credential, and the page is plain-curl reachable server-side. Treat the URL as a secret: it grants anyone the order's tickets and barcodes. Never paste one into a file, a commit, or an issue.
Core pattern
references/parse-tickets.mjs is dependency-free (no node_modules) and takes a URL, a file, or - for stdin:
P=~/.claude/skills/accesso-tickets/references/parse-tickets.mjs
node "$P" "$TICKET_URL" | jq .
Useful flags:
--barcodes— write each ticket's barcode as a PNG (ticket--.png) and addbarcodeFileto the output.--terms— include the (long, boilerplate, per-ticket-identical)termsAndConditions. Omitted by default.--url— supply the source URL when parsing a saved file, sogoogleWalletUrlcan be built.
Exit codes: 3 no tickets parsed (expired link, or layout drift — the message says which), 4 HTTP error fetching, 64 bad usage.
Output
Top level: orderNumber, island, merchantId, merchantLogo, ticketCount, declaredTicketCount, tickets[].
Per ticket: index, ticketId, packageName, participant, additionalGuests[], date, time (absent on all-day items), barcodeText, barcodeIsDataUrl, instructions, googleWalletUrl, plus any other label/value pair the merchant rendered (commonly guestNumber, webSalesId).
Extra fields are harvested generically from the page's label/value markup rather than hardcoded, so a merchant with different detail rows still comes through. See references/recipes.md for jq recipes and the verified request shapes.
Gotchas
- An expired or invalid link returns HTTP 200, not 4xx — the body just says "no tickets available to print on this order." Status alone never tells you the link is dead; the parser checks the body and says so.
- Every ticket is rendered twice (a mobile
ticket-item-containergrouping and adesktopTicketGroupingone) sharing barcode element ids. Parse only the mobile blocks or you get doubles. ticketIdlives in neither rendering — it is in the trailing "Register this ticket" modal section, one hidden input per ticket in ticket order. The parser maps it positionally and omits it (with a warning) if the counts disagree, rather than guessing.date/timeare the merchant's local wall-clock strings (MM/DD/YYYY,9:00 AM) with no timezone. Don't convert them.- Barcodes are inline base64 PNGs of the same order-level code (
%RC), not per-ticket unique on every merchant.
Related skills
This skill should be used when the user asks about GetYourGuide tours, activities, or attraction tickets. Triggers on phrases like "find tours on GetYourGuide", "things to do in Paris", "skip-the-line tickets", "GetYourGuide reviews", "book an activity", or any request involving searching tours, activities, day trips, or attraction tickets.
Read and manage a My Hot Lunchbox school-lunch account from a shell with curl — sign in, list students, read the lunch calendar and cart, check orders, deliveries and payments. Use when you want My Hot Lunchbox data without running the MCP server, in a script, or on a machine where the MCP is not installed.
Discover restaurants on Tock (exploretock.com) via MCP — list cities, search a metro, and get a venue's details plus its bookable experiences, prices, party sizes, and open dates/times. Triggers on phrases like "search Tock for", "what's on Tock in Chicago", "find a Tock reservation at", "does Alinea have availability on Tock", "what experiences does <venue> offer on Tock", or "my Tock reservations". Requires tock-mcp installed and the fetchproxy browser extension running in a signed-in exploretock.com tab.
Access AlphaPortal (AlphaRoute) school-bus data — students, stops, live bus GPS location, arrival notifications — from a shell with curl instead of running the alphaportal-mcp server. Capture the signed-in web app's refresh token ONCE (a paste-in-console one-liner, or the fpx browser bridge), then mint access tokens and curl the REST API directly. Use when you want AlphaPortal data without the MCP, in a script, or on a machine where the MCP isn't installed.
Search Untappd beers, breweries, and venues; read user profiles, check-ins, wishlists, distinct beers, badges, friends, and your friend activity feed; and post check-ins, toasts, and comments to your own Untappd account. Use when the user asks about beer ratings, what a beer or brewery is like on Untappd, someone's Untappd check-ins or wishlist, or wants to log/toast/comment on a beer.