io.github.chrischall/etix-mcp
Etix event discovery for Claude — search events, venues & performers and fetch event details
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).
etix-mcpclaude mcp add etix-mcp -e 'ETIX_WS_PORT=<ETIX_WS_PORT>' -e 'ETIX_DEBUG=<ETIX_DEBUG>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y etix-mcp@1.1.9
{
"mcpServers": {
"etix-mcp": {
"command": "npx",
"args": [
"-y",
"etix-mcp@1.1.9"
],
"env": {
"ETIX_WS_PORT": "<ETIX_WS_PORT>",
"ETIX_DEBUG": "<ETIX_DEBUG>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
Environment variables
ETIX_WS_PORTOverride the fetchproxy WebSocket port (default 37149).ETIX_DEBUGSet to 1 for stderr per-request bridge timing.FETCHPROXY_WS_HOSTBind interface for the bridge (default 127.0.0.1; a literal IP only, anything else is ignored). Keep on loopback — it exists for ONE topology: a hosted child in its own network namespace.FETCHPROXY_IDENTITY_DIRWhere to store the long-term fetchproxy identity keypair (default ~/.fetchproxy/identity/; an absolute path only, anything else is ignored). Exists for a host that runs a separate child per caller, so they can share one identity.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
etix-mcp
Etix event discovery as an MCP server for Claude — search events, venues, and performers and pull full event/venue details via natural language.
⚠️ Etix does not publish a public consumer API, and its consumer site sits behind a DataDome bot-wall. This server reads the same
/ticket/api/online/...endpoints and server-rendered pages that etix.com itself uses, routed through your own signed-in browser tab via the ContextMint Bridge browser extension. Every request acts on behalf of your existing session — your cookies, your TLS, your JS context — exactly as if you'd browsed it yourself. No Etix account is required; this is public discovery data. Use at your own discretion.
Tools
| Tool | Purpose |
|---|---|
etix_search | Search events, venues, and performers by keyword. Returns a few top matches per category, each with its id and canonical etix.com URL. |
etix_get_event | Full record for an event/performance by event_id — name, date/time, venue (with address + coordinates), organizer, ticket price range and the individual priced offer levels. |
etix_get_venue | A venue by venue_id — name, organizer, full address, and the list of upcoming events at that venue. |
etix_find_location | Resolve a city name or postal code to coordinates plus normalized city/state — a building block for location-based event browsing. |
etix_healthcheck | End-to-end bridge check — round-trips /robots.txt and reports which hop failed (bridge down vs. extension not connected vs. DataDome challenge on your tab). Call when other tools fail. |
How it works
Etix fronts its consumer site with a DataDome interstitial that a server-side fetch can't clear, so etix-mcp routes every request through your signed-in, already-cleared etix.com tab via the shared fetchproxy bridge (WebSocket on 127.0.0.1:37149). etix_search reads the clean search/suggest JSON endpoint; etix_get_event and etix_get_venue parse the server-rendered performance/venue pages (schema.org JSON-LD + microdata). See docs/ETIX-API.md for the verified endpoint shapes.
Setup
See skills/etix/SKILL.md for full install steps: add the server to your MCP config, install the shared ContextMint Bridge extension, open etix.com, and approve the one-time pairing. Then run etix_healthcheck.
Where the extension comes from. ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README (chrischall/fetchproxy#extension) points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself (
npm run build), or check a release zip against the.sha256file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).
Development
npm ci
npm run build # tsc --noEmit + esbuild bundle → dist/bundle.js
npm test # vitest
Acknowledgement of Terms
By using this MCP server, you acknowledge that it uses your own etix.com session via the ContextMint Bridge extension, that Etix offers no public consumer API (so the underlying endpoints may change at any time), and that this is an unofficial, AI-developed project with no affiliation to Etix. Use at your own discretion, consistent with Etix's Terms of Use.
License
MIT — developed and maintained by AI (Claude Code).
Frequently asked questions
What is io.github.chrischall/etix-mcp?
Etix event discovery for Claude — search events, venues & performers and fetch event details
How do I install io.github.chrischall/etix-mcp?
It runs on your machine. In Claude Code: claude mcp add etix-mcp -e 'ETIX_WS_PORT=<ETIX_WS_PORT>' -e 'ETIX_DEBUG=<ETIX_DEBUG>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y etix-mcp@1.1.9. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.chrischall/etix-mcp need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.chrischall/etix-mcp open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains io.github.chrischall/etix-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.