MCP Riot Server
Servidor antidisturbios de MCP
MCP-Riot es un servidor de Protocolo de Contexto de Modelo (MCP) desarrollado por la comunidad que se integra con la API de Riot Games para proporcionar datos de League of Legends a los asistentes de IA a través de consultas en lenguaje natural.
Este proyecto permite que los modelos de IA recuperen información de los jugadores, estadísticas clasificatorias, maestría de campeones y resúmenes de partidos recientes.
Aviso legal: Este es un proyecto de código abierto que no está afiliado ni respaldado por Riot Games. League of Legends® es una marca registrada de Riot Games, Inc.
Manifestación
Related MCP server: lol-client-mcp Public
✨ Características
🧾 Resumen del jugador
"¿Cuál es el rango actual y los mejores campeones de Hide on bush?"
Proporciona al jugador:
Nivel
Nivel individual clasificado
Maestrías de los mejores campeones
Historial de partidos recientes
🔝 Los mejores campeones
"¿En qué campeones es mejor?"
Devuelve los N mejores campeones según puntos de maestría.
🎯 Maestría de campeón
"¿Qué tan bueno es este jugador con Ahri?"
Devuelve datos detallados de maestría de campeones para un campeón específico.
🕹️ Partidos recientes
Mostrar los últimos 3 partidos de este invocador
Enumera los partidos recientes, incluido el campeón utilizado, K/D/A y el resultado.
📊 Resumen del partido
"Resumir esta coincidencia para un ID de coincidencia determinado"
Devuelve las estadísticas del partido del jugador, como KDA, daño, centinelas y resultado.
🚀 Inicio rápido
1. Clonar e instalar
git clone https://github.com/jifrozen0110/mcp-riot.git
cd mcp-riot
# Install dependencies (using uv or pip)
uv sync2. Obtenga su clave API y configure el entorno
Crea un archivo .env con tu clave API de Riot:
RIOT_API_KEY=your_riot_api_keyPuedes obtener tu clave en https://developer.riotgames.com/
3. Configurar el cliente MCP
Registre este servidor en su cliente MCP (por ejemplo, Claude for Desktop).
Editar ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"amadeus": {
"command": "/ABSOLUTE/PATH/TO/PARENT/FOLDER/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER",
"run",
"--env-file",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/.env",
"riot.py"
]
}
}
}Reemplace
/ABSOLUTE/PATH/TO/PARENT/FOLDER/con la ruta real a la carpeta de su proyecto.
mi caso:
{
"mcpServers": {
"amadeus": {
"command": "/Users/jifrozen/.local/bin/uv",
"args": [
"--directory",
"/Users/jifrozen/mcp-riot/src/",
"run",
"--env-file",
"/Users/jifrozen/mcp-riot/.env",
"server.py"
]
}
}
}
🛠️ Herramientas
Las siguientes herramientas estarán expuestas a los clientes de MCP:
get_player_summary
Resume el nivel, el rango, los mejores campeones y los partidos recientes.
get_top_champions_tool
Devuelve los mejores campeones por puntos de maestría.
get_champion_mastery_tool
Devuelve detalles de maestría para un campeón específico.
get_recent_matches_tool
Devuelve las coincidencias recientes para el invocador indicado.
get_match_summary
Devuelve estadísticas de rendimiento de partido para un ID de partido y puuid determinados.
📚 Referencias
📝 Licencia
Licencia MIT © 2025 jifrozen0110
Available Tools
5 toolsget_champion_mastery_toolC
🎯 Get the player's mastery info for a specific champion.
Returns detailed mastery data (level, points, last play time, etc.) for the requested champion.
| Name | Required | Description | Default |
|---|---|---|---|
| game_name | Yes | ||
| tag_line | Yes | ||
| champion_name | Yes | ||
| language | No | en_US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states 'Returns detailed mastery data' but does not mention if the operation is read-only, required permissions, error conditions (e.g., champion not mastered), or rate limits. The description is too vague to fully inform the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and an emoji marker. It front-loads the core action and provides a brief output summary without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 4 parameters (3 required), no output schema, and no annotations, the description is insufficient. It omits input format details, output structure beyond examples, and error handling. A more complete description would clarify parameter usage and expected returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no information about any of the four parameters (game_name, tag_line, champion_name, language). It does not explain what values are expected or how they relate to the tool's operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the player's mastery info for a specific champion.' It differentiates well from siblings (e.g., get_match_summary, get_top_champions_tool) by specifying champion-specific mastery data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, nor any prerequisites or when-not-to-use conditions. The description implies usage for querying mastery, but lacks exclusion criteria or contextual recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_match_summaryA
📊 Get a detailed summary of a specific match for a given player.
Extracts and returns only the relevant stats (KDA, damage, vision, win/loss, etc.) from the match.
| Name | Required | Description | Default |
|---|---|---|---|
| match_id | Yes | ||
| puuid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool extracts and returns only relevant stats, implying a read-only operation. However, it does not disclose any behavioral traits like authorization needs, rate limits, or potential errors. The description adds some context but is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and includes an emoji for visual cue. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data retrieval tool with two common parameters and no output schema, the description is fairly complete. It explains what the tool does and what type of data it returns. However, it lacks guidance on parameter derivation or edge cases, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. However, it does not describe the parameters (match_id and puuid) beyond what is obvious from the tool name and purpose. No format, source, or constraints are mentioned, leaving the agent to infer meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a detailed summary of a specific match for a given player, listing included stats (KDA, damage, vision, win/loss). This distinguishes it from siblings like get_recent_matches_tool (list of matches) and get_champion_mastery_tool (champion mastery).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when detailed match stats are needed, but it does not explicitly tell when to use this tool vs alternatives (e.g., when to use get_recent_matches_tool instead). No usage context or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_summaryB
🧾 Get a complete summary of a player's profile.
Includes level, solo rank, top champion masteries, and recent matches in a single output.
| Name | Required | Description | Default |
|---|---|---|---|
| game_name | Yes | ||
| tag_line | Yes | ||
| language | No | en_US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as idempotency, side effects, or rate limits. For a read-only operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief with two sentences, using an emoji for visual cue. It is front-loaded with purpose and lists included data. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should cover behavioral aspects and output details. It omits limitations like match count, language impact, and data freshness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not clarify the parameters beyond implying player identity. For example, the 'language' parameter defaults to en_US but is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a complete summary including level, solo rank, top champion masteries, and recent matches. This differentiates it from sibling tools like get_champion_mastery_tool and get_recent_matches_tool which focus on sub-aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a quick overview is needed but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned despite clear sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_matches_toolC
🕹️ Get the player's recent match history.
Returns a brief summary of the player's most recent matches, including champion, score, and result.
| Name | Required | Description | Default |
|---|---|---|---|
| game_name | Yes | ||
| tag_line | Yes | ||
| count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits, but it only mentions the output is a 'brief summary'. It omits details like authentication requirements, rate limits, or any side effects (though likely read-only).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at two sentences and uses an emoji for visibility. It is efficient but could be better structured by including parameter info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters, no output schema, and no annotations, the description is incomplete. It provides a high-level summary but lacks details on how to invoke it correctly or what the full response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the description does not explain any parameters. The tool has three parameters (game_name, tag_line, count) but the description provides no meaning, default, or format for them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves recent match history and specifies the returned data (champion, score, result), distinguishing it from siblings like get_champion_mastery_tool or get_match_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_champions_toolC
🔝 Get the player's top champion masteries.
Returns a list of the player's most-played champions based on mastery points.
| Name | Required | Description | Default |
|---|---|---|---|
| game_name | Yes | ||
| tag_line | Yes | ||
| language | No | en_US | |
| count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates a read operation returning a list sorted by mastery points, but does not disclose side effects, authentication needs, rate limits, or ordering details. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences with no fluff. It is front-loaded with an emoji for visibility. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and sibling tools, the description is too minimal. It explains the output but not the parameters, ordering, or limits. Completeness is insufficient for proper agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any parameters beyond the schema titles and defaults. No additional meaning is provided for 'game_name', 'tag_line', 'language', or 'count'. The description fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the player's top champion masteries and returns a list of most-played champions based on mastery points. However, it does not differentiate from sibling tool 'get_champion_mastery_tool', which likely focuses on a single champion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context (what the tool returns) but gives no explicit guidance on when to use this tool versus alternatives like 'get_champion_mastery_tool'. No when-not-to-use or prerequisite conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
get_champion_mastery_tool - First observed
get_match_summary - First observed
get_player_summary - First observed
get_recent_matches_tool - First observed
get_top_champions_tool
TDQS
Scored across 5 tools
Most tools have distinct purposes, but 'get_player_summary' includes top champions and recent matches, overlapping with 'get_top_champions_tool' and 'get_recent_matches_tool', which could cause agent confusion.
All tools start with 'get' and use snake_case, but two tools have a '_tool' suffix ('get_champion_mastery_tool', 'get_recent_matches_tool') while others lack it, creating inconsistency.
5 tools is well-scoped for a Riot Games data server, covering essential player and match info without being too few or too many.
The set covers core player data (mastery, matches, summary) but lacks operations like summoner search or match timeline, leaving minor gaps.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Related MCP Servers
- AlicenseBqualityDmaintenanceModel Context Protocol server that enables LLMs and AI assistants to retrieve real-time Dota 2 statistics, match data, player information, and game metrics through a standardized interface.178MIT
- AlicenseCqualityDmaintenanceAn MCP (Model-Controller-Processor) server for accessing League of Legends client data. This server provides a collection of tools that communicate with the League of Legends Live Client Data API to retrieve in-game data.1212Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables interaction with League of Legends game data through the Riot Games API. Allows users to query player statistics, match history, and game information using natural language.-
- AlicenseNot gradedqualityFmaintenanceA comprehensive League of Legends data ecosystem that provides access to champion statistics, item data, and patch history via the Model Context Protocol. It enables analysis of game mechanics, build optimization, and meta tracking through real-time data integration.1MIT