MCP Connector

Access Ticketmaster Event Data

An MCP server for searching Ticketmaster events, venues, and attractions, with the API key passed per-request from the client.

Works with ticketmaster

91
Spark score
out of 100
Updated 11 months ago
Version 1.0.0
Models
gemini 1 5 prouniversal

Add to Favorites

Why it matters

Integrate with Ticketmaster's extensive database to enable AI assistants to search for events, venues, and attractions. This connector provides tools for comprehensive filtering and data retrieval.

Outcomes

What it gets done

01

Search for Ticketmaster events by keywords, date, and location.

02

Discover venues and attractions using various search criteria.

03

Filter results by date, location, venue, attraction, and classification.

04

Retrieve entertainment data via HTTP transport.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-ticketmaster-mcp-server | bash

Capabilities

Tools your agent gets

search_ticketmaster

Search for events, venues, or attractions on Ticketmaster with filtering by date, location, and more.

Overview

Ticketmaster MCP Server

This MCP server exposes a search_ticketmaster tool covering events, venues, and attractions with date, location, and classification filters. Since v1.1.0, the Ticketmaster API key is passed per-request from the client rather than stored server-side. Use it when an AI assistant needs to search Ticketmaster events, venues, or attractions. Requires a valid Ticketmaster Discovery API key supplied with each request.

What it does

An MCP server exposing Ticketmaster's Discovery API as a single tool, search_ticketmaster, letting an AI assistant search for events, venues, and attractions with keyword, date range, city/state/country, venue or attraction ID, and classification filters such as "Sports" or "Music." It returns structured data: for events, ID, name, URL, date and time, price ranges, venue and attraction details, and images; for venues, ID, name, address, coordinates, city/state/country, and capacity or facility details; for attractions, ID, name, classification, images, and associated events or venues. As of v1.1.0, a breaking change, the Ticketmaster API key is passed per-request from the client as a required apiKey tool parameter rather than a server-side environment variable, letting one server instance serve multiple clients or keys.

When to use - and when NOT to

Use it when an AI assistant needs to look up concerts, sports events, venues, or performers and teams via Ticketmaster - for example, "find Taylor Swift events in New York this year" or "search for Madison Square Garden." It requires a Ticketmaster Discovery API key from the Ticketmaster Developer Portal; the bundled example client additionally needs a Google Gemini API key to demonstrate natural-language function calling. It is not useful without a valid Ticketmaster key, and error responses clearly flag missing or invalid keys, input validation failures, or upstream Ticketmaster API errors.

Capabilities

search_ticketmaster(type, keyword?, startDate?, endDate?, city?, stateCode?, countryCode?, venueId?, attractionId?, classificationName?), with type required as event, venue, or attraction. It supports comprehensive filtering by date, location, venue, attraction, and classification, plus error handling covering API errors, input validation, network retries and timeouts, and authentication problems.

How to install

git clone https://github.com/mochow13/ticketmaster-mcp-server.git
cd ticketmaster-mcp-server
cd server
npm install
npm run build
node build/index.js

The server runs on port 3000 by default (configurable via PORT) using streamable HTTP transport, and needs no server-side environment variables since the Ticketmaster API key travels with each client request. For Docker: docker build -t ticketmaster-mcp-server . then docker run -p 3000:3000 ticketmaster-mcp-server. An optional example client (built on @google/genai for Gemini-powered natural-language queries) needs GEMINI_API_KEY and TICKETMASTER_API_KEY environment variables. A smithery.yaml file is included for Smithery-based MCP configuration. Requires Node.js 16.0.0 or higher.

Who it's for

Developers building AI assistants or chat interfaces that need to search live entertainment events, venues, or performers through Ticketmaster, particularly multi-tenant setups where each client supplies its own Ticketmaster API key per request rather than sharing one server-side key.

Source README

Ticketmaster MCP Server

A Model Context Protocol (MCP) server that provides tools to search for events, venues, and attractions using the Ticketmaster Discovery API. This server enables AI assistants to access Ticketmaster's extensive database of entertainment events and venues.

Features

  • Event Search: Find upcoming events by keyword, date range, location, and more
  • Venue Search: Discover venues by name, location, or specific criteria
  • Attraction Search: Search for artists, sports teams, and other attractions
  • Comprehensive Filtering: Filter results by date, location, venue, attraction, and classification
  • MCP Compatible: Fully compliant with the Model Context Protocol specification
  • HTTP Transport: Uses streamable HTTP transport for real-time communication

Architecture

This project consists of two main components:

Server (/server)

  • MCP Server: Implements the Model Context Protocol server using @modelcontextprotocol/sdk
  • Ticketmaster Integration: Custom client for the Ticketmaster Discovery API
  • HTTP Transport: Express.js server with streamable HTTP transport
  • TypeScript: Fully typed implementation with comprehensive error handling

Client (/client)

  • MCP Client: Example client implementation using @modelcontextprotocol/sdk
  • AI Integration: Uses Google's Gemini AI model for natural language queries
  • Interactive Chat: Command-line interface with conversation history
  • Function Calling: Demonstrates AI-powered tool usage

Installation

Prerequisites

  • Node.js 16.0.0 or higher
  • npm or yarn package manager
  • Ticketmaster API key (get one from Ticketmaster Developer Portal)
  • Google Gemini API key (for client example)

Server Setup

  1. Navigate to the server directory:
cd server
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Start the server:
node build/index.js

The server will start on port 3000 by default.

Note: As of the latest version, the TicketMaster API key is now passed from the client to the server, so no environment variables are required for the server.

Client Setup (Optional)

  1. Navigate to the client directory:
cd client
  1. Install dependencies:
npm install
  1. Build the client:
npm run build
  1. Set up environment variables:
export GEMINI_API_KEY="your_gemini_api_key_here"
export TICKETMASTER_API_KEY="your_ticketmaster_api_key_here"
  1. Run the client:
node build/index.js

Docker Deployment

You can also run the server using Docker:

docker build -t ticketmaster-mcp-server .
docker run -p 3000:3000 ticketmaster-mcp-server

Note: No environment variables are needed for the server as API keys are now passed from the client.

API Usage

Available Tools

search_ticketmaster

Search for events, venues, or attractions on Ticketmaster.

Parameters:

  • type (required): Type of search - "event", "venue", or "attraction"
  • keyword (optional): Search keyword or term
  • startDate (optional): Start date in YYYY-MM-DD format
  • endDate (optional): End date in YYYY-MM-DD format
  • city (optional): City name
  • stateCode (optional): State code (e.g., "NY", "CA")
  • countryCode (optional): Country code (e.g., "US", "CA")
  • venueId (optional): Specific venue ID to search
  • attractionId (optional): Specific attraction ID to search
  • classificationName (optional): Event classification/category (e.g., "Sports", "Music")

Example Usage

Search for Events
{
  "type": "event",
  "keyword": "Taylor Swift",
  "city": "New York",
  "stateCode": "NY",
  "startDate": "2024-01-01",
  "endDate": "2024-12-31"
}
Search for Venues
{
  "type": "venue",
  "keyword": "Madison Square Garden",
  "city": "New York"
}
Search for Attractions
{
  "type": "attraction",
  "keyword": "Lakers",
  "classificationName": "Sports"
}

Response Format

The server returns structured data including:

Events

  • Event ID, name, and URL
  • Date and time information
  • Price ranges
  • Venue and attraction details
  • Images and multimedia content

Venues

  • Venue ID, name, and address
  • Location coordinates
  • City, state, and country information
  • Capacity and facility details

Attractions

  • Attraction ID and name
  • Classification (genre, segment)
  • Images and promotional content
  • Associated events and venues

Configuration

Environment Variables

Server:

  • PORT: Server port (default: 3000)

Client:

  • TICKETMASTER_API_KEY: Required for client operation (passed to server)
  • GEMINI_API_KEY: Required for client example

Smithery Configuration

The project includes a smithery.yaml file for MCP server configuration:

startCommand:
  type: http
  configSchema:
    type: object
    properties: {}
  exampleConfig: {}

Development

Project Structure

ticketmaster-mcp-server/
├── server/                 # MCP Server implementation
│   ├── src/
│   │   ├── index.ts       # Express server entry point
│   │   ├── server.ts      # MCP server implementation
│   │   └── ticketmaster/  # Ticketmaster API integration
│   │       ├── client.ts  # API client
│   │       ├── tools.ts   # Tool definitions
│   │       ├── types.ts   # Type definitions
│   │       └── formatter.ts # Response formatting
│   ├── package.json
│   └── tsconfig.json
├── client/                # Example MCP client
│   ├── index.ts          # Client implementation
│   ├── package.json
│   └── tsconfig.json
├── Dockerfile            # Docker configuration
├── smithery.yaml        # MCP configuration
└── README.md           # This file

Building from Source

  1. Clone the repository:
git clone https://github.com/mochow13/ticketmaster-mcp-server.git
cd ticketmaster-mcp-server
  1. Build the server:
cd server
npm install
npm run build
  1. Build the client (optional):
cd ../client
npm install
npm run build

Key Dependencies

Server:

  • @modelcontextprotocol/sdk: MCP protocol implementation
  • axios: HTTP client for Ticketmaster API
  • express: Web server framework
  • typescript: Type-safe JavaScript

Client:

  • @modelcontextprotocol/sdk: MCP client implementation
  • @google/genai: Google Gemini AI integration
  • dotenv: Environment variable management

Error Handling

The server includes comprehensive error handling:

  • API Errors: Proper handling of Ticketmaster API errors with detailed messages
  • Validation: Input parameter validation and type checking
  • Network Issues: Retry logic and timeout handling
  • Authentication: Clear error messages for missing or invalid API keys

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.