seatgeek - mcp 是一个全面的 MCP 服务器,以 TypeScript 库的形式公开了 SeatGeek 工具的注册表,涵盖活动、表演者、场馆、区域信息和推荐等内容。

npm install seatgeek - mcp
作为独立服务器使用:
# 标准输入输出传输(默认)
npm start
# HTTP 流式传输
MCP_HTTP = 1 PORT = 8080 npm start
find_events
:可根据表演者、地点、日期或场馆搜索活动。该工具针对用户查询进行了优化,能精准查找特定活动。若查询涉及表演者,会先查找该表演者,再查找其相关活动;否则直接搜索活动,并返回包含场馆信息的结构化活动数据。find_event_recommendations
:根据表演者、活动或地点获取个性化活动推荐。此工具先根据查询搜索表演者和/或活动,再使用其 ID 查找类似活动,还可使用地点参数获取附近活动。find_performer_recommendations
:根据表演者、活动或地点获取个性化表演者推荐。该工具先根据查询搜索表演者和/或活动,再使用其 ID 查找类似表演者。retrieve_event_venue_information
:获取特定活动的详细座位信息,包括区域和排数。此工具先根据提供的查询搜索活动,再检索详细的场馆布局信息。属性 | 详情 |
---|---|
SEATGEEK_CLIENT_ID |
你的 SeatGeek API 客户端 ID(必需) |
SEATGEEK_SECRET |
你的 SeatGeek API 密钥(可选) |
MCP_HTTP |
设置为任意值以启用 HTTP 传输,而非标准输入输出 |
PORT |
使用 HTTP 传输时监听的端口(默认:8080) |
要使用此 MCP 服务器,需在根目录创建一个 .env
文件,并填入你的 SeatGeek API 凭证:
.env.example
文件复制为 .env
:cp .env.example .env
.env
文件,将占位符值替换为你实际的 SeatGeek API 凭证。你可以在 SeatGeek 平台 创建账户来获取 SeatGeek API 凭证。
npm install
npm run build
npm run dev
npm run clean
你可以通过以下几种方式测试服务器:
MCP_HTTP = 1 PORT = 8080 npm start
curl -v -X POST http://localhost:8080 \
-H "Content - Type: application/json" \
-H "Accept: application/json, text/event - stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024 - 06 - 11", "capabilities": {}, "clientInfo": {"name": "curl", "version": "1.0.0"}}}'
mcp - session - id
)# 列出可用工具
curl -X POST http://localhost:8080 \
-H "Content - Type: application/json" \
-H "Accept: application/json, text/event - stream" \
-H "Mcp - Session - Id: YOUR_SESSION_ID_HERE" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'
# 调用特定工具(示例)
curl -X POST http://localhost:8080 \
-H "Content - Type: application/json" \
-H "Accept: application/json, text/event - stream" \
-H "Mcp - Session - Id: YOUR_SESSION_ID_HERE" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "find_events", "arguments": {"q": "concert", "per_page": 5}}}'
完整的工作示例请参考:
# 运行简单的测试服务器脚本
npm run test - server
# 运行全面的工具测试(需要服务器单独运行)
npm run test - tools
该服务器实现了模型上下文协议(MCP)规范,因此可与任何兼容 MCP 的客户端一起使用。
在 mcpServers
列表中添加:
"seatgeek - mcp": {
"command": "node",
"args": ["/path - to/seatgeek - mcp/dist/server.js"],
"env": {
"SEATGEEK_CLIENT_ID": "your - client - id"
}
}
你可以通过 mcpo(MCP Over HTTP)代理将此 MCP 服务器与 OpenWebUI 配合使用,该代理会根据你的 MCP 工具模式自动生成 OpenAPI 文档。
docker run -p 8000:8000 -v $(pwd):/workspace -w /workspace ghcr.io/open - webui/mcpo:main -- npm start
或者
uvx mcpo --port 8000 -- npm start
http://localhost:8000/docs
查看自动生成的 Swagger UI 文档http://localhost:8000/openapi.json
查看 OpenAPI 规范http://localhost:8000
连接后,你可以在 OpenWebUI 中使用这些工具进行如下请求:
{"q": "washington nationals", "per_page": 5}
{"city": "New York", "per_page": 5}
mcpo 代理会自动处理 OpenAPI REST 接口和 MCP 协议之间的转换,使你的 MCP 工具可通过标准 REST 端点访问,便于 OpenWebUI 集成。