Provides real-time, structured access to League of Legends game data, including champions, items, abilities, game mechanics, and patch information.
Project 3: League of Legends Data Model Context Protocol Server
A comprehensive MCP (Model Context Protocol) server that provides real-time access to League of Legends game data including champions, items, abilities, game mechanics, and patch information. Designed to serve as the data backbone for LoL-related AI/ML projects.
Create a centralized, intelligent data service that can efficiently provide structured LoL game data to development environments, AI agents, and other applications through the MCP protocol.
{
"mcpServers": {
"lol-data": {
"command": "powershell",
"args": ["-Command", "& { cd 'C:\\Users\\tarik\\OneDrive\\Masaรผstรผ\\Python\\Reinforcement Learning Projects\\Project Taric\\Lol_Data_MCP_Server'; .\\venv\\Scripts\\Activate.ps1; python -m src.mcp_server.stdio_server }"]
}
}
}
# 1. Navigate to project and activate virtual environment
cd Lol_Data_MCP_Server
.\venv\Scripts\Activate.ps1 # Windows
# 2. Test the MCP server directly
python -m src.mcp_server.stdio_server
# 3. Use in Cursor via MCP commands
# @mcp lol-data get_champion_data {"champion": "Taric"}
# @mcp lol-data ping {"message": "Hello from Taric AI project!"}
# Basic champion data - returns base stats and abilities
@mcp lol-data get_champion_data {"champion": "Taric"}
# Returns: Base stats (HP: 645.0) and abilities from wiki
@mcp lol-data get_champion_data {"champion": "Akali"}
# Returns: Real Akali data from LoL Wiki
@mcp lol-data get_champion_data {"champion": "Samira"}
# Returns: Real wiki data for Samira with fallback to mock if needed
# Now available with level dropdown interaction
@mcp lol-data get_champion_stats {"champion": "Taric", "level": 13}
# Returns: HP: 1730 (exact wiki value for level 13)
@mcp lol-data get_champion_stats {"champion": "Ezreal", "level": 6}
# Returns: Exact level 6 stats scraped from wiki
@mcp lol-data get_champion_stats {"champion": "Jinx", "level": 18}
# Returns: Maximum level stats with precision
@mcp lol-data ping {"message": "Hello from Taric AI project!"}
# Returns: pong: Hello from Taric AI project!
@mcp lol-data server_info
# Returns: Server stats showing 4 tools available
Objective: Implement level dropdown interaction to scrape accurate stats for all 18 levels
Files: src/data_sources/scrapers/stats_scraper.py
, src/services/stats_service.py
Status: โ
COMPLETED - Per-level stat scraping with Selenium dropdown interaction
๐ฏ What We Built:
#lvl_
selector (levels 1-18)get_champion_stats
tool accepts optional level parameterObjective: Extend champion stats to include unit radius data for simulations
Files: src/data_sources/scrapers/stats_scraper.py
Status: โ
COMPLETED - Unit radius data successfully extracted and integrated
๐ฏ What We Built:
Objective: Implement detailed ability information scraping using ability containers
Files: src/data_sources/scrapers/abilities_scraper.py
, src/services/abilities_service.py
Status: ๐ PENDING - Complete ability details with all game mechanics
Objective: Navigate wiki pages and identify data sections
Progress: Ready to start
Requirements:
find_champion_data_sections()
methodThis MCP server is designed to integrate with other LoL development projects:
โ
VERIFIED: Task 2.1.3 - Parse Champion Stats Table
Achievement: CRITICAL BUG FIXED - Growth values now extracted correctly from real wiki data
Result: Level-based stats feature working perfectly - supports "bring me level 6 stats for Taric"
๐จ BREAKTHROUGH: Real Wiki Format Compatibility Fixed
_extract_stat_value()
with new regex for real formatโ Successfully Parsing from Real Wiki:
๐ COMPLETED: Task 2.1.4 - Champion Abilities Information Parsing
Achievement: CRITICAL CSS SELECTOR BUG FIXED - All abilities now extracted correctly from real wiki data
Result: All 5 abilities (Passive, Q, W, E, R) working perfectly with real names and descriptions
๐จ BREAKTHROUGH: CSS-Based Parsing Compatibility Fixed
find('div', class_=['skill', skill_class])
always found first containerfind('div', class_=skill_class)
for proper matchingskill_innate
, skill_q
, etc.)โ Successfully Parsing Real Abilities from Wiki:
๐ COMPLETED: Task 2.1.8 - Per-Level Stat Scraping with Selenium
Achievement: SELENIUM INTEGRATION COMPLETE - Level-specific stats now scraped directly from wiki using browser automation
Result: Accurate level stats using real wiki values instead of potentially incorrect formulas
๐จ BREAKTHROUGH: Selenium-Powered Wiki Automation
โ Successfully Implemented Level-Specific Stats:
๐ COMPLETED: Task 2.1.9 - Enhanced Champion Basic Stats
Achievement: UNIT RADIUS DATA EXTRACTION COMPLETE - Base stats now include unit radius information from wiki
Result: Complete unit information available for simulation environments and AI positioning algorithms
๐จ BREAKTHROUGH: Text-Based Pattern Matching for Unit Radius Data
โ Successfully Extracting Unit Radius Data:
๐ฏ Next Task: Task 2.1.10 - Comprehensive Ability Detail System
๐ Current MCP Server Status:
A Model Context Protocol (MCP) server that enables LLMs to interact directly with MongoDB databases
A read-only MCP server for querying live eBay data. Requires a separately licensed CData JDBC Driver for eBay.
Securely access BigQuery datasets with intelligent caching, schema tracking, and query analytics via Supabase integration.
Query and analyze data with MotherDuck and local DuckDB
MCP server for dbt-core (OSS) users as the official dbt MCP only supports dbt Cloud. Supports project metadata, model and column-level lineage and dbt documentation.
A server providing tools for querying and managing a MySQL database.
An MCP server for Firebird SQL databases, enabling LLMs to securely access, analyze, and manipulate database content.
Provides AI assistants with a secure and structured way to explore and analyze data in GreptimeDB.
Manage NocoDB server, support read and write databases
MCP Server For Apache Doris, an MPP-based real-time data warehouse.