SeatGeek MCP Server
The SeatGeek MCP Server is a comprehensive tool for searching events, performers, and venues while providing personalized recommendations using SeatGeek's data.
Key capabilities:
🎟️ Event Search - Find events by performer, location, date, venue, or general text query
🎯 Personalized Recommendations - Get event and performer suggestions based on your preferences, location, or past interests
🏟️ Detailed Venue Information - Access seating sections, rows, and venue details for specific events
🌍 Location-Based Features - Use geoip, lat/lon, postal codes, or city/state/country for targeted results
📅 Date Filtering - Search within specific date ranges
📄 Flexible Output - Results available in structured (readable) or JSON (raw) format
Integration & Setup:
Operates as standalone server with STDIO and HTTP streaming transport support
Integrates with platforms like Claude Desktop and OpenWebUI (via
mcpoproxy)Requires SeatGeek API credentials configured through environment variables or
.envfile
Provides comprehensive tools for accessing SeatGeek's event data, including searching for events and performers, getting personalized recommendations, retrieving detailed venue seating information with sections and rows, and finding events by location or date.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SeatGeek MCP Server find concerts in New York this weekend"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
seatgeek-mcp
Comprehensive MCP server exposing a registry of SeatGeek tools including events, performers, venues, section info, and recommendations as a TypeScript library.
Demo
Related MCP server: Eventbrite MCP Server
Prerequisites
Node.js >= 18.0.0
npm >= 8.0.0
Installation
npm install seatgeek-mcpUsage
As a Standalone Server
# STDIO transport (default)
npm start
# HTTP streaming transport
MCP_HTTP=1 PORT=8080 npm startTools
find_events: Search for events by performer, location, date, or venue. This tool is optimized for finding specific events based on user queries. If the query involves a performer, it first looks up the performer, then finds events for that performer. Otherwise, it searches events directly. Returns structured event data with venue information.find_event_recommendations: Get personalized event recommendations based on performers, events, or location. This tool first searches for performers and/or events based on the query, then uses the IDs to find similar events. Use location parameters for nearby events.find_performer_recommendations: Get personalized performer recommendations based on performers, events, or location. This tool first searches for performers and/or events based on the queries, then uses the IDs to find similar performers.retrieve_event_venue_information: Get detailed seating information including sections and rows for a specific event. This tool first searches for the event using the provided query, then retrieves detailed venue layout information.
Environment Variables
SEATGEEK_CLIENT_ID: Your SeatGeek API client ID (required)SEATGEEK_SECRET: Your SeatGeek API secret (optional)MCP_HTTP: Set to any value to enable HTTP transport instead of STDIOPORT: Port to listen on when using HTTP transport (default: 8080)
Setting up Environment Variables
To use this MCP server, you need to set up a .env file in the root directory with your SeatGeek API credentials:
Copy the
.env.examplefile to.env:cp .env.example .envEdit the
.envfile and replace the placeholder values with your actual SeatGeek API credentials
You can obtain your SeatGeek API credentials by creating an account at SeatGeek Platform.
Development
Setup
npm installBuild
npm run buildDevelopment Server
npm run devClean Build
npm run cleanTesting the Server
You can test the server in several ways:
Using HTTP transport (easiest for testing):
MCP_HTTP=1 PORT=8080 npm startUsing curl to test tools (proper MCP protocol sequence):
The MCP protocol requires a specific sequence of requests with proper headers:
a. Initialize the connection (required first step):
curl -v -X POST http://localhost:8080 \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-06-11", "capabilities": {}, "clientInfo": {"name": "curl", "version": "1.0.0"}}}'b. Extract the session ID from the response headers (look for
mcp-session-id)c. Use the session ID for subsequent requests:
# List available tools curl -X POST http://localhost:8080 \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Mcp-Session-Id: YOUR_SESSION_ID_HERE" \ -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' # Call a specific tool (example) curl -X POST http://localhost:8080 \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "Mcp-Session-Id: YOUR_SESSION_ID_HERE" \ -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "find_events", "arguments": {"q": "concert", "per_page": 5}}}'For a complete working example, see:
examples/curl-example.sh - Shell script demonstrating the full sequence of requests
examples/node-example.js - Node.js script showing programmatic usage
Using the test scripts:
# Run the simple test server script npm run test-server # Run the comprehensive tool tests (requires server to be running separately) npm run test-tools
The server implements the Model Context Protocol (MCP) specification, so it can be used with any MCP-compatible client.
Using with Claude Desktop
Prerequisites
Installed Claude Desktop
Added claude_desktop_config.json under Settings -> Developer
Setup Instructions
Add to
mcpServerslist:
"seatgeek-mcp": {
"command": "node",
"args": ["/path-to/seatgeek-mcp/dist/server.js"],
"env": {
"SEATGEEK_CLIENT_ID": "your-client-id"
}
}Using with OpenWebUI
You can use this MCP server with OpenWebUI through the mcpo (MCP Over HTTP) proxy, which automatically generates OpenAPI documentation from your MCP tool schemas.
Prerequisites
Docker installed on your system (Optional if using uv)
OpenWebUI installed and running
Setup Instructions
Start the mcpo proxy:
docker run -p 8000:8000 -v $(pwd):/workspace -w /workspace ghcr.io/open-webui/mcpo:main -- npm startor
uvx mcpo --port 8000 -- npm startVerify the proxy is running:
Open your browser and navigate to
http://localhost:8000/docsto see the automatically generated Swagger UI documentationYou can also check the OpenAPI specification at
http://localhost:8000/openapi.json
Connect to OpenWebUI:
Open OpenWebUI
Go to Settings > Tools & Integrations
Add a new OpenAPI-compatible tool
Use the URL:
http://localhost:8000
Example Usage in OpenWebUI
Once connected, you can use these tools in OpenWebUI that will make requests such as:
To search for performers:
{"q": "washington nationals", "per_page": 5}To search for venues:
{"city": "New York", "per_page": 5}
The mcpo proxy automatically handles the conversion between the OpenAPI REST interface and the MCP protocol, making your MCP tools accessible through standard REST endpoints that OpenWebUI can easily integrate with.
Available Tools
4 toolsfind_event_recommendationsB
Get personalized event recommendations based on performers, events, or location. This tool first searches for performers and/or events based on the query (q parameter), then uses the IDs to find similar events. Use location parameters (geoip, lat/lon, postal_code) for nearby events.
Inputs: end_utc, format, geoip, lat, +7 more.
find_eventsA
Search for events by performer, location, date, or venue. This tool is optimized for finding specific events based on user queries. If the query involves a performer, it first looks up the performer, then finds events for that performer. Otherwise, it searches events directly. Returns structured event data with venue information.
Inputs: end_utc, format, page, per_page, +5 more.
find_performer_recommendationsB
Get personalized performer recommendations based on performers, events, or location. This tool first searches for performers and/or events based on the queries, then uses the IDs to find similar performers. Use location parameters (geoip, lat/lon, postal_code) for nearby performers.
Inputs: end_utc, event_q, format, page, +6 more.
retrieve_event_venue_informationB
Get detailed seating information including sections and rows for a specific event. This tool first searches for the event using the provided query, then retrieves detailed venue layout information. Useful for understanding venue seating options and making ticket purchasing decisions.
Inputs: event_id (required), format, page.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
The tools have distinct primary purposes: find_event_recommendations and find_performer_recommendations focus on personalized recommendations, find_events is for direct event searches, and retrieve_event_venue_information handles seating details. However, find_event_recommendations and find_events both involve event searches, which could cause some confusion if an agent needs to decide between them for a simple event lookup.
All tool names follow a consistent verb_noun pattern with clear, descriptive terms: find_event_recommendations, find_events, find_performer_recommendations, and retrieve_event_venue_information. The naming is predictable and readable throughout the set.
With 4 tools, the count is reasonable for an event and performer discovery server, covering core functionalities like searching, recommendations, and venue details. It is slightly lean but well-scoped, as each tool serves a distinct role without unnecessary duplication.
The tool set covers key aspects of event discovery, recommendations, and venue information, but there are notable gaps. For example, it lacks tools for ticket purchasing, event creation/updates, or user-specific actions like saving favorites, which might be expected in a full SeatGeek integration. This could limit agent workflows in more complex scenarios.
Maintenance
Related MCP Connectors
Discover and book theatre, tours, attractions, and live experiences worldwide. No API key required.
Live ticket prices, listings and seat maps for AI agents.
Search local events, follow artists and interests, get weekend recommendations and change alerts
All-in ticket prices across ticket sites, seat views and venue guides for US events.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides tools for discovering events at Madison Square Garden via the Ticketmaster API, returning structured data with event details like name, date, price, and ticket purchase links.183 npm24MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates with the Eventbrite API to provide AI-assisted event management capabilities for viewing events, tracking attendees, and generating analytics reports.10 npm3MIT
- AlicenseCqualityDmaintenanceEnables discovery and search of Ticketmaster events, venues, and attractions with advanced filtering options including date ranges, location-based search, and event classifications through the Ticketmaster Partner API.1MIT
- FlicenseBqualityDmaintenanceConnects Claude to the Ticketmaster API to let users discover local events by city, category, keyword, or weekend through natural conversation.4-