Ticketmaster发现MCP服务器
模型上下文协议服务器,提供通过Ticketmaster Discovery API发现事件、场所和景点的工具。
*本实施方案改编自 delorenj/mcp服务器票控器 具有增强的HTTP传输支持。*
特性
- 综合搜索:使用灵活的过滤功能查找活动、场地和景点
- 跨所有内容类型的关键字搜索 - 事件的日期范围筛选 - 基于位置的搜索(城市、州、国家) - 针对特定场地和景点的搜索 - 事件分类/类别过滤
- 多种输出格式:
- 用于编程的结构化JSON数据 - 供直接使用的人类可读文本
- 丰富的数据:完整的信息,包括名称、日期、价格、URL、图像、位置和分类
- 双重运输支持:用于生产部署的流式HTTP和用于本地开发的STDIO
安装和设置
先决条件
您需要Ticketmaster API密钥:
- 访问 developer.tickemaster.com
- 创建帐户并登录
- 导航到“我的应用程序”并创建新应用程序
- 复制您的消费者密钥(这是您的API密钥)
安装选项
选项1:直接安装(推荐)
# Clone and build locally
git clone https://github.com/your-org/ticketmaster-mcp.git
cd ticketmaster-mcp
npm install
npm run build选项2:NPM包安装
*注:包发布到NPM待定*
npm install -g @your-org/mcp-server-ticketmaster-discovery配置
用于生产部署(流式HTTP)
流式HTTP传输是为服务器作为web服务运行的云部署和生产用例而设计的。
环境配置:
# Required
TICKETMASTER_API_KEY=your-consumer-key-here
# For cloud deployment
PORT=8080 # Port will be injected by cloud platform
SERVER_URL=https://your-service.example.com # Your service domain
NODE_ENV=production启动服务器:
# Cloud deployment (reads PORT from environment)
npm start
# Local testing with specific port
npm run dev:shttp客户端配置:
{
"mcpServers": {
"ticketmaster": {
"url": "https://your-service.example.com/mcp"
}
}
}地方发展(STDIO)
STDIO传输是为本地开发和测试而设计的。它不能部署在云平台上,因为它需要直接的进程通信。
环境配置:
TICKETMASTER_API_KEY=your-consumer-key-here启动服务器:
# Local development
npm run dev:stdio客户端配置:
{
"mcpServers": {
"ticketmaster": {
"command": "node",
"args": ["path/to/ticketmaster-mcp/build/index.js"],
"env": {
"TICKETMASTER_API_KEY": "your-consumer-key-here"
}
}
}
}API 参考
可用工具
search_ticketmaster
在Ticketmaster上搜索活动、场地或景点。
所需参数:
type(string):搜索类型-"event","venue",或"attraction"
可选参数:
keyword(string):搜索词或短语startDate(字符串):YYYY-MM-DD格式的开始日期(仅限事件)endDate(字符串):YYYY-MM-DD格式的结束日期(仅限事件)city(string):基于位置搜索的城市名称stateCode(string):州代码(例如“NY”、“CA”)countryCode(string):国家代码(例如“US”、“CA”)venueId(string):特定Ticketmaster场馆IDattractionId(string):特定Ticketmaster景点IDclassificationName(string):活动类别(例如,“体育”、“音乐”、“戏剧”)format(string):输出格式-"json"(默认)或"text"
用法示例
MCP客户端集成
// Search for upcoming concerts in New York
{
"tool": "search_ticketmaster",
"arguments": {
"type": "event",
"keyword": "concert",
"city": "New York",
"stateCode": "NY",
"startDate": "2025-01-01",
"classificationName": "Music",
"format": "text"
}
}HTTP API测试
# Initialize session
SESSION_ID=$(curl -s -D - http://localhost:3001/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": { "tools": {} },
"clientInfo": { "name": "TestClient", "version": "1.0.0" }
}
}' | grep -i mcp-session-id | cut -d' ' -f2 | tr -d '\r')
# Send initialized notification
curl http://localhost:3001/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-H "Mcp-Session-Id: $SESSION_ID" \
-d '{"jsonrpc": "2.0", "method": "notifications/initialized"}'
# Search for events
curl http://localhost:3001/mcp \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-H "Mcp-Session-Id: $SESSION_ID" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_ticketmaster",
"arguments": {
"type": "event",
"city": "San Francisco",
"format": "text"
}
}
}'发展
地方发展
# Clone repository
git clone
cd ticketmaster-mcp
# Set up environment
cp .env.example .env
# Edit .env with your Ticketmaster API key
# Install dependencies
npm install
# Build TypeScript
npm run build
# Start development server
npm run dev
# Run with TypeScript watch mode
npm run watch交通建筑
此服务器支持针对不同用例优化的两种传输机制:
可流式HTTP传输
- 用例:生产部署、云平台、web集成
- 端点:
/mcp - 特性:基于会话的并发客户端,可扩展,健康检查
- 部署:兼容云平台(AWS、GCP、Azure等)
STDIO传输
- 用例:本地开发、测试、MCP客户端调试
- 特性:直接流程沟通,设置简单,是开发工作流程的理想选择
- 限制:由于进程通信要求,无法在云平台上部署
测试
# Test with MCP Inspector (STDIO)
npm run inspector
# Test STDIO transport
npm run dev:stdio
# Test HTTP transport locally
npm run dev:shttp
# Then use curl commands from examples above费率限制和API注意事项
Ticketmaster Discovery API有费率限制:
- 沙盒层:5个请求/秒,5000个呼叫/天
- 深度分页:限量1000件
如需更高的配额或商业用途,请通过Ticketmaster的门户联系Ticketmaster开发者关系团队。
贡献
欢迎投稿!该项目建立在良好的基础之上 delorenj/mcp服务器票控器.
开发指南
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
请确保:
- TypeScript编译通过(
npm run build) - 代码遵循现有模式
- HTTP传输功能得以保留
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
鸣谢
此实施方式改编自 delorenj/mcp服务器票控器 Jarad DeLorenzo,对可流式传输的HTTP进行了增强。
