# Ticketmaster MCP

> Ticketmaster MCP Server connects your AI agent to live event data and ticketing workflows. Search for concerts, sports games, or local attractions by location, date, or genre. You can then check real-time inventory status, get full event metadata, reserve tickets, and complete purchases directly through the API.

## Overview
- **Category:** ecommerce
- **Price:** Free
- **Tags:** ticketing, live-events, concerts, sports, venues

## Description

**Ticketmaster MCP Server** connects your AI agent directly to live event data and ticketing workflows. You'll use this server to search for concerts, sports games, or local attractions by location, date, or genre. It lets you check real-time inventory status, get full event metadata, reserve tickets, and complete purchases right through the API. 

**Event Discovery and Search:**

Your agent starts by finding what you want. You can use `search_events` to find events based on keywords, dates, and locations across the whole platform. For physical spots, run `search_venues` to find stadiums or arenas by name and location. If you're looking for a specific type of entertainment, `search_attractions` finds artists, sports teams, or general attractions by name. You don't want to guess genres; use `search_classifications` to filter results by specific segments or sub-genres. As you start typing a query, the agent calls `suggest` to get real-time suggestions, and if you need bulk data for an entire region, `get_discovery_feed` downloads all event data URIs for a whole country at once.

**International and Niche Searching:**

Need global coverage? The server handles international markets. You can run `search_intl_events` to find listings specific to the EU market, or use `get_intl_similar_attractions` to locate attractions similar to one you're looking at in that region. For a more targeted search, `search_venues` finds stadiums and arenas by name and location.

**Checking Availability and Details:**

You can’t book what you can’t find. The agent checks current ticket availability for both primary and resale tickets using `get_inventory_status`. When you know the event ID, `get_event` retrieves all specific details, pricing ranges, and metadata. If it's an international show in the EU, use `get_intl_event` to get those full global details. To help plan seating, your agent can call `get_top_picks` or `get_top_picks_universal` to recommend optimal seats based on current availability and quality scores. You can also pull up all the dirt on an existing transaction with `get_order`, which retrieves a complete breakdown of an order using the Partner API.

**The Buying Process:**

When you're ready to buy, your agent manages the whole flow. First, it calls `reserve_tickets` to place a temporary hold on selected tickets through the Partner API. Next, you attach necessary information: `add_shipping` handles shipping details for active ticket purchases, and `add_billing` attaches payment billing information to the current shopping cart. The process wraps up when the agent executes `commit_purchase`, which finalizes the entire ticket purchase transaction and processes the payment using the Partner API.

**System Management (Publishing):**

The server also handles data creation. You can use `publish_attraction` to create a new attraction listing, `publish_event` to make a brand-new event public in the ticketing database, or register new locations via `publish_venue`. If an event already exists but needs changes, you update it using `update_published_event`.

## Tools

### add_billing
Adds payment billing information to a current shopping cart for the transaction.

### add_shipping
Attaches shipping details (if required) to an active ticket purchase cart.

### commit_purchase
Finalizes and completes the entire ticket purchase transaction, processing payment using the Partner API.

### get_discovery_feed
Downloads bulk event data URIs for an entire country or region at once.

### get_event
Retrieves all specific details and metadata for a single, known event ID.

### get_intl_event
Gets full event details specifically for international markets in the EU region.

### get_intl_similar_attractions
Finds attractions that are similar to a given one within international (EU) markets.

### get_inventory_status
Checks the current, near real-time availability of both primary and resale tickets for an event.

### get_order
Retrieves a complete breakdown of details for an existing order using the Partner API.

### get_top_picks
Suggests specific seats based on current availability and quality scores for a given event.

### get_top_picks_universal
Recommends optimal seating options using a universal Event ID format.

### publish_attraction
Creates and publishes new attraction data to the system, making it searchable by others.

### publish_event
Publishes a brand-new event listing into the public ticketing database.

### publish_venue
Registers and publishes details about a new physical venue or stadium location.

### reserve_tickets
Places a temporary hold on selected tickets for an event, initiating the reservation process (Partner API).

### search_attractions
Searches for types of attractions like specific artists or sports teams by name.

### search_classifications
Finds specific genres, segments, or sub-genres to filter search results.

### search_events
Searches for events using keywords, dates, and locations across the entire platform.

### search_intl_events
Finds event listings specifically within international (EU) markets.

### search_venues
Searches for specific venues, like stadiums or arenas, by name and location.

### suggest
Returns real-time search suggestions as the user types keywords into a query.

### update_published_event
Modifies details for an event that has already been published to the system.

## Prompt Examples

**Prompt:** 
```
Find music events in New York for next month.
```

**Response:** 
```
I've found several music events in New York for next month, including 'Madison Square Garden Concert Series' and 'Brooklyn Steel Indie Night'. Would you like the specific dates for any of these?
```

**Prompt:** 
```
Search for venues in Los Angeles with 'Arena' in the name.
```

**Response:** 
```
I found 3 venues in Los Angeles matching 'Arena': Crypto.com Arena, Galen Center Arena, and Kia Forum Arena. Which one would you like to see events for?
```

**Prompt:** 
```
Get the details for event ID 'vvG17Z9pG7k6z'.
```

**Response:** 
```
Fetching details for event vvG17Z9pG7k6z... This is 'The Eras Tour' at SoFi Stadium. Tickets range from $99 to $499, and the event starts at 7:00 PM local time.
```

## Capabilities

### Search for Events and Venues
Your AI client searches the database using tools like `search_events` or `search_venues` to find potential events and locations based on criteria.

### Check Real-Time Ticket Inventory
It checks current ticket availability, including primary and resale inventory, via `get_inventory_status`, so you know if tickets are actually available before booking.

### Manage the Purchase Flow
Your agent guides the transaction by calling `reserve_tickets`, followed by `add_shipping` and `add_billing`, leading to final purchase confirmation using `commit_purchase`.

### Retrieve Detailed Event Metadata
It fetches comprehensive data, including pricing ranges and full event details, with the `get_event` tool. This is crucial for planning or comparing options.

### Handle International Markets
The system supports global reach by providing tools like `search_intl_events` and `get_intl_similar_attractions` for EU markets.

## Use Cases

### Booking a Client's Weekend Getaway
A travel agent needs to book entertainment for a client arriving in Chicago. They prompt the AI with 'Find big music shows near downtown next weekend.' The agent runs `search_events` and then uses `get_event` on the top results to check pricing, confirming availability via `get_inventory_status`. Finally, it completes the booking using the reservation tools.

### Validating a New Venue Listing
A developer needs to test their ticketing app with new data. They use `publish_venue` first, then follow up by running `search_venues` to make sure the location is indexed correctly and accessible for other tools.

### Troubleshooting a Failed Order
The order system fails after payment. An administrator uses `get_order` with the transaction ID. The tool returns detailed info, allowing them to see exactly which steps—like shipping or billing—were completed before the failure point.

### Building a Content Aggregator
A data team wants to build an external directory of major attractions and events. They use `get_discovery_feed` to pull bulk metadata for an entire country, giving them thousands of records in one go.

## Benefits

- You don't have to guess availability. Running `get_inventory_status` provides near real-time stock numbers for both primary and resale tickets, eliminating uncertainty before you try to book anything.
- The entire booking pipeline is contained. Instead of juggling multiple APIs, your agent runs `reserve_tickets`, then sequentially calls `add_shipping` and `add_billing`, guaranteeing a complete purchase path.
- Discovery is fast. Use `search_events` with location, date, or keywords to pull up relevant concerts, sports games, or theater shows in seconds, rather than spending time browsing category pages.
- Global reach is built-in. Need European data? Tools like `get_intl_event` and `search_intl_events` handle international market specifics without needing separate endpoints.
- The system handles the complexity of publishing. Developers can use `publish_event`, `publish_venue`, or `update_published_event` to feed structured, live data directly into their workflows.

## How It Works

The bottom line is that your AI client handles all these steps—from initial search through final payment—in one continuous workflow.

1. First, your AI client uses a search tool (like `search_events`) to narrow down the desired event by location or date.
2. Next, it calls `get_inventory_status` and `get_event` to confirm ticket availability and retrieve full pricing details. If everything looks good, it runs `reserve_tickets` to hold the seats.
3. Finally, the agent completes the transaction sequence: calling `add_shipping`, then `add_billing`, and concluding with `commit_purchase`.

## Frequently Asked Questions

**How do I find out if tickets are actually available using get_inventory_status?**
The `get_inventory_status` tool returns near real-time data on both primary and resale ticket counts. This is the best way to confirm availability before attempting a reservation.

**What sequence must I follow when using reserve_tickets?**
After calling `reserve_tickets`, you must then call `add_shipping` and then `add_billing`. The final step is always running `commit_purchase` to secure the ticket.

**How do I search for events in other countries?**
Use the dedicated international tools. Try `search_intl_events` or `get_intl_event` if you are focusing on European (EU) markets, as these handle regional differences.

**What is the best way to find similar attractions?**
Use the `get_intl_similar_attractions` tool. It takes one attraction ID and finds comparable options within international marketplaces for you.

**Can I get details on a specific event using only its name?**
No, you need an ID. Use `get_event` with the precise event ID to retrieve full metadata, pricing ranges, and seat maps.

**How do I authenticate my AI client when using tools like `get_event`?**
You must provide a valid Ticketmaster Developer Consumer Key. This key authenticates your agent and grants access to the live event data endpoints. Without it, all tool calls will fail due to insufficient credentials.

**What is required when I use the `publish_event` tool?**
You must supply complete metadata for the new listing, including dates, location details, and associated genre classifications. The server validates this data structure before creating an event record in the Ticketmaster ecosystem.

**If I run `search_events` and get zero results, what should I check?**
First, verify your search parameters like date range or location spelling. If the inputs are correct, the API might return a specific error code indicating network issues rather than just no events.

**Can I search for events by genre like 'Music' or 'Sports'?**
Yes! Use the `search_events` tool and provide the `classificationName` parameter (e.g., 'music', 'sports', 'arts') to filter results by category.

**How do I get information about a specific stadium or theater?**
You can use the `search_venues` tool with a keyword or location to find the venue's details, including its address and upcoming event capacity.

**Does this server support ticket purchasing?**
The server includes Partner API tools like `reserve_tickets`, `add_shipping`, and `add_billing` to facilitate the reservation and checkout process for authorized partners.