tablebase

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

Syzygy tablebase lookup (≤7 pieces). Variant: standard (default), atomic, antichess.

Parameters

NameTypeRequiredDescription
fenstringyes
variantstringnostandard | atomic | antichess

Example call

Arguments

{
  "fen": "8/8/8/4k3/8/8/4K3/8 w - - 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":"tablebase","arguments":{"fen":"8/8/8/4k3/8/8/4K3/8 w - - 0 1"}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('tablebase', {
  "fen": "8/8/8/4k3/8/8/4K3/8 w - - 0 1"
});

More examples

{
  "fen": "8/8/8/4k3/8/8/4K3/8 w - - 0 1",
  "variant": "atomic"
}

Response shape

FieldTypeDescription
fenstringPosition FEN
bestMovesarrayBest moves in UCI notation
dtznumberDistance to zero (draw/mate)
dtmnumberDistance to mate
checkmatebooleanPosition is checkmate
stalematebooleanPosition is stalemate
variant_winbooleanVariant-specific win
variant_lossbooleanVariant-specific loss
insufficient_materialbooleanInsufficient material
movesarrayLegal moves and their outcomes
Full JSON Schema
{
  "type": "object",
  "properties": {
    "fen": {
      "type": "string",
      "description": "Position FEN"
    },
    "bestMoves": {
      "type": "array",
      "description": "Best moves in UCI notation",
      "items": {
        "type": "string"
      }
    },
    "dtz": {
      "type": "number",
      "description": "Distance to zero (draw/mate)"
    },
    "dtm": {
      "type": "number",
      "description": "Distance to mate"
    },
    "checkmate": {
      "type": "boolean",
      "description": "Position is checkmate"
    },
    "stalemate": {
      "type": "boolean",
      "description": "Position is stalemate"
    },
    "variant_win": {
      "type": "boolean",
      "description": "Variant-specific win"
    },
    "variant_loss": {
      "type": "boolean",
      "description": "Variant-specific loss"
    },
    "insufficient_material": {
      "type": "boolean",
      "description": "Insufficient material"
    },
    "moves": {
      "type": "array",
      "description": "Legal moves and their outcomes",
      "items": {
        "type": "object",
        "properties": {
          "uci": {
            "type": "string",
            "description": "Move in UCI notation"
          },
          "san": {
            "type": "string",
            "description": "Move in SAN notation"
          },
          "dtz": {
            "type": "number",
            "description": "DTZ after move"
          },
          "dtm": {
            "type": "number",
            "description": "DTM after move"
          },
          "checkmate": {
            "type": "boolean",
            "description": "Move is checkmate"
          },
          "stalemate": {
            "type": "boolean",
            "description": "Move is stalemate"
          }
        }
      }
    }
  }
}

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