MCP Live Events Server 使用说明
项目简介
MCP Live Events Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它通过 Ticketmaster API 提供实时的演唱会和活动数据。该服务器旨在让 AI Agent 能够动态地获取最新的活动信息,从而增强 Agent 的上下文感知能力和实用性。
主要功能点
- 实时活动数据查询: 集成 Ticketmaster API,能够根据城市、日期范围和关键词搜索即将举行的音乐会和活动。
- 结构化数据输出: 将 Ticketmaster API 返回的原始数据进行格式化处理,输出易于大型语言模型 (LLM) 理解的结构化文本信息。
- MCP 工具注册: 通过 MCP 协议将活动查询功能注册为 "工具 (Tool)",允许 MCP 客户端 (如 AI Agent) 调用该工具获取活动信息。
安装步骤
-
克隆仓库:
git clone https://github.com/mmmaaatttttt/mcp-live-events.git cd mcp-live-events -
安装依赖:
uv venv uv sync确保已安装 'uv' 和 Python 3.13+。
-
配置 Ticketmaster API 密钥:
- 在 Ticketmaster开发者门户 申请 API 密钥 (Consumer Key)。
- 将 API 密钥配置为环境变量 'TICKETMASTER_API_KEY'。
- 方法一 (推荐): 在仓库根目录下创建 '.env' 文件,并按照 '.env.example' 文件的格式添加 'TICKETMASTER_API_KEY=YOUR_API_KEY'。
- 方法二: 在 MCP 客户端的服务器配置中设置 'env' 字段来传递 'TICKETMASTER_API_KEY' 环境变量。
服务器配置 (MCP 客户端)
MCP 客户端需要配置以下 JSON 信息来连接和使用 MCP Live Events Server。
{ "server name": "live-events-server", "command": "uv", "args": [ "run", "mcp-live-events" ], "env": { // "TICKETMASTER_API_KEY": "YOUR_API_KEY" // API 密钥可以通过 .env 文件或客户端配置传递,建议使用 .env 文件 }, "transport": "stdio" }
配置参数说明:
- '"server name"': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器,例如 '"live-events-server"'。
- '"command"': 启动服务器的命令,这里使用 'uv' 运行项目,所以设置为 '"uv"'。
- '"args"': 传递给 'command' 的参数列表。
- '"run"': 'uv run' 子命令用于运行 Python 脚本。
- '"mcp-live-events"': 指定要运行的 Python 入口点,对应 'src/mcp_live_events/init.py' 中定义的 'main()' 函数。
- '"env"': (可选) 环境变量配置。 可以将 'TICKETMASTER_API_KEY' 放在这里,但不推荐,更推荐使用 '.env' 文件或客户端自身的配置管理方式。
- '"transport"': 指定 MCP 服务器使用的传输协议,这里设置为 '"stdio"',表示使用标准输入/输出进行通信。
基本使用方法
-
启动服务器: 在仓库根目录下运行命令 'uv run mcp-live-events'。 看到终端输出 'MCP Live Event server is running!' 表示服务器已成功启动。
-
在 MCP 客户端中使用:
-
配置上述服务器配置 JSON 到 MCP 客户端中。
-
客户端连接到 MCP Live Events Server 后,将可以发现名为 'get_upcoming_events' 的工具。
-
调用 'get_upcoming_events' 工具时,需要提供以下参数:
-
'city': 城市名称 (字符串)。
-
'start_dttm_str': 开始日期时间,ISO 8601 格式 (YYYY-MM-DDTHH:MM:SSZ),例如 '"2025-02-08T00:00:00Z"'。
-
'end_dttm_str': 结束日期时间,ISO 8601 格式 (YYYY-MM-DDTHH:MM:SSZ),例如 '"2025-02-10T00:00:00Z"'。
-
'keyword' (可选): 关键词 (字符串),用于过滤搜索结果。
-
工具执行成功后,将返回包含格式化后的活动信息的字符串,AI Agent 可以解析该字符串以获取活动详情。
-
示例 (MCP 客户端请求,非代码,仅为理解工具调用过程):
假设 MCP 客户端需要查询 2025年2月8日至2月10日 纽约的音乐会,可以构造类似以下的 MCP 请求 (具体请求格式取决于 MCP 客户端的实现):
{ "jsonrpc": "2.0", "method": "ToolCall", "params": { "tool_name": "get_upcoming_events", "tool_input": { "city": "New York", "start_dttm_str": "2025-02-08T00:00:00Z", "end_dttm_str": "2025-02-10T00:00:00Z" } }, "id": 1 }
服务器会调用 Ticketmaster API 并返回格式化后的活动信息作为 JSON-RPC 响应。
信息
分类
网页与API