Riot Games · Capability

Riot Games Game Data Analytics

Unified capability for Riot Games game data analytics across League of Legends. Enables player profile lookup, match history analysis, ranked standing tracking, champion mastery insights, and live game monitoring for developers building community tools and analytics platforms.

Run with Naftiko AnalyticsGamingLeague of LegendsMatch HistoryRankedRiot Games

What You Can Do

GET
Get summoner by puuid — Get League of Legends summoner profile
/v1/summoners/{encryptedPUUID}
GET
Get champion mastery — Get champion mastery data for a player
/v1/champion-mastery/{encryptedPUUID}
GET
Get league entries — Get ranked standings for a summoner
/v1/ranked/{encryptedSummonerId}
GET
Get match ids — Get recent match IDs for a player
/v1/matches/{puuid}/ids
GET
Get match — Get full match details and participant stats
/v1/matches/{matchId}
GET
Get live game — Get current live game for a summoner
/v1/live-games/{encryptedSummonerId}
GET
Get featured games — Get currently featured live games
/v1/featured-games
GET
Get champion rotations — Get free champion rotation
/v1/champions/rotation

MCP Tools

get-summoner

Look up a League of Legends summoner profile by PUUID

read-only
get-champion-mastery

Get champion mastery rankings to understand a player's most played champions

read-only
get-ranked-standings

Get ranked league standings and LP for a summoner across all queues

read-only
get-match-history-ids

Get recent match IDs for a player to fetch individual match details

read-only
get-match-details

Get full match details including all participant stats, items, and outcomes

read-only
get-live-game

Check if a summoner is currently in a live game and get game details

read-only
get-featured-games

Get currently featured live games on the platform

read-only
get-free-champion-rotation

Get the current free champion rotation for new player recommendations

read-only

APIs Used

lol-api

Capability Spec

game-data-analytics.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Riot Games Game Data Analytics"
  description: >-
    Unified capability for Riot Games game data analytics across League of
    Legends. Enables player profile lookup, match history analysis, ranked
    standing tracking, champion mastery insights, and live game monitoring
    for developers building community tools and analytics platforms.
  tags:
    - Analytics
    - Gaming
    - League of Legends
    - Match History
    - Ranked
    - Riot Games
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      RIOT_API_KEY: RIOT_API_KEY

capability:
  consumes:
    - import: lol-api
      location: ./shared/league-of-legends.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: riot-analytics-api
      description: "Unified REST API for Riot Games player and match analytics."
      resources:
        - path: /v1/summoners/{encryptedPUUID}
          name: summoner
          description: "Summoner profile by PUUID"
          operations:
            - method: GET
              name: get-summoner-by-puuid
              description: "Get League of Legends summoner profile"
              call: "lol-api.get-summoner-by-puuid"
              with:
                encryptedPUUID: "rest.encryptedPUUID"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/champion-mastery/{encryptedPUUID}
          name: champion-mastery
          description: "Champion mastery rankings"
          operations:
            - method: GET
              name: get-champion-mastery
              description: "Get champion mastery data for a player"
              call: "lol-api.get-champion-mastery"
              with:
                encryptedPUUID: "rest.encryptedPUUID"
                count: "rest.count"
              outputParameters:
                - type: array
                  mapping: "$."
        - path: /v1/ranked/{encryptedSummonerId}
          name: ranked
          description: "Ranked league standings"
          operations:
            - method: GET
              name: get-league-entries
              description: "Get ranked standings for a summoner"
              call: "lol-api.get-league-entries-by-summoner"
              with:
                encryptedSummonerId: "rest.encryptedSummonerId"
              outputParameters:
                - type: array
                  mapping: "$."
        - path: /v1/matches/{puuid}/ids
          name: match-ids
          description: "Recent match IDs"
          operations:
            - method: GET
              name: get-match-ids
              description: "Get recent match IDs for a player"
              call: "lol-api.get-match-ids-by-puuid"
              with:
                puuid: "rest.puuid"
                count: "rest.count"
              outputParameters:
                - type: array
                  mapping: "$."
        - path: /v1/matches/{matchId}
          name: match
          description: "Match details"
          operations:
            - method: GET
              name: get-match
              description: "Get full match details and participant stats"
              call: "lol-api.get-match"
              with:
                matchId: "rest.matchId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/live-games/{encryptedSummonerId}
          name: live-game
          description: "Live game data"
          operations:
            - method: GET
              name: get-live-game
              description: "Get current live game for a summoner"
              call: "lol-api.get-live-game"
              with:
                encryptedSummonerId: "rest.encryptedSummonerId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/featured-games
          name: featured-games
          description: "Featured live games"
          operations:
            - method: GET
              name: get-featured-games
              description: "Get currently featured live games"
              call: "lol-api.get-featured-games"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/champions/rotation
          name: champion-rotation
          description: "Free champion rotation"
          operations:
            - method: GET
              name: get-champion-rotations
              description: "Get free champion rotation"
              call: "lol-api.get-champion-rotations"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: riot-analytics-mcp
      transport: http
      description: "MCP server for AI-assisted Riot Games analytics and player insights."
      tools:
        - name: get-summoner
          description: "Look up a League of Legends summoner profile by PUUID"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-summoner-by-puuid"
          with:
            encryptedPUUID: "tools.encryptedPUUID"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-champion-mastery
          description: "Get champion mastery rankings to understand a player's most played champions"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-champion-mastery"
          with:
            encryptedPUUID: "tools.encryptedPUUID"
            count: "tools.count"
          outputParameters:
            - type: array
              mapping: "$."
        - name: get-ranked-standings
          description: "Get ranked league standings and LP for a summoner across all queues"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-league-entries-by-summoner"
          with:
            encryptedSummonerId: "tools.encryptedSummonerId"
          outputParameters:
            - type: array
              mapping: "$."
        - name: get-match-history-ids
          description: "Get recent match IDs for a player to fetch individual match details"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-match-ids-by-puuid"
          with:
            puuid: "tools.puuid"
            count: "tools.count"
            queue: "tools.queue"
          outputParameters:
            - type: array
              mapping: "$."
        - name: get-match-details
          description: "Get full match details including all participant stats, items, and outcomes"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-match"
          with:
            matchId: "tools.matchId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-live-game
          description: "Check if a summoner is currently in a live game and get game details"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-live-game"
          with:
            encryptedSummonerId: "tools.encryptedSummonerId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-featured-games
          description: "Get currently featured live games on the platform"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-featured-games"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-free-champion-rotation
          description: "Get the current free champion rotation for new player recommendations"
          hints:
            readOnly: true
            openWorld: true
          call: "lol-api.get-champion-rotations"
          outputParameters:
            - type: object
              mapping: "$."