Back to projects

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, LCU

What 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.