Token导航 LogoToken导航TokenDH.com
MCP Riot Games logo
运维云端stdio官方级别未说明来源级核验

MCP Riot Games

MCP Server

一个全面的MCP工具,用于通过Riot Games API访问实时英雄联盟、云顶之弈、符文之地传说和Valorant玩家数据。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
Python云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

suparious

提供方

suparious

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python src/server.py

详细介绍

拳头游戏API MCP工具 - 增强版

一款全面的MCP(模型上下文协议)工具,通过Riot Games API访问《英雄联盟》、《团队战斗战术》、《符文之地传说》和《无畏契约》的实时玩家数据。

🎯 概述

这个增强版显著扩展了原始riot-games-api工具的功能,具体包括:

  • 30多个新工具功能 按游戏/数据类型组织
  • 更好的数据结构 按地区、平台和游戏进行清晰分类组织
  • 向后兼容性 - 所有原始工具继续正常工作,无任何变化
  • 《英雄联盟》全面支持 包括挑战赛、观众席、阶梯式参赛资格
  • 团队战斗战术整合 带有比赛历史和排名信息
  • 改进了错误处理 以及响应一致性
  • 类型安全的实现 使用适当的字面量类型和类型提示

📋 架构

常量与类型定义

平台路由 (针对特定平台的终端节点):

  • nana1 (北美洲)
  • euweuw1 (欧洲西部)
  • krkr (韩国)
  • brbr1 (巴西)
  • lasla1 (拉丁美洲南部)
  • lanla2 (拉丁美洲北部)
  • ruru (俄罗斯)
  • trtr1 火鸡
  • jpjp1 (日本)
  • ococ1 (大洋洲)
  • pbepbe1 (PBE) 可以翻译为“(预生产环境)”或根据具体语境简化为“(预生产)”,其中PBE是Production Build Environment的缩写,指的是软件开发中的一个阶段,用于在正式生产环境之前进行测试和验证

区域路由 (针对如比赛、账户等区域性终端):

  • americas - 北美洲、巴西、拉丁美洲
  • europe - 欧洲,土耳其,俄罗斯
  • asia-pacific - 韩国、日本、大洋洲
  • sea - 东南亚

辅助函数

API请求函数:

  • riot_request() - 平台路由请求(召唤师、联赛、观战)
  • riot_regional_request() - 按区域路由的请求(比赛、账户)

账户功能:

  • get_puuid() - 根据游戏名和标签获取PUUID
  • get_riot_account() - 获取完整的Riot账户信息

《英雄联盟》辅助人员:

  • get_summoner_by_puuid() - 通过PUUID获取召唤师资料
  • get_rank_by_puuid() - 通过PUUID获取排名段位/积分
  • get_top_champions() - 成为顶级精通冠军
  • get_champion_map() - 获取冠军ID到名称的映射

团队战斗战术辅助工具

  • get_tft_summoner() - 获取TFT(英雄联盟云顶之弈)特定的召唤师数据

🛠️ 工具功能

《英雄联盟》工具

lol_get_player_summary(game_name, tag_line, platform="na", language="en_US")

获取完整的玩家资料概览,包括:

  • 召唤师等级
  • 单人队列排名(段位、等级、联赛点、胜负场数、胜率)
  • 灵活排名(相同指标)
  • 掌握数据排名前五的冠军
  • 最近5场比赛的KDA(击杀/死亡/助攻比)、位置及结果

示例:

{
  "gameName": "Air Coots",
  "tagLine": "Prime",
  "level": 113,
  "soloRank": {
    "tier": "PLATINUM",
    "rank": "IV",
    "lp": 0,
    "wins": 14,
    "losses": 16,
    "winRate": 47
  },
  "topChampions": [
    {
      "champion": "Amumu",
      "level": 39,
      "points": 485781
    }
  ],
  "recentMatches": [...]
}

lol_get_top_champions(game_name, tag_line, platform="na", language="en_US", count=5)

获取玩家使用熟练度点数排名最多的英雄列表。

最高可返现至 count 与……一同夺冠的冠军们:

  • 冠军名称
  • 掌握程度(1-7)
  • 总掌握分数

lol_get_recent_matches(game_name, tag_line, platform="na", count=10)

获取最新比赛历史及详细统计数据:

  • 比赛ID
  • 冠军选手参赛
  • 击杀/死亡/助攻数据
  • 位置和车道
  • 胜负结果
  • 获得的金币
  • CS(小黄人被杀数量)

lol_get_champion_mastery(game_name, tag_line, champion_name, platform="na", language="en_US")

获取特定英雄的详细掌握数据:

  • 当前等级(1-7)
  • 总分
  • 晋级到下一个层次
  • 最后游玩时间(ISO 8601 格式)
  • 获得的代币
  • 下个赛季里程碑要求

lol_get_match_details(match_id, puuid, platform="na")

获取全面的比赛统计数据:

  • KDA(击杀/死亡/助攻比)击杀数、死亡数、助攻数、KDA(击杀-死亡-助攻)比
  • 损坏对英雄和目标造成的总伤害(已承受)
  • CS(可翻译为“计算机科学”或根据具体语境翻译为其他含义,如“化学科学”等,但在此通用翻译为“计算机科学”)小黄人被杀,每分钟经济差
  • 赚取和花费
  • 愿景视野得分,放置/击杀守卫数
  • 目标炮塔、主宰、龙、先知击杀(或“ Baron 杀”)
  • 项目/物品所有项目均已构建完成
  • 游戏信息时长、队列类型、游戏模式

lol_get_challenges(game_name, tag_line, platform="na")

获取英雄联盟挑战赛的玩家进度:

  • 总挑战积分
  • 按类别计分
  • 个人挑战进度

lol_get_league_entries(tier, rank=None, platform="na", page=1)

获取特定等级/排名的阶梯排名条目:

  • 召唤师名称和ID
  • 当前等级/排名/积分(LP,League Points,通常指游戏或竞技中的积分系统)
  • 胜负记录
  • 胜率
  • 分页支持(从第1页开始计数)

第三方: 铁、青铜、白银、黄金、铂金、钻石、大师、宗师、挑战者

注: 大师/特级大师/挑战者没有等级划分

lol_get_spectator(summoner_name, platform="na")

如果玩家当前正在比赛中,请获取实时游戏数据:

  • 游戏类型和队列
  • 游戏开始时间
  • 所有参与者及其冠军
  • 团队任务分配

团队战斗战术工具

tft_get_player_summary(game_name, tag_line, platform="na")

获取TFT(英雄联盟云顶之弈)玩家资料概览:

  • 召唤师ID和PUUID
  • 当前排名/胜场/负场
  • 最近5场比赛的成绩及排名

tft_get_recent_matches(game_name, tag_line, platform="na", count=10)

获取包含阵容数据的TFT(战术足球游戏/团队竞技游戏等,具体根据上下文确定)对战历史:

  • 比赛ID
  • 安置;职位安排
  • 剩余等级和金币
  • 对玩家的总伤害
  • 带有项目的特性(或特征)和单元

向后兼容性工具

这些工具保持了现有工作流的原始界面:

  • get_player_summary() - 原始LoL摘要(返回格式化字符串)
  • get_top_champions_tool() - 原始顶级冠军(返回格式化字符串)
  • get_recent_matches_tool() - 最近的比赛原始数据(返回格式化字符串)
  • get_champion_mastery_tool() - 原始的冠军掌握度(返回字典)
  • get_match_summary() - 原始比赛详情(返回字典)

全新 lol_ 并且 tft_ 带前缀的工具返回 JSON 字典,以便更好地进行程序访问。

🌍 平台支持

《英雄联盟》平台

  • 北美(North America)
  • EUW(Europe West)翻译为中文是“欧洲西部(服务器/赛区)”
  • KR(韩国)
  • BR(巴西)
  • LAS(拉丁美洲南部)
  • LAN(拉丁美洲北部)
  • RU(俄罗斯)
  • TR(土耳其)
  • JP(日本)
  • OC(大洋洲)
  • PBE(公共测试环境)

区域测绘

  • americasNA(北美)、BR(巴西)、LAS(拉丁美洲服务器)、LAN(局域网)
  • europeEUW(美国西区)、RU(俄罗斯)、TR(土耳其)
  • asia-pacific韩国(KR)、日本(JP)、大洋洲(OC)
  • sea东南亚服务器

🔄 错误处理

所有函数都返回一致的错误响应:

{
  "error": "Description of what went wrong"
}

常见的错误场景:

  • 无效的玩家名称/标签 → “未找到玩家”
  • 未找到冠军 → “未找到冠军 'XYZ'”
  • “无数据可用”→“无法检索\[数据类型\]”
  • API问题 → 函数返回None,已优雅捕获并处理

📊 响应格式

新工具返回结构化的JSON,其中包含:

  • 标准字段: gameNametagLinepuuid (如适用)
  • 数据对象用于相关数据的嵌套结构
  • 数值计算比率、百分比、每分钟统计数据已预先计算
  • 时间戳转换为ISO 8601格式以提高可读性
  • 一致的命名为保持一致性,使用驼峰命名法

🚀 使用示例

获取玩家的完整《英雄联盟》(League of Legends,简称LoL)资料

lol_get_player_summary("Air Coots", "Prime", platform="na")

获取玩家的前10名最喜爱英雄

lol_get_top_champions("Air Coots", "Prime", count=10)

获取所有最近的比赛(最多100场)

lol_get_recent_matches("Air Coots", "Prime", count=100)

获取具体的比赛统计数据

lol_get_match_details("NA1_5367618281", "BbXxAcwGvo9Uke34fMRJcC4cNr-pjMI-VzhcAYIzcNCC7RTrJUPBlS2czu1JisWZzz3pBtM94Jp8hw")

获取玩家的TFT(Teamfight Tactics,即《英雄联盟》中的战术小队游戏模式)段位及近期比赛记录

tft_get_player_summary("Air Coots", "Prime")
tft_get_recent_matches("Air Coots", "Prime", count=20)

检查玩家是否在进行中的游戏中

lol_get_spectator("Air Coots")

查看排名梯度表

lol_get_league_entries(tier="DIAMOND", rank="I", platform="na", page=1)

📦 安装与设置

要求

  • Python 3.13或更高版本
  • httpx 版本 >= 0.28.1
  • MCP(微控制器协议)版本大于等于1.6.0
  • python-dotenv

环境设置

创建一个 .env 附上您的Riot API密钥文件:

RIOT_API_KEY=RGAPI-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

从以下网址获取您的API密钥:https://developer.riotgames.com/

运行该工具

python src/server.py

🔐 API密钥安全

  • API密钥已从(某处)加载 .env 文件(包含在 .gitignore)
  • 永远不要承诺 .env 进行版本控制
  • 定期更换密钥
  • 在开发者门户中使用适当的关键限制

📝 数据类型参考

“Tier Enum”翻译成中文是“等级枚举”

IRON, BRONZE, SILVER, GOLD, PLATINUM, DIAMOND, MASTER, GRANDMASTER, CHALLENGER

等级枚举

I, II, III, IV

(不适用于硕士及以上学历)

语言

en_US, ko_KR, zh_CN, es_MX, fr_FR, it_IT, de_DE, pt_BR, ru_RU, ja_JP, zh_TW, es_ES

🎯 性能注意事项

  • 缓存冠军地图在首次获取后会被缓存
  • 速率限制请遵守Riot的API速率限制(请查阅开发者门户)
  • 异步所有函数均支持异步,以实现快速并发请求
  • 超时所有API调用的超时时间为30秒

🔍 监控与调试

通过检查 Flask/ASGI 日志来启用调试输出:

RUST_LOG=debug python src/server.py

🛣️ 未来改进方向

可能的补充内容:

  • 《符文之地传说》端点(排名、比赛、卡组)
  • 《Valorant》端点数据(比赛、排位赛、特工数据)
  • 现场观众集成(自动更新)
  • 比赛时间线数据(逐帧统计)
  • 锦标赛数据(可通过API获取时)
  • 战利品和库存端点

📚 资源

🤝 贡献

当添加新端点时:

  1. 遵循现有的代码结构
  2. 使用一致的命名(例如。, game_get_function_name)
  3. 包含全面的文档字符串
  4. 添加适当的错误处理
  5. 在多个平台/地区进行测试
  6. 更新此README文件

📄 许可证

请参阅仓库中的LICENSE文件

______________________________________________________________________

最后更新时间: 2025年1月2日 版本: 2.0.0 状态: 生产就绪

目录标签

目录标签

Python云端部署Docker游戏数据本地部署API工具玩家分析实时数据英雄联盟云顶之弈

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP