OP.GG
MCP ServerFree** - Access real-time gaming data across popular titles like League of Legends, TFT, and Valorant, offering champion analytics, esports schedules, meta compositions, and character statistics.
Capabilities11 decomposed
stdio-to-http mcp protocol bridging with transparent request forwarding
Medium confidenceImplements a bidirectional Model Context Protocol proxy that accepts stdio connections from local MCP clients (Claude Desktop, Cursor, etc.) and transparently forwards all tool calls over Streamable HTTP to a remote OP.GG MCP endpoint at https://mcp-api.op.gg/mcp. Uses StdioServerTransport for local consumer communication and StreamableHTTPClientTransport for outbound HTTP, with dynamic capability discovery at startup to mirror remote tools into the local server's tool registry without hardcoding tool definitions.
Uses dynamic capability discovery at startup (reads serverCapabilities from remote endpoint) and conditionally registers request/notification handlers on the local MCP Server, enabling the proxy to work with any remote MCP endpoint without hardcoding tool definitions. This contrasts with static tool registries that require rebuilding when upstream tools change.
Simpler than building custom HTTP client integrations in each AI framework because it leverages standard MCP protocol, making it compatible with any stdio-based MCP client without modification.
league of legends champion and summoner data querying with field-level filtering
Medium confidenceExposes 15 tools for querying League of Legends game data including champion statistics, summoner profiles, match history, resource guides, pro player stats, and esports schedules. Each tool accepts a desired_output_fields parameter to filter response payloads at the API level, reducing bandwidth and token consumption by excluding unnecessary fields. Tools are prefixed with 'lol_' and cover champion analytics, summoner rank/win rates, match timelines, and competitive esports data.
Implements field-level response filtering via desired_output_fields parameter, allowing clients to specify exactly which data fields to return. This reduces payload size by excluding unnecessary fields at the API level rather than post-processing, which is particularly valuable for token-constrained LLM contexts where every byte matters.
More efficient than generic League APIs (Riot's official API, third-party REST endpoints) because it provides pre-computed meta analytics (win rates, pick rates, build recommendations) rather than raw match data, reducing the computation burden on the client side.
installation and deployment via smithery, npm, or docker
Medium confidenceSupports three deployment methods: (1) Smithery configuration via smithery.yaml for automated process spawning, (2) manual npm/npx invocation (npx opgg-mcp or node dist/index.js), and (3) Docker deployment for containerized environments. All methods ultimately execute dist/index.js as a local stdio MCP server process. Enables flexible deployment across different environments (local development, CI/CD pipelines, containerized infrastructure) without code changes.
Supports three distinct deployment methods (Smithery, npm/npx, Docker) from a single codebase, enabling flexible deployment across different environments and use cases. This multi-method approach reduces friction for different deployment scenarios compared to single-method-only tools.
More flexible than tools supporting only one deployment method because it accommodates Smithery-based orchestration, manual npm invocation, and containerized deployments without code changes.
teamfight tactics meta composition and augment analysis with play style filtering
Medium confidenceProvides 6 tools for querying Teamfight Tactics (TFT) game data including meta deck compositions, item builds, augment recommendations, and play style classifications. Tools are prefixed with 'tft_' and return structured data about optimal team compositions for the current TFT set, itemization strategies, and augment synergies. Supports filtering by play style (e.g., 'aggressive', 'control', 'economy') and rank tier to surface meta-relevant recommendations.
Organizes meta data by play style (aggressive, control, economy) rather than just raw win rates, enabling AI agents to recommend compositions that match player preferences and game state. This contextual filtering is rarely exposed in generic TFT APIs, which typically return only statistical aggregates.
Provides pre-computed meta compositions and augment synergies rather than requiring clients to aggregate raw match data, making it significantly faster for real-time coaching use cases compared to building custom analytics on top of raw TFT match APIs.
valorant agent, map, and leaderboard data retrieval with region-specific filtering
Medium confidenceExposes 6 tools for querying Valorant competitive data including agent statistics (pick rates, win rates, ban rates), map-specific meta, leaderboard rankings, and player match history. Tools are prefixed with 'valorant_' and support filtering by region (NA, EU, APAC, etc.) and rank tier to surface region-specific meta variations. Returns structured data about agent viability, map-specific strategies, and competitive player rankings.
Supports region-specific meta filtering (NA, EU, APAC, etc.), recognizing that Valorant competitive scenes have distinct agent preferences and strategies by region. This regional decomposition is rarely exposed in generic Valorant APIs, which typically aggregate global data.
Provides pre-computed agent meta and leaderboard rankings rather than requiring clients to aggregate raw match data, making it significantly faster for competitive analysis compared to building custom analytics on top of raw Valorant match APIs.
esports schedule and tournament data aggregation across multiple games
Medium confidenceAggregates esports schedule, team roster, and tournament data across League of Legends, Teamfight Tactics, and Valorant competitive scenes. Returns structured data about upcoming matches, team information, player rosters, tournament brackets, and historical match results. Supports filtering by game title, region, and tournament tier (e.g., regional leagues, international events). Data is updated periodically as tournaments progress.
Aggregates esports data across three distinct games (League of Legends, TFT, Valorant) under a unified tool interface, allowing single queries to span multiple competitive scenes. Most esports APIs are game-specific; this unified approach reduces integration complexity for multi-game esports platforms.
Consolidates esports schedules and rosters from multiple games into a single MCP interface, eliminating the need to integrate separate APIs for each game's esports data.
dynamic mcp capability discovery and tool registry mirroring at startup
Medium confidenceAt startup, the proxy fetches serverCapabilities from the remote OP.GG MCP endpoint and dynamically registers corresponding request/notification handlers on the local MCP Server. This enables the proxy to work with any remote MCP endpoint without hardcoding tool definitions. When the remote endpoint adds, removes, or modifies tools, the local proxy automatically reflects these changes on the next startup without code changes. Implementation reads capabilities once at initialization and conditionally registers handlers based on what the remote server advertises.
Uses dynamic capability discovery at startup (reads serverCapabilities from remote endpoint) and conditionally registers handlers, eliminating the need for hardcoded tool definitions. This contrasts with static tool registries that require code changes when upstream tools change. Implementation in src/proxy-server.ts reads capabilities once and registers handlers based on what the remote server advertises.
More maintainable than static tool registries because upstream tool changes are automatically reflected without proxy code modifications, reducing synchronization burden compared to manually-maintained tool definitions.
response payload optimization via field-level filtering at api boundary
Medium confidenceAll 27 tools across League of Legends, Teamfight Tactics, and Valorant support a desired_output_fields parameter that filters response payloads at the remote API level. Clients specify which fields to include in the response (e.g., ['winRate', 'pickRate', 'banRate']), and the remote endpoint returns only those fields, reducing payload size and token consumption. This filtering happens server-side before the response is transmitted back through the proxy, minimizing bandwidth usage and LLM context overhead.
Implements server-side field filtering at the remote API boundary, allowing clients to specify exactly which response fields to include. This reduces payload size before transmission, contrasting with client-side filtering that requires transmitting the full response and then discarding unwanted fields.
More efficient than client-side filtering because it reduces payload size at the source, saving bandwidth and token consumption compared to receiving full responses and filtering locally.
multi-game gaming data aggregation under unified mcp interface
Medium confidenceConsolidates gaming data from three distinct titles (League of Legends, Teamfight Tactics, Valorant) under a single MCP interface with 27 tools organized by game prefix (lol_, tft_, valorant_). Enables single MCP clients to query data across all three games without managing separate API integrations. Tools share common patterns (desired_output_fields filtering, region/tier filtering, structured response schemas) while maintaining game-specific data models and tool names.
Consolidates 27 tools across three distinct games under a single MCP interface with consistent patterns (field filtering, region/tier filtering, structured schemas), eliminating the need for separate API integrations per game. Most gaming APIs are game-specific; this unified approach reduces integration complexity for multi-game platforms.
Provides a single MCP interface for three games instead of requiring separate integrations for each game's API, reducing complexity for multi-game platforms compared to managing three independent API clients.
streamable http client transport for remote mcp endpoint connectivity
Medium confidenceUses StreamableHTTPClientTransport from the @modelcontextprotocol/sdk library to establish HTTP connections to the remote OP.GG MCP endpoint at https://mcp-api.op.gg/mcp. This transport handles HTTP request/response serialization, error handling, and connection management for MCP protocol messages. Enables the local proxy to communicate with the remote endpoint over standard HTTP without custom HTTP client code, leveraging the SDK's built-in transport abstraction.
Leverages @modelcontextprotocol/sdk's StreamableHTTPClientTransport abstraction, which handles MCP protocol serialization, HTTP connection management, and error handling automatically. This eliminates the need for custom HTTP client code and ensures compatibility with the MCP protocol specification.
Simpler than implementing custom HTTP clients because it uses standard MCP transport abstractions from the SDK, reducing code complexity and ensuring protocol compliance.
stdio server transport for local mcp client communication
Medium confidenceUses StdioServerTransport from the @modelcontextprotocol/sdk library to expose the local MCP Server over stdin/stdout to local MCP clients (Claude Desktop, Cursor, custom MCP clients). This transport handles JSON-RPC 2.0 message serialization over stdio, connection lifecycle management, and error handling. Enables the proxy to present itself as a standard MCP server to any stdio-based MCP client without custom protocol implementation.
Uses StdioServerTransport from @modelcontextprotocol/sdk, which handles JSON-RPC 2.0 message serialization over stdio and connection lifecycle management. This eliminates custom stdio protocol implementation and ensures compatibility with standard MCP clients like Claude Desktop.
Simpler than implementing custom stdio protocol handlers because it uses standard MCP transport abstractions from the SDK, reducing code complexity and ensuring compatibility with all stdio-based MCP clients.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with OP.GG, ranked by overlap. Discovered automatically through the match graph.
@modelcontextprotocol/node
Model Context Protocol implementation for TypeScript - Node.js middleware
supergateway
Run MCP stdio servers over SSE, Streamable HTTP or visa versa
mcp-proxy
A TypeScript SSE proxy for MCP servers that use stdio transport.
inspector
Visual testing tool for MCP servers
ECharts
** - Generate visual charts using [ECharts](https://echarts.apache.org) with AI MCP dynamically, used for chart generation and data analysis.
tea-color-to-vars-mcp-server
A basic MCP server example using @modelcontextprotocol/sdk
Best For
- ✓AI agent developers integrating gaming data into Claude or Cursor workflows
- ✓Teams deploying MCP servers in restricted network environments requiring local proxies
- ✓Builders wanting transparent HTTP-to-stdio adaptation without custom integration code
- ✓Gaming content creators building League of Legends analysis tools or guides
- ✓Esports analysts automating match research and player performance tracking
- ✓AI agents providing real-time meta recommendations to players during champion select
- ✓Developers building Discord bots or Twitch extensions with live League data
- ✓Individual developers integrating OP.GG data into Claude Desktop or Cursor
Known Limitations
- ⚠Adds network round-trip latency for every tool call (remote HTTP request to https://mcp-api.op.gg/mcp)
- ⚠No local caching or request deduplication — each tool call results in a fresh HTTP request
- ⚠Requires network connectivity to remote OP.GG endpoint; no offline fallback or graceful degradation
- ⚠Single-threaded stdio processing means concurrent requests from multiple clients will queue sequentially
- ⚠Data freshness depends on OP.GG's update frequency (typically 5-15 minute delay from live matches)
- ⚠Summoner lookups require exact summoner name and region; fuzzy matching not supported
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
** - Access real-time gaming data across popular titles like League of Legends, TFT, and Valorant, offering champion analytics, esports schedules, meta compositions, and character statistics.
Categories
Alternatives to OP.GG
Are you the builder of OP.GG?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →