Ticketmaster MCP Server

平台与服务

by mochow13

Enable seamless integration of Ticketmaster data and services into your applications. Access event information, ticket availability, and venue details through standardized MCP tools and resources. Enhance your user experience by leveraging real-time ticketing context and actions.

什么是 Ticketmaster MCP Server

Enable seamless integration of Ticketmaster data and services into your applications. Access event information, ticket availability, and venue details through standardized MCP tools and resources. Enhance your user experience by leveraging real-time ticketing context and actions.

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:
bash
cd server
  1. Install dependencies:
bash
npm install
  1. Build the project:
bash
npm run build
  1. Start the server:
bash
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:
bash
cd client
  1. Install dependencies:
bash
npm install
  1. Build the client:
bash
npm run build
  1. Set up environment variables:
bash
export GEMINI_API_KEY="your_gemini_api_key_here"
export TICKETMASTER_API_KEY="your_ticketmaster_api_key_here"
  1. Run the client:
bash
node build/index.js

Docker Deployment

You can also run the server using Docker:

bash
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

json
{
  "type": "event",
  "keyword": "Taylor Swift",
  "city": "New York",
  "stateCode": "NY",
  "startDate": "2024-01-01",
  "endDate": "2024-12-31"
}

Search for Venues

json
{
  "type": "venue",
  "keyword": "Madison Square Garden",
  "city": "New York"
}

Search for Attractions

json
{
  "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:

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

Development

Project Structure

code
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:
bash
git clone https://github.com/mochow13/ticketmaster-mcp-server.git
cd ticketmaster-mcp-server
  1. Build the server:
bash
cd server
npm install
npm run build
  1. Build the client (optional):
bash
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

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes and add tests
  4. Ensure TypeScript compilation: npm run build
  5. Submit a pull request

License

ISC License - see package.json files for details.

Support

For issues related to:

Changelog

v1.1.0

  • BREAKING CHANGE: API key architecture changed - TicketMaster API key now passed from client to server
  • Updated tool schema to include apiKey as required parameter
  • Removed server environment variable dependency for TicketMaster API key
  • Enhanced security by allowing per-request API key specification
  • Updated documentation and examples to reflect new architecture

v1.0.0

  • Initial release
  • Event, venue, and attraction search functionality
  • HTTP transport implementation
  • Docker support
  • Example client with Google Gemini integration

常见问题

Ticketmaster MCP Server 是什么?

Enable seamless integration of Ticketmaster data and services into your applications. Access event information, ticket availability, and venue details through standardized MCP tools and resources. Enhance your user experience by leveraging real-time ticketing context and actions.

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描171.4k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描171.4k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描24.9k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.7k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
80.0k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
72.9k

评论