A Model Context Protocol server that provides tools for discovering events, venues, and attractions through the Ticketmaster Discovery API.
- Comprehensive Search: Find events, venues, and attractions with flexible filtering
- Keyword search across all content types
- Date range filtering for events
- Location-based search (city, state, country)
- Venue-specific and attraction-specific searches
- Event classification/category filtering
- Multiple Output Formats:
- Structured JSON data for programmatic use
- Human-readable text for direct consumption
- Rich Data: Complete information including names, dates, prices, URLs, images, locations, and classifications
- Built with dedalus-mcp: Uses the Dedalus MCP framework for seamless integration
- Python 3.10+ and uv package manager
- Ticketmaster API key:
- Visit developer.ticketmaster.com
- Create an account and sign in
- Navigate to "My Apps" and create a new application
- Copy your Consumer Key (this is your API key)
# Clone the repository
git clone https://github.com/Spencer04Hire/ticketmaster-mcp.git
cd ticketmaster-mcp
# Install dependencies with uv
uv syncCreate a .env file in the project root:
TICKETMASTER_API_KEY=your-consumer-key-here
PORT=8080 # Optional, defaults to 8080# Activate the virtual environment and run
source .venv/bin/activate
cd src
python main.pyThe server will start at http://127.0.0.1:8080/mcp.
Search for events, venues, or attractions on Ticketmaster.
Required Parameters:
type(string): Type of search -"event","venue", or"attraction"
Optional Parameters:
keyword(string): Search term or phrasestartDate(string): Start date in YYYY-MM-DD format (events only)endDate(string): End date in YYYY-MM-DD format (events only)city(string): City name for location-based searchstateCode(string): State code (e.g., "NY", "CA")countryCode(string): Country code (e.g., "US", "CA")venueId(string): Specific Ticketmaster venue IDattractionId(string): Specific Ticketmaster attraction IDclassificationName(string): Event category (e.g., "Sports", "Music", "Theater")format(string): Output format -"json"(default) or"text"
# Search for concerts in New York
{
"type": "event",
"keyword": "concert",
"city": "New York",
"stateCode": "NY",
"classificationName": "Music"
}
# Search for events in a date range
{
"type": "event",
"startDate": "2026-02-01",
"endDate": "2026-02-28"
}# Search for stadiums
{
"type": "venue",
"keyword": "stadium"
}
# Search for venues in Los Angeles
{
"type": "venue",
"city": "Los Angeles",
"stateCode": "CA"
}# Search for a specific artist
{
"type": "attraction",
"keyword": "Taylor Swift"
}
# Search for rock attractions
{
"type": "attraction",
"classificationName": "Rock"
}ticketmaster-mcp/
├── pyproject.toml # Project configuration and dependencies
├── README.md
├── src/
│ ├── __init__.py
│ ├── main.py # Entry point
│ ├── server.py # MCP server setup
│ ├── client.py # Ticketmaster API client
│ ├── models.py # Pydantic data models
│ ├── formatters.py # Text output formatters
│ ├── test_client.py # Test client for the server
│ └── tools/
│ ├── __init__.py
│ └── search.py # search_ticketmaster tool
└── uv.lock
With the server running in one terminal:
# In another terminal
source .venv/bin/activate
cd src
python test_client.pyuv add <package-name>The Ticketmaster Discovery API has rate limits:
- Sandbox Tier: 5 requests/second, 5,000 calls/day
- Deep Paging: Limited to 1,000 items
For higher quotas or commercial usage, contact the Ticketmaster developer relations team through their portal.
MIT License - see LICENSE file for details.
Python implementation using the dedalus-mcp framework.