Eventbrite MCP Server
by ibraheem4
# Eventbrite MCP Server
This is a Model Context Protocol (MCP) server that provides tools for interacting with the Eventbrite API. It allows AI assistants to search for events, get event details, retrieve venue information, and more.
## Features
- Search for events based on various criteria (location, date, category, etc.)
- Get detailed information about specific events
- Retrieve venue information
- Get a list of event categories
## Installation
### From NPM
```bash
npm install -g @ibraheem4/eventbrite-mcp
```
### From Source
1. Clone this repository
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
## Development
### Running in Development Mode
```bash
npm run dev
```
This will watch for changes in the source files, rebuild the project, and restart the server automatically.
### Running the MCP Server
You can run the MCP server using the provided run script:
```bash
./run.sh
```
This will start the MCP server using supergateway.
### Running with Inspector
To run the MCP server with the Inspector, you can use:
```bash
npm run inspector
```
This will start the Inspector, which provides a web interface for testing the MCP server. The Inspector will be available at http://localhost:5173.
### Running Manually
You can run the MCP server manually using:
```bash
npx -y supergateway --port 1337 --stdio "./build/index.js"
```
Or simply use the provided run script:
```bash
./run.sh
```
### Testing
```bash
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage
# Run integration tests
npm run test:integration
# Test the API directly
npm run test:api
```
## Configuration
To use this MCP server, you need to:
1. Obtain an Eventbrite API key from the [Eventbrite Developer Portal](https://www.eventbrite.com/platform/api)
2. Set up your API key in one of the following ways:
- Create a `.env` file in the project root (copy from `.env.example`):
```
EVENTBRITE_API_KEY=your_eventbrite_api_key_here
```
- Or provide it as an environment variable:
```bash
export EVENTBRITE_API_KEY=your_eventbrite_api_key_here
```
- Or configure it in the MCP settings file (see below)
3. Test your API key:
```bash
./test-api-key.js
```
4. Configure the MCP server in your MCP settings file
### For Claude Desktop App
Add the following to your `~/Library/Application Support/Claude/claude_desktop_config.json` file (on macOS):
```json
{
"mcpServers": {
"eventbrite": {
"command": "npx",
"args": ["-y", "@ibraheem4/eventbrite-mcp"],
"env": {
"EVENTBRITE_API_KEY": "your-eventbrite-api-key"
},
"disabled": false,
"autoApprove": []
}
}
}
```
### For Claude Developer Environment
Add the following to your `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json` file (on macOS):
```json
{
"mcpServers": {
"eventbrite": {
"command": "npx",
"args": ["-y", "@ibraheem4/eventbrite-mcp"],
"env": {
"EVENTBRITE_API_KEY": "your-eventbrite-api-key"
},
"disabled": false,
"autoApprove": []
}
}
}
```
### Quick Start
If you've installed from source, you can use the provided run script:
```bash
./run.sh
```
This will build the project and start the MCP server.
## Available Tools
### search_events
Search for Eventbrite events based on various criteria.
Parameters:
- `query` (string, optional): Search query for events
- `location` (object, optional): Location to search around
- `latitude` (number, required): Latitude coordinate
- `longitude` (number, required): Longitude coordinate
- `within` (string, optional): Distance (e.g., '10km', '10mi')
- `categories` (array of strings, optional): Category IDs to filter by
- `start_date` (string, optional): Start date in ISO format (e.g., '2023-01-01T00:00:00Z')
- `end_date` (string, optional): End date in ISO format (e.g., '2023-12-31T23:59:59Z')
- `price` (string, optional): Filter by 'free' or 'paid' events
- `page` (number, optional): Page number for pagination
- `page_size` (number, optional): Number of results per page (max 100)
### get_event
Get detailed information about a specific Eventbrite event.
Parameters:
- `event_id` (string, required): Eventbrite event ID
### get_categories
Get a list of Eventbrite event categories.
No parameters required.
### get_venue
Get information about a specific Eventbrite venue.
Parameters:
- `venue_id` (string, required): Eventbrite venue ID
## Available Resources
### Event Details Resource
URI Template: `eventbrite://events/{eventId}`
Get detailed information about a specific Eventbrite event.
## Example Usage
Once configured, you can ask Claude to use the Eventbrite MCP tools:
- "Search for music events in New York next weekend"
- "Get details about Eventbrite event with ID 123456789"
- "What categories of events are available on Eventbrite?"
- "Tell me about the venue with ID 987654321"
## License
MIT