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) 调用该工具获取活动信息。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/mmmaaatttttt/mcp-live-events.git
    cd mcp-live-events
  2. 安装依赖:

    uv venv
    uv sync

    确保已安装 'uv' 和 Python 3.13+。

  3. 配置 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"',表示使用标准输入/输出进行通信。

基本使用方法

  1. 启动服务器: 在仓库根目录下运行命令 'uv run mcp-live-events'。 看到终端输出 'MCP Live Event server is running!' 表示服务器已成功启动。

  2. 在 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