This document provides a comprehensive reference of all 20+ tools available in the enhanced riot-games-api MCP tool.
Get a complete League of Legends player profile.
Parameters:
game_name(str, required): Player's summoner nametag_line(str, required): Player's tag (e.g., "NA1")platform(str, optional, default="na"): Region codelanguage(str, optional, default="en_US"): Champion name language
Returns:
{
"gameName": "string",
"tagLine": "string",
"puuid": "string",
"level": "number",
"soloRank": {
"tier": "string (IRON-CHALLENGER)",
"rank": "string (I-IV)",
"lp": "number",
"wins": "number",
"losses": "number",
"winRate": "number (0-100)"
},
"flexRank": { /* same structure */ },
"topChampions": [
{
"champion": "string",
"championId": "number",
"level": "number (1-7)",
"points": "number"
}
],
"recentMatches": [
{
"matchId": "string",
"champion": "string",
"kda": "string (K/D/A)",
"result": "string (Win/Loss)",
"position": "string"
}
]
}Use Cases:
- Get quick overview of a player's rank and stats
- Check top champions at a glance
- See recent performance
Get a player's most-played champions ranked by mastery.
Parameters:
game_name(str, required)tag_line(str, required)platform(str, optional, default="na")language(str, optional, default="en_US")count(int, optional, default=5): Number of champions (1-50)
Returns:
{
"gameName": "string",
"tagLine": "string",
"puuid": "string",
"topChampions": [
{
"champion": "string",
"championId": "number",
"level": "number",
"points": "number"
}
]
}Use Cases:
- Build matchup analysis (what does opponent main?)
- Identify player's champion pool
- Track champion progression over time
Get detailed recent match history.
Parameters:
game_name(str, required)tag_line(str, required)platform(str, optional, default="na")count(int, optional, default=10): Matches to retrieve (1-100)
Returns:
{
"gameName": "string",
"tagLine": "string",
"puuid": "string",
"recentMatches": [
{
"matchId": "string",
"champion": "string",
"kills": "number",
"deaths": "number",
"assists": "number",
"kda": "string",
"position": "string (UTILITY, MIDDLE, etc)",
"lane": "string (BOTTOM, MIDDLE, etc)",
"result": "string (Win/Loss)",
"gold": "number",
"cs": "number (total minions)"
}
]
}Use Cases:
- Analyze recent performance trends
- Check champion pick frequency
- Assess role distribution
- Calculate win rate in last N games
Get detailed mastery info for a specific champion.
Parameters:
game_name(str, required)tag_line(str, required)champion_name(str, required): Champion name (e.g., "Amumu", "Lee Sin")platform(str, optional, default="na")language(str, optional, default="en_US")
Returns:
{
"gameName": "string",
"tagLine": "string",
"puuid": "string",
"championName": "string",
"championId": "number",
"level": "number (1-7)",
"points": "number",
"pointsSinceLastLevel": "number",
"pointsUntilNextLevel": "number",
"lastPlayTime": "ISO 8601 datetime",
"tokensEarned": "number",
"chestGranted": "boolean",
"nextMilestone": {
"requireGradeCounts": { /* milestone requirements */ },
"rewardMarks": "number"
}
}Use Cases:
- Track progression to next mastery level
- Find when champion was last played
- Plan milestone unlocks
Get comprehensive statistics from a specific match.
Parameters:
match_id(str, required): Match ID (e.g., "NA1_5367618281")puuid(str, required): Player's PUUIDplatform(str, optional, default="na")
Returns:
{
"matchId": "string",
"champion": "string",
"position": "string",
"lane": "string",
"role": "string",
"result": "Win/Loss",
"kda": {
"kills": "number",
"deaths": "number",
"assists": "number",
"ratio": "number"
},
"damage": {
"totalDamageDealtToChampions": "number",
"totalDamageDealt": "number",
"totalDamageTaken": "number",
"damageDealtToObjectives": "number",
"damageDealtToTurrets": "number"
},
"cs": {
"minionsKilled": "number",
"neutralMinionsKilled": "number",
"totalCs": "number",
"csPerMinute": "number"
},
"gold": {
"goldEarned": "number",
"goldSpent": "number"
},
"vision": {
"visionScore": "number",
"wardsPlaced": "number",
"wardsKilled": "number",
"detectorWardsPlaced": "number"
},
"objectives": {
"kills": "number",
"turretKills": "number",
"inhibitorKills": "number",
"dragonKills": "number",
"baronKills": "number"
},
"items": {
"itemsBuilt": ["number"]
},
"gameDuration": {
"seconds": "number",
"minutes": "number"
},
"gameQueueId": "number",
"gameMode": "string"
}Use Cases:
- Analyze detailed game performance
- Find efficiency metrics (CS/min, damage distribution)
- Review objective control
- Check itemization decisions
Get player's League of Legends challenges progress.
Parameters:
game_name(str, required)tag_line(str, required)platform(str, optional, default="na")
Returns:
{
"gameName": "string",
"tagLine": "string",
"puuid": "string",
"totalPoints": "number",
"categoryPoints": {
"string": "number" /* category -> points */
},
"challenges": [
{
"challengeId": "number",
"percentile": "number",
"level": "string (NONE, BRONZE, SILVER, GOLD, PLATINUM, DIAMOND, MASTER)",
"value": "number",
"achievedTime": "number"
}
]
}Use Cases:
- Track challenge completion progress
- Find challenging achievements to pursue
- Monitor percentile rankings
Get ranked ladder entries for specific tier/rank.
Parameters:
tier(str, required): IRON, BRONZE, SILVER, GOLD, PLATINUM, DIAMOND, MASTER, GRANDMASTER, or CHALLENGERrank(str, optional): I, II, III, or IV (not used for Master+)platform(str, optional, default="na")page(int, optional, default=1): Page number for pagination
Returns:
{
"tier": "string",
"rank": "string",
"platform": "string",
"page": "number",
"entries": [
{
"summonerId": "string",
"summonerName": "string",
"tier": "string",
"rank": "string",
"lp": "number",
"wins": "number",
"losses": "number",
"winRate": "number (0-100)"
}
]
}Use Cases:
- Browse ranked ladder
- Find top players
- Monitor leaderboard positions
- Compare player stats at same rank
Get live game data for player currently in match.
Parameters:
summoner_name(str, required)platform(str, optional, default="na")
Returns:
{
"gameName": "string",
"platform": "string",
"gameType": "string",
"gameQueueConfigId": "number",
"gameStartTime": "number",
"participants": [
{
"championId": "number",
"teamId": "number",
"summonerName": "string"
}
]
}Returns: {"error": "No active game found for ..."} if player not in match
Use Cases:
- Check if someone is currently playing
- View live match champion selections
- Watch game start times
Get Team Fight Tactics player profile summary.
Parameters:
game_name(str, required)tag_line(str, required)platform(str, optional, default="na")
Returns:
{
"gameName": "string",
"tagLine": "string",
"puuid": "string",
"summonerId": "string",
"tftRank": {
"tier": "string",
"rank": "string",
"lp": "number",
"wins": "number",
"losses": "number",
"winRate": "number"
},
"recentMatches": [
{
"matchId": "string",
"placement": "number",
"level": "number",
"goldLeft": "number",
"totalDamageToPlayers": "number"
}
]
}Use Cases:
- Get TFT rank and rating
- Check recent placements
- Assess current performance
Get TFT match history with composition details.
Parameters:
game_name(str, required)tag_line(str, required)platform(str, optional, default="na")count(int, optional, default=10)
Returns:
{
"gameName": "string",
"tagLine": "string",
"puuid": "string",
"matches": [
{
"matchId": "string",
"placement": "number",
"level": "number",
"goldLeft": "number",
"totalDamageToPlayers": "number",
"traits": [
{
"name": "string",
"numUnits": "number",
"style": "number"
}
],
"units": [
{
"characterId": "string",
"tier": "number",
"itemNames": ["string"]
}
]
}
]
}Use Cases:
- Analyze team compositions
- Track successful strategies
- Review placement trends
- Study item combinations
These original tools continue to work with their original interface:
Identical to: lol_get_player_summary (returns formatted string instead of JSON)
- Returns beautifully formatted text output
- Includes emoji decorations
- Best for human-readable display
Identical to: lol_get_top_champions (returns formatted string)
- Lists champions in readable format
- Shows level and points
- Best for quick reference
Identical to: lol_get_recent_matches (returns formatted string)
- Shows match results in readable format
- Best for quick win/loss assessment
Identical to: lol_get_champion_mastery (returns dict)
- Returns detailed JSON dictionary
- Same parameters and data structure
Identical to: lol_get_match_details (returns dict)
- Returns detailed JSON dictionary
- Same parameters and data structure
lol_get_player_summary- Start here for quick overviewtft_get_player_summary- TFT profile
lol_get_top_champions- Top played championslol_get_champion_mastery- Specific champion detailstft_get_recent_matches- TFT compositions
lol_get_recent_matches- Match listlol_get_match_details- Detailed match statstft_get_recent_matches- TFT match compositions
lol_get_league_entries- View ladderlol_get_challenges- Challenge progresslol_get_spectator- Live games
"na" - North America
"euw" - Europe West
"kr" - Korea
"br" - Brazil
"las" - Latin America South
"lan" - Latin America North
"ru" - Russia
"tr" - Turkey
"jp" - Japan
"oc" - Oceania
"pbe" - PBE (Public Beta)
"en_US" - English (US)
"ko_KR" - Korean
"zh_CN" - Chinese (Simplified)
"es_MX" - Spanish (Mexico)
"fr_FR" - French
"it_IT" - Italian
"de_DE" - German
"pt_BR" - Portuguese (Brazil)
"ru_RU" - Russian
"ja_JP" - Japanese
"zh_TW" - Chinese (Traditional)
"es_ES" - Spanish (Spain)
"CHALLENGER" - Top 200 players
"GRANDMASTER" - Top ~500 players
"MASTER" - Top ~3000 players
"DIAMOND"
"PLATINUM"
"GOLD"
"SILVER"
"BRONZE"
"IRON" - Lowest rank
"I" - Division 1 (Highest)
"II" - Division 2
"III" - Division 3
"IV" - Division 4 (Lowest)
(Not applicable for Master, Grandmaster, Challenger)
lol_get_spectator("FriendName", platform="na")
lol_get_top_champions("Opponent", "NA1")
lol_get_recent_matches("YourName", "YourTag", count=5)
lol_get_player_summary("YourName", "YourTag")
lol_get_match_details("NA1_1234567890", "your-puuid-here")
tft_get_player_summary("YourName", "YourTag")
tft_get_recent_matches("YourName", "YourTag", count=20)
All tools return error objects when requests fail:
{
"error": "Description of what went wrong"
}Common error messages:
"Failed to find player"- Invalid name/tag"Failed to get summoner profile"- API unavailable"Champion 'XYZ' not found"- Misspelled champion name"Could not retrieve [data]"- Data unavailable for player"No participant found with puuid: XYZ"- PUUID not in match
Last Updated: 2025-01-02
Tool Count: 15 main + 5 legacy = 20 total