🚀 seatgeek - mcp
seatgeek - mcp 是一個全面的 MCP 服務器,以 TypeScript 庫的形式公開了 SeatGeek 工具的註冊表,涵蓋活動、表演者、場館、區域信息和推薦等內容。
🚀 快速開始
🔍 演示

📋 前提條件
- Node.js >= 18.0.0
- npm >= 8.0.0
📦 安裝指南
npm install seatgeek - mcp
💻 使用示例
基礎用法
作為獨立服務器使用:
npm start
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
🧪 測試服務器
你可以通過以下幾種方式測試服務器:
- 使用 HTTP 傳輸(測試最簡單的方式):
MCP_HTTP = 1 PORT = 8080 npm start
- 使用 curl 測試工具(遵循正確的 MCP 協議序列):
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"}}}'
- 從響應頭中提取會話 ID(查找
mcp - session - id)
- 使用會話 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}}}'
完整的工作示例請參考:
- [examples/curl - example.sh](examples/curl - example.sh) - 展示完整請求序列的 shell 腳本
- [examples/node - example.js](examples/node - example.js) - 展示編程式使用的 Node.js 腳本
- 使用測試腳本:
npm run test - server
npm run test - tools
該服務器實現了模型上下文協議(MCP)規範,因此可與任何兼容 MCP 的客戶端一起使用。
🖥️ 與 Claude Desktop 配合使用
📋 前提條件
- 已安裝 Claude Desktop
- 在設置 -> 開發者選項下添加了 claude_desktop_config.json
🛠️ 設置說明
在 mcpServers 列表中添加:
"seatgeek - mcp": {
"command": "node",
"args": ["/path - to/seatgeek - mcp/dist/server.js"],
"env": {
"SEATGEEK_CLIENT_ID": "your - client - id"
}
}
🖥️ 與 OpenWebUI 配合使用
你可以通過 mcpo(MCP Over HTTP)代理將此 MCP 服務器與 OpenWebUI 配合使用,該代理會根據你的 MCP 工具模式自動生成 OpenAPI 文檔。
📋 前提條件
- 系統上安裝了 Docker(如果使用 uv 則可選)
- 已安裝並運行 OpenWebUI
🛠️ 設置說明
- 啟動 mcpo 代理:
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 規範
- 連接到 OpenWebUI:
- 打開 OpenWebUI
- 轉到設置 > 工具與集成
- 添加一個新的兼容 OpenAPI 的工具
- 使用 URL:
http://localhost:8000
💡 示例用法
連接後,你可以在 OpenWebUI 中使用這些工具進行如下請求:
- 搜索表演者:
{"q": "washington nationals", "per_page": 5}
- 搜索場館:
{"city": "New York", "per_page": 5}
mcpo 代理會自動處理 OpenAPI REST 接口和 MCP 協議之間的轉換,使你的 MCP 工具可通過標準 REST 端點訪問,便於 OpenWebUI 集成。