League Client MCP
TypeScript · Node.js · MCP · WebSocket · Pengu Loader
MCP server that gives AI assistants live access to the League of Legends client - inspect the DOM, inject CSS and plugins, drive the UI, and call the LCU API through a Pengu Loader bridge.
Demo
Overview
league-client-mcp gives an MCP client live access to the League of Legends desktop client. It is two pieces working together:
mcp-server/- a Node.js MCP server that exposes tools over stdio.lol-plugin/- a Pengu Loader plugin that runs inside the League client and executes those tool calls.
AI client -> MCP over stdio -> mcp-server -> WebSocket bridge -> lol-plugin (inside the client) -> DOM, CSS, JS, LCUWhat it can do
- DOM inspection: sanitized page snapshots, element queries with bounds and styles, wait-for-selector.
- CSS and JavaScript: prototype styling and run one-off scripts inside the client.
- Persistent plugins: inject named plugins that survive SPA navigation, reload them while iterating, and export the finished plugin to Pengu Loader.
- UI automation: click, type, screenshot, and read performance metrics.
- LCU API: call the League Client Update API from inside the client without handling auth.
16 tools in total, usable from Claude Desktop, Cursor, Windsurf, Codex CLI, or any local MCP client.