
Search Ticketmaster attractions (performers, teams, shows) with pagination. Filter by keyword (matches attraction name), classificationname, or classificationid (both from searchclassifications). Returns a lean attraction shape; pass fields to add raw keys such as images. Pass an id to getattraction or to searchevents attractionid. Returns pageinfo; pass pageinfo.number + 1 to page while hasnextpage is true (API caps page*size at 1000).
Fetch one Ticketmaster attraction by ID, including classifications. Pass fields to add raw keys such as images, externalLinks or upcomingEvents. Use search_attractions to find attraction IDs.
Search Ticketmaster classifications (segments such as Music, Sports, Arts & Theatre) with pagination. Filter by keyword (matches classification name). Each result carries segmentid/segmentname; pass segmentid to getsegment or as classificationid to searchevents/searchattractions, or pass segmentname as classificationname. Returns pageinfo; pass pageinfo.number + 1 to page while hasnext_page is true.
Fetch one Ticketmaster classification by its segment ID, including the nested genre and subgenre hierarchy. Use search_classifications to find classification segment IDs.
Fetch one Ticketmaster segment (top-level classification such as Music or Sports) by ID, with its nested genres. Use searchclassifications or getclassification to find segment IDs.
Fetch one Ticketmaster genre (a classification level under a segment, e.g. Rock) by ID, with its nested subgenres. Find genre IDs in the nested data of getclassification or getsegment.
Fetch one Ticketmaster subgenre (the most specific classification level, under a genre, e.g. Alternative Rock) by ID. Find subgenre IDs in the nested data of getgenre, getsegment, or get_classification.
Search Ticketmaster events with pagination. Filter by keyword (matches event name), a start/end date-time window (ISO 8601), city, statecode, countrycode, postalcode, venueid (from searchvenues), attractionid (from searchattractions), classificationname, or classificationid (from searchclassifications). Returns a lean event shape with venue and attraction refs; pass fields to add raw keys such as images or sales. Returns pageinfo; pass pageinfo.number + 1 to page while hasnextpage is true (API caps page*size at 1000; depth_capped means narrow filters).
Fetch one Ticketmaster event by ID: dates, status, info, classifications, price ranges, and venue/attraction refs. Pass fields to add raw keys such as images, sales or seatmap. Use search_events to find event IDs.
Fetch the full image set for one Ticketmaster event by ID (url, ratio, width, height, fallback per image). Images with fallback=true are generic placeholders, often the largest; use a fallback=false image as the event's artwork even if it is smaller. Lighter than getevent with fields=['images'] when only artwork is needed. Use searchevents to find event IDs.
Predictive type-ahead search: given a partial keyword, return the best matching events, attractions, venues, and products in one call. Use for autocomplete or to resolve a fuzzy name to concrete IDs, then pass an id to getevent / getattraction / getvenue. For full filtered, paginated results use searchevents / searchattractions / searchvenues instead. Events, attractions and venues use the same lean shape the search tools return; products are trimmed to id, name, type and url.
Check that the stored Ticketmaster API key (Consumer Key) is valid by making one lightweight read against the Discovery API. Returns success true when the key is accepted, false when it is missing or rejected.
Search Ticketmaster venues with pagination. Filter by keyword (matches venue name), statecode, and countrycode. Returns a lean venue shape; pass fields to add raw keys such as boxOfficeInfo. Pass an id to getvenue or to searchevents venueid. Returns pageinfo; pass pageinfo.number + 1 to page while hasnext_page is true (API caps page*size at 1000).
Fetch one Ticketmaster venue by ID, including address, city, state, country, location (lat/long), and timezone. Pass fields to add raw keys such as boxOfficeInfo, parkingDetail or markets. Use search_venues to find venue IDs.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now