Daily chess puzzle
lichess.daily_puzzleFreeLive now
Today's Lichess puzzle: the position (FEN), side to move, rating, themes, the solution in UCI moves and a link to play it.
Inputs
No inputs. Call it with an empty object {}.
Example output
{"puzzle_id":"Mifvr","rating":2160,"plays":13655,"themes":["endgame","fork","long","advantage"],"fen":"5qk1/p5pp/1p1p4/1bn5/3B4/P3Q1P1/6BP/6K1 w - - 0 1","to_move":"white","last_move_uci":"c4b5","solution_uci":["d4c5","d6c5","e3b3","g8h8","b3b5"],"from_game":{"id":"DkFW1Cc1","speed":"Rapid","clock":"10+5","rated":true,"url":"https://lichess.org/DkFW1Cc1"},"play":"https://lichess.org/training/Mifvr","note":"Moves are in UCI notation (e.g. e2e4). Hide solution_uci if you want to solve it yourself.","attribution":{"source":"Lichess.org","license":"CC0 1.0","source_url":"https://lichess.org/api...Data license
CC0 1.0 · Puzzle from Lichess.org; the Lichess puzzle database is CC0. Source
Try it
…
Call it
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "lichess.daily_puzzle",
"arguments": {}
}
}curl -sS -X POST https://www.realworldmcp.com/api/call/lichess.daily_puzzle \
-H 'content-type: application/json' \
-d '{}'const res = await fetch("https://www.realworldmcp.com/api/call/lichess.daily_puzzle", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({})
});
console.log(await res.json());