Eventbrite MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "FIREBASE_PROJECT_ID=${FIREBASE_PROJECT_ID}" -e "PLATFORM_URL=${PLATFORM_URL}" -e "PLATFORM_SERVICE_TOKEN=${PLATFORM_SERVICE_TOKEN}" eventbrite-mcp -- docker build -t eventbrite-mcp-server .
Required:FIREBASE_PROJECT_IDPLATFORM_URLPLATFORM_SERVICE_TOKEN+ 3 optional
README.md

Multi-tenant Eventbrite MCP server with Firebase authentication

Eventbrite MCP Server

Multi-tenant Eventbrite MCP server with Firebase authentication, wrapping @prmichaelsen/eventbrite-mcp.

Overview

This server provides a multi-tenant Model Context Protocol (MCP) interface to the Eventbrite API. It uses:

  • Firebase Authentication for user identity verification
  • Platform API for secure credential management
  • @prmichaelsen/mcp-auth for authentication wrapping
  • @prmichaelsen/eventbrite-mcp as the base MCP server

Architecture

Client (Firebase JWT)
  ↓
Firebase Auth Provider (validates JWT → userId)
  ↓
Platform Token Resolver (userId → Eventbrite token via platform)
  ↓
Eventbrite MCP Server (executes tools)
  ↓
Eventbrite API

Prerequisites

  • Node.js 20+
  • Firebase project with authentication enabled
  • Platform API that implements the credentials endpoint
  • Eventbrite OAuth tokens stored in your platform

Installation

npm install

Configuration

Copy `.env.example` to .env and configure:

# Firebase (for JWT validation)
FIREBASE_PROJECT_ID=your-firebase-project-id

# Platform API (for token resolution)
PLATFORM_URL=https://your-platform.com
PLATFORM_SERVICE_TOKEN=your-service-token

# Server
PORT=8080
NODE_ENV=development
LOG_LEVEL=info

Environment Variables

Variable Required Description
FIREBASE_PROJECT_ID Yes Firebase project ID for JWT validation
PLATFORM_URL Yes Base URL of your platform API
PLATFORM_SERVICE_TOKEN Yes Service token for platform API authentication
PORT No Server port (default: 8080)
NODE_ENV No Environment (development/production)
LOG_LEVEL No Logging level (default: info)

Development

# Install dependencies
npm install

# Run in development mode with hot reload
npm run dev

# Build TypeScript
npm run build

# Run production build
npm start

Docker

Build

docker build -t eventbrite-mcp-server .

Run

docker run -p 8080:8080 \
  -e FIREBASE_PROJECT_ID=your-project \
  -e PLATFORM_URL=https://your-platform.com \
  -e PLATFORM_SERVICE_TOKEN=your-token \
  eventbrite-mcp-server

Deployment

Google Cloud Run

# Build and push to GCR
docker build -t gcr.io/YOUR_PROJECT/eventbrite-mcp-server:latest .
docker push gcr.io/YOUR_PROJECT/eventbrite-mcp-server:latest

# Generate service token
SERVICE_TOKEN=$(node -e "console.log(require('crypto').randomBytes(32).toString('base64url'))")

# Create secret
echo -n "$SERVICE_TOKEN" | gcloud secrets create platform-service-token --data-file=-

# Deploy
gcloud run deploy eventbrite-mcp-server \
  --image gcr.io/YOUR_PROJECT/eventbrite-mcp-server:latest \
  --region us-central1 \
  --allow-unauthenticated \
  --set-env-vars="FIREBASE_PROJECT_ID=your-project,PLATFORM_URL=https://your-platform.com,NODE_ENV=production" \
  --update-secrets=PLATFORM_SERVICE_TOKEN=platform-service-token:latest \
  --min-instances=0 \
  --max-instances=10 \
  --memory=512Mi \
  --cpu=1

API Endpoints

Health Check

GET /mcp/health

MCP Message Endpoint

POST /mcp/message
Authorization: Bearer <firebase-jwt>
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "id": 1
}

Testing

Local Testing

# Start server
npm start

# Test health endpoint
curl http://localhost:8080/mcp/health

# Test with Firebase JWT
curl -X POST http://localhost:8080/mcp/message \
  -H "Authorization: Bearer <firebase-jwt>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Production Testing

curl -X POST https://your-server.run.app/mcp/message \
  -H "Authorization: Bearer <firebase-jwt>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Platform API Requirements

Your platform must implement the credentials endpoint:

// GET /api/credentials/eventbrite
// Headers: 
//   Authorization: Bearer <service-token>
//   X-User-ID: <user-id>

// Response:
{
  "access_token": "user-eventbrite-token",
  "expires_at": "2024-12-31T23:59:59Z"
}

Project Structure

eventbrite-mcp-server/
├── src/
│   ├── index.ts                    # Main server entry point
│   └── auth/
│       ├── firebase-provider.ts    # Firebase JWT validation
│       └── platform-token-resolver.ts # Platform API integration
├── agent/
│   └── patterns/
│       └── bootstrap.md            # Bootstrap pattern documentation
├── package.json
├── tsconfig.json
├── Dockerfile
├── .env.example
├── .gitignore
├── .dockerignore
└── README.md

Features

  • ✅ Multi-tenant architecture
  • ✅ Firebase authentication
  • ✅ Platform-managed credentials (secure)
  • ✅ Stateless server (no database)
  • ✅ Token caching for performance
  • ✅ Rate limiting
  • ✅ Health checks
  • ✅ Docker supp

Environment Variables

FIREBASE_PROJECT_IDrequiredFirebase project ID for JWT validation
PLATFORM_URLrequiredBase URL of your platform API
PLATFORM_SERVICE_TOKENrequiredService token for platform API authentication
PORTServer port (default: 8080)
NODE_ENVEnvironment (development/production)
LOG_LEVELLogging level (default: info)

Configuration

claude_desktop_config.json
{ "mcpServers": { "eventbrite": { "command": "node", "args": ["/path/to/eventbrite-mcp-server/dist/index.js"], "env": { "FIREBASE_PROJECT_ID": "your-project-id", "PLATFORM_URL": "https://your-platform.com", "PLATFORM_SERVICE_TOKEN": "your-token" } } } }

Try it

List all the events I am currently managing on Eventbrite.
Get the details for the upcoming event with ID 12345.
Check the attendee count for my event scheduled for next week.
Find all events in my account that are currently in draft status.

Frequently Asked Questions

What are the key features of Eventbrite MCP Server?

Multi-tenant architecture for secure user isolation. Firebase authentication for identity verification. Platform-managed credential resolution. Stateless server design for easy deployment. Token caching for improved performance.

What can I use Eventbrite MCP Server for?

Managing event listings directly through an AI assistant. Retrieving attendee data for event reporting. Automating event status updates via natural language commands. Integrating Eventbrite event data into custom AI workflows.

How do I install Eventbrite MCP Server?

Install Eventbrite MCP Server by running: npm install

What MCP clients work with Eventbrite MCP Server?

Eventbrite MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Eventbrite MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare