使用说明
项目简介
本项目 'local-events-mcp-server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 应用提供本地活动和票务信息的上下文服务。它通过 Ticketmaster API 获取演出、音乐会、体育赛事等活动数据,并以 MCP 协议标准化的方式提供给客户端。
主要功能点
- 活动搜索: 提供多种维度的活动搜索功能,包括:
- 按艺术家搜索: 查找特定艺术家的演出活动。
- 按场馆搜索: 查找特定场馆即将举行的活动。
- 按地点搜索: 查找特定城市或地区的活动。
- 按流派搜索: 查找特定音乐流派或活动类型的活动。
- 活动详情查询: 获取指定活动 ID 的详细信息,包括时间、地点、票价、状态等。
- 票务信息查询: 查询指定活动的票务状态、价格范围和购票链接。
安装步骤
-
克隆仓库:
git clone https://github.com/akshay23/local-events-mcp-server.git cd local-events-mcp-server -
创建并激活虚拟环境 (推荐):
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows -
安装依赖:
pip install -r requirements.txt(如果 'requirements.txt' 文件不存在,可以跳过此步骤,本项目代码依赖较少)
-
配置 Ticketmaster API 密钥:
- 在项目根目录下创建 '.env' 文件。
- 在 '.env' 文件中添加以下内容,将 'YOUR_TICKETMASTER_API_KEY' 替换为你的 Ticketmaster API 密钥。你需要在 Ticketmaster Developer 网站上注册并获取 API 密钥。
TICKETMASTER_API_KEY=YOUR_TICKETMASTER_API_KEY
服务器配置
MCP 客户端需要配置以下 JSON 信息才能连接到 'local-events-mcp-server' 服务器。
{ "serverName": "Local Events Assistant", // 服务器名称,与代码中 FastMCP 初始化时定义的名称一致 "command": "python", // 启动服务器的命令,使用 python 解释器 "args": ["events.py"], // 启动服务器的参数,指定执行 events.py 文件 "transport": "stdio" // 使用 stdio 作为传输协议 }
配置参数说明:
- 'serverName': 服务器的名称,用于在 MCP 客户端中标识服务器。
- 'command': 运行服务器程序的可执行命令,这里是 'python',假设你的 Python 环境已配置好。
- 'args': 传递给 'command' 的参数列表,这里指定了要运行的 Python 脚本文件 'events.py'。
- 'transport': MCP 服务器使用的传输协议,本项目使用 'stdio' (标准输入输出)。
注意: 请确保你的系统已安装 Python 环境,并且 'python' 命令可以正确执行。
基本使用方法
-
启动 MCP 服务器: 在项目根目录下,运行以下命令启动服务器:
python events.py服务器将通过 stdio 监听 MCP 客户端的请求。
-
配置 MCP 客户端: 在你的 MCP 客户端应用中,根据上述 "服务器配置" 部分的 JSON 信息配置连接到 'local-events-mcp-server'。
-
调用工具 (Tools): MCP 客户端连接成功后,可以调用服务器提供的 Tools 来查询活动信息。可用的 Tools 包括:
- 'search_events_by_artist(artist, size)': 按艺术家搜索活动。
- 'search_events_by_venue(venue, size)': 按场馆搜索活动。
- 'search_events_by_location(city, state, country, size)': 按地点搜索活动。
- 'get_event_details(event_id)': 获取活动详情。
- 'search_events_by_genre(genre, city, size)': 按流派搜索活动。
- 'check_ticket_availability(event_id)': 查询票务信息。
客户端需要根据 MCP 协议的规范,构造 JSON-RPC 请求来调用这些 Tools,并解析服务器返回的 JSON-RPC 响应。
示例 (MCP 客户端请求 - 假设使用 JSON-RPC over stdio):
以下是一个 MCP 客户端调用 'search_events_by_artist' 工具的示例请求 (简化示意,实际客户端需要按照 JSON-RPC 规范构造完整请求):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_call_id": "1", "tool_name": "search_events_by_artist", "tool_arguments": { "artist": "Coldplay", "size": 3 } }, "id": "123" }
服务器会处理该请求,调用 Ticketmaster API 搜索 Coldplay 的活动,并将结果以 JSON-RPC 响应的形式返回给客户端。客户端需要解析响应,提取活动信息并呈现给用户或 LLM。
信息
分类
网页与API