英雄联盟数据服务

一个通过Riot Games API提供英雄联盟游戏数据访问的模型上下文协议(MCP)服务器,支持玩家PUUID查询、比赛历史记录获取、比赛详情查询等功能。

  • by syy674998887
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 syy674998887/league-data-mcp

使用说明

联盟数据MCP

模型上下文协议(MCP)服务器,通过Riot Games API提供对英雄联盟游戏数据的访问。

特性

  • 玩家PUUID查找:使用游戏名称和标记行获取玩家的PUUID
  • 比赛历史记录列表:使用可选筛选检索玩家的比赛列表
  • 匹配详细信息:获取详细的比赛信息,包括统计数据和比赛数据
  • 比赛摘要列表:使用玩家特定的上下文获取截断的比赛数据(针对大型数据集进行了优化)

先决条件

  • Python 3.13+
  • Riot Games API密钥(从 Riot开发者门户)
  • MCP兼容客户端(如克劳德桌面)

安装

方法1:从PyPI安装(推荐)

pip install league-data-mcp

方法2:使用uvx安装

uvx install league-data-mcp

方法3:开发安装

  1. 克隆存储库

    git clone https://github.com/syy674998887/league-data-mcp.git
    cd league-data-mcp
    
  2. 安装依赖项

    uv sync
    
  3. 设置环境变量

    export API="Your Riot API key here"
    

配置

适用于克劳德桌面/樱桃工作室等。

  1. 配置MCP客户端 将服务器配置添加到MCP客户端:
    {
    "mcpServers": {
       "League-Data-MCP": {
          "command": "uvx",
          "args": ["league-data-mcp@latest"],
          "env": {
          "API": "Your Riot API key here"
          }
       }
    }
    }
    

可用工具

get_puuid

通过游戏名称和标记行获取玩家PUUID(支持批量查询)。

参数:

  • players (List[dict]):玩家字典列表 game_name 和 tag_line 钥匙

例子:

get_puuid([
    {"game_name": "Faker", "tag_line": "KR1"},
    {"game_name": "Untargetable", "tag_line": "666"}
])

get_match_list

按PUUID获取玩家的比赛列表。

参数:

  • puuid (str):玩家的PUUID
  • type (str,可选):匹配类型过滤器(正常、排名等)
  • count (str,可选):要返回的匹配数

例子:

get_match_list(
    puuid="Player's Puuid",
    type="ranked",
    count="20"
)

get_match_detail

通过匹配ID获取详细的匹配数据。

参数:

  • match_id (str):匹配ID(例如,“NA1_5354690210”)

例子:

get_match_detail(match_id="NA1_5354690210")

get_match_summary

获取具有玩家特定上下文的多场比赛(最多10场比赛)的截断比赛摘要。

参数:

  • match_ids (List[str]):匹配ID列表
  • game_name (str):玩家的游戏名称,用于搜索其他上下文

例子:

get_match_summary(
    match_ids=["NA1_5354690210", "NA1_5354690211"],
    game_name="Faker"
)

速率限制

服务器遵守Riot Games API速率限制。如果遇到速率限制问题,请考虑实现额外的重试逻辑或请求限制。

错误处理

服务器包括全面的错误处理:

  • API错误记录为状态代码和错误消息
  • 捕获并记录网络故障
  • 无效请求返回 None 价值观

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

免责声明

该项目与Riot Games无关。英雄联盟是Riot Games,股份有限公司的商标。

支持

对于问题和疑问: