opening_explorer

Pack: lichess · Endpoint: https://gateway.pipeworx.io/lichess/mcp

Opening explorer. scope: “lichess” (community), “masters” (top 2200+ humans), “player” (single user). As of mid-2026 Lichess began requiring a Personal API Token on every explorer.lichess.ovh request — pass yours via _apiKey. Create one (free) at https://lichess.org/account/oauth/token; no scopes required for read-only Explorer access.

Parameters

NameTypeRequiredDescription
scopestringyeslichess | masters | player
fenstringnoMutually exclusive with play.
playstringnoUCI move list, comma-separated. Mutually exclusive with fen.
playerstringnoUsername (only for scope=player).
speedsstringnoComma-sep: ultraBullet,bullet,blitz,rapid,classical,correspondence
ratingsstringnoComma-sep (lichess scope): 0,1000,1200,1400,1600,1800,2000,2200,2500
movesnumbernoNumber of top moves to return (default 12, max 64).
_apiKeystringyesLichess Personal API Token (free, https://lichess.org/account/oauth/token).

Example call

Arguments

{
  "scope": "lichess",
  "fen": "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1"
}

curl

curl -X POST https://gateway.pipeworx.io/lichess/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"opening_explorer","arguments":{"scope":"lichess","fen":"rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('opening_explorer', {
  "scope": "lichess",
  "fen": "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1"
});

More examples

{
  "scope": "player",
  "play": "e2e4,c7c5",
  "player": "hikaru",
  "speeds": "blitz,rapid"
}

Response shape

FieldTypeDescription
fenstringPosition FEN
openingobjectOpening information
movesarrayTop moves from this position
topGamesarrayTop games from this position
recentGamesarrayRecent games from this position
Full JSON Schema
{
  "type": "object",
  "properties": {
    "fen": {
      "type": "string",
      "description": "Position FEN"
    },
    "opening": {
      "type": "object",
      "description": "Opening information",
      "properties": {
        "eco": {
          "type": "string",
          "description": "ECO code"
        },
        "name": {
          "type": "string",
          "description": "Opening name"
        }
      }
    },
    "moves": {
      "type": "array",
      "description": "Top moves from this position",
      "items": {
        "type": "object",
        "properties": {
          "uci": {
            "type": "string",
            "description": "Move in UCI notation"
          },
          "san": {
            "type": "string",
            "description": "Move in SAN notation"
          },
          "white": {
            "type": "number",
            "description": "White wins %"
          },
          "draws": {
            "type": "number",
            "description": "Draws %"
          },
          "black": {
            "type": "number",
            "description": "Black wins %"
          },
          "games": {
            "type": "number",
            "description": "Number of games"
          },
          "averageRating": {
            "type": "number",
            "description": "Average player rating"
          }
        }
      }
    },
    "topGames": {
      "type": "array",
      "description": "Top games from this position",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Game ID"
          },
          "white": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Player name"
              },
              "rating": {
                "type": "number",
                "description": "Rating"
              }
            }
          },
          "black": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Player name"
              },
              "rating": {
                "type": "number",
                "description": "Rating"
              }
            }
          },
          "result": {
            "type": "string",
            "description": "Game result"
          }
        }
      }
    },
    "recentGames": {
      "type": "array",
      "description": "Recent games from this position",
      "items": {
        "type": "object"
      }
    }
  }
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "lichess": {
      "url": "https://gateway.pipeworx.io/lichess/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build July 6, 2026