Connects Claude to Lichess's public API for chess data and analysis. You get player profiles and ratings across all variants, bulk user lookups, online status checks, and leaderboards. The real power is in the game analysis tools: cloud eval hits Stockfish for position evaluation, tablebase does endgame lookups for positions with seven pieces or fewer, and opening explorer queries community games, master games, or individual player repertoires. Hosted by Pipeworx as a streamable HTTP gateway, so no local installation. Useful when you're building chess coaching tools, doing player research, or need programmatic access to opening theory and engine analysis without running your own infrastructure.
Public tool metadata for what this MCP can expose to an agent.
set_tokenSet your Lichess API token1 paramsSet your Lichess API token
tokenstringget_my_profileGet your Lichess profile informationGet your Lichess profile information
No parameter schema in public metadata yet.
get_user_profileGet a user's Lichess profile information2 paramsGet a user's Lichess profile information
trophiesbooleanusernamestringget_my_emailGet your email addressGet your email address
No parameter schema in public metadata yet.
get_kid_modeGet kid mode statusGet kid mode status
No parameter schema in public metadata yet.
set_kid_modeSet kid mode status1 paramsSet kid mode status
valuebooleancreate_challengeCreate a new challenge3 paramsCreate a new challenge
colorstringwhite · black · randomdefault: randomusernamestringtimeControlstringmake_moveMake a move in an ongoing game3 paramsMake a move in an ongoing game
movestringgameIdstringofferingDrawbooleanget_preferencesGet your preferencesGet your preferences
No parameter schema in public metadata yet.
get_timelineGet your timeline2 paramsGet your timeline
nbnumbersincenumbertest_tokensTest multiple OAuth tokens1 paramsTest multiple OAuth tokens
tokensstringrevoke_tokenRevoke the current access tokenRevoke the current access token
No parameter schema in public metadata yet.
upgrade_to_botUpgrade to Bot account. WARNING: This is irreversible and the account must not have played any games.Upgrade to Bot account. WARNING: This is irreversible and the account must not have played any games.
No parameter schema in public metadata yet.
add_user_noteAdd a private note about a user2 paramsAdd a private note about a user
textstringusernamestringsend_messageSend a private message to another player2 paramsSend a private message to another player
textstringusernamestringget_followingGet users followed by the logged in userGet users followed by the logged in user
No parameter schema in public metadata yet.
follow_userFollow a player1 paramsFollow a player
usernamestringunfollow_userUnfollow a player1 paramsUnfollow a player
usernamestringblock_userBlock a player1 paramsBlock a player
usernamestringget_users_statusGet real-time users status4 paramsGet real-time users status
idsstringwithSignalbooleanwithGameIdsbooleanwithGameMetasbooleanget_all_top_10Get the top 10 players for each speed and variantGet the top 10 players for each speed and variant
No parameter schema in public metadata yet.
get_leaderboardGet the leaderboard for a single speed or variant2 paramsGet the leaderboard for a single speed or variant
nbnumberperfTypestringultraBullet · bullet · blitz · rapid · classical · chess960get_user_public_dataGet public data of a user2 paramsGet public data of a user
usernamestringwithTrophiesbooleanget_rating_historyGet rating history of a user for all perf types1 paramsGet rating history of a user for all perf types
usernamestringget_user_performanceGet performance statistics of a user2 paramsGet performance statistics of a user
perfstringultraBullet · bullet · blitz · rapid · classical · correspondenceusernamestringget_user_activityGet activity feed of a user1 paramsGet activity feed of a user
usernamestringget_users_by_idGet multiple users by their IDs1 paramsGet multiple users by their IDs
idsstringunblock_userUnblock a user1 paramsUnblock a user
usernamestringexport_gameExport one game in PGN or JSON format9 paramsExport one game in PGN or JSON format
tagsbooleanevalsbooleanmovesbooleanclocksbooleangameIdstringopeningbooleanaccuracybooleanliteratebooleanpgnInJsonbooleanexport_ongoing_gameExport ongoing game of a user7 paramsExport ongoing game of a user
tagsbooleanevalsbooleanmovesbooleanclocksbooleanopeningbooleanusernamestringpgnInJsonbooleanexport_user_gamesExport all games of a user20 paramsExport all games of a user
vsstringmaxnumbersortstringdateAsc · dateDescdefault: dateDesctagsbooleancolorstringwhite · blackevalsbooleanmovesbooleanratedbooleansincenumberuntilnumberclocksbooleanlastFenbooleanongoingbooleanopeningbooleanaccuracybooleananalysedbooleanfinishedbooleanliteratebooleanperfTypestringultraBullet · bullet · blitz · rapid · classical · correspondenceusernamestringexport_games_by_idsExport multiple games by IDs7 paramsExport multiple games by IDs
idsstringtagsbooleanevalsbooleanmovesbooleanclocksbooleanopeningbooleanpgnInJsonbooleanget_tv_channelsGet all TV channels and their current gamesGet all TV channels and their current games
No parameter schema in public metadata yet.
get_tv_gameGet current TV game in PGN format1 paramsGet current TV game in PGN format
channelstringbot · blitz · racingKings · ultraBullet · bullet · classicalget_puzzle_activityGet your puzzle activity1 paramsGet your puzzle activity
maxnumberget_puzzle_dashboardGet your puzzle dashboard1 paramsGet your puzzle dashboard
daysnumberget_puzzle_raceGet info about a puzzle race1 paramsGet info about a puzzle race
raceIdstringcreate_puzzle_raceCreate a puzzle raceCreate a puzzle race
No parameter schema in public metadata yet.
get_puzzle_storm_dashboardGet your puzzle storm dashboard1 paramsGet your puzzle storm dashboard
daysnumberget_team_infoGet team information by ID1 paramsGet team information by ID
teamIdstringget_team_membersGet members of a team2 paramsGet members of a team
maxnumberteamIdstringget_team_join_requestsGet join requests for a team1 paramsGet join requests for a team
teamIdstringjoin_teamJoin a team2 paramsJoin a team
teamIdstringmessagestringleave_teamLeave a team1 paramsLeave a team
teamIdstringkick_user_from_teamKick a user from your team2 paramsKick a user from your team
teamIdstringuserIdstringaccept_join_requestAccept a join request for your team2 paramsAccept a join request for your team
teamIdstringuserIdstringdecline_join_requestDecline a join request for your team2 paramsDecline a join request for your team
teamIdstringuserIdstringsearch_teamsSearch for teams2 paramsSearch for teams
pagenumbertextstringmake_board_moveMake a move in a board game3 paramsMake a move in a board game
movestringgameIdstringofferingDrawbooleanabort_board_gameAbort a board game1 paramsAbort a board game
gameIdstringresign_board_gameResign a board game1 paramsResign a board game
gameIdstringwrite_in_chatWrite in the chat of a board game3 paramsWrite in the chat of a board game
roomstringplayer · spectatortextstringgameIdstringhandle_draw_board_gameHandle draw offers for a board game2 paramsHandle draw offers for a board game
acceptbooleangameIdstringclaim_victoryClaim victory if opponent abandoned the game1 paramsClaim victory if opponent abandoned the game
gameIdstringlist_challengesList incoming and outgoing challengesList incoming and outgoing challenges
No parameter schema in public metadata yet.
accept_challengeAccept an incoming challenge1 paramsAccept an incoming challenge
challengeIdstringdecline_challengeDecline an incoming challenge2 paramsDecline an incoming challenge
reasonstringgeneric · later · tooFast · tooSlow · timeControl · ratedchallengeIdstringcancel_challengeCancel an outgoing challenge1 paramsCancel an outgoing challenge
challengeIdstringget_arena_tournamentsGet current tournamentsGet current tournaments
No parameter schema in public metadata yet.
create_arenaCreate a new arena tournament14 paramsCreate a new arena tournament
namestringratedbooleanhasChatbooleanminutesnumbervariantstringstandard · chess960 · crazyhouse · antichess · atomic · hordedefault: standardpositionstringclockTimenumberstartDatenumberconditionsobjectstreakablebooleanberserkablebooleandescriptionstringwaitMinutesnumberclockIncrementnumberget_arena_infoGet info about an arena tournament1 paramsGet info about an arena tournament
tournamentIdstringget_arena_gamesGet games of an arena tournament1 paramsGet games of an arena tournament
tournamentIdstringget_arena_resultsGet results of an arena tournament1 paramsGet results of an arena tournament
tournamentIdstringjoin_arenaJoin an arena tournament1 paramsJoin an arena tournament
tournamentIdstringwithdraw_from_arenaWithdraw from an arena tournament1 paramsWithdraw from an arena tournament
tournamentIdstringget_team_battle_resultsGet results of a team battle tournament1 paramsGet results of a team battle tournament
tournamentIdstringcreate_swissCreate a new Swiss tournament8 paramsCreate a new Swiss tournament
namestringclockobjectratedbooleanteamIdstringvariantstringstandard · chess960 · crazyhouse · antichess · atomic · hordedefault: standardnbRoundsnumberdescriptionstringroundIntervalnumberget_swiss_infoGet info about a Swiss tournament1 paramsGet info about a Swiss tournament
swissIdstringget_swiss_gamesGet games of a Swiss tournament1 paramsGet games of a Swiss tournament
swissIdstringget_swiss_resultsGet results of a Swiss tournament1 paramsGet results of a Swiss tournament
swissIdstringjoin_swissJoin a Swiss tournament1 paramsJoin a Swiss tournament
swissIdstringwithdraw_from_swissWithdraw from a Swiss tournament1 paramsWithdraw from a Swiss tournament
swissIdstringget_current_simulsGet recently started simulsGet recently started simuls
No parameter schema in public metadata yet.
create_simulCreate a new simul8 paramsCreate a new simul
namestringtextstringcolorstringwhite · blackdefault: whitevariantstringstandard · chess960 · crazyhouse · antichess · atomic · hordedefault: standardclockTimenumbermaxRatingnumberminRatingnumberclockIncrementnumberjoin_simulJoin a simul1 paramsJoin a simul
simulIdstringwithdraw_from_simulWithdraw from a simul1 paramsWithdraw from a simul
simulIdstringexport_study_chapterExport one study chapter in PGN format2 paramsExport one study chapter in PGN format
studyIdstringchapterIdstringexport_all_study_chaptersExport all chapters of a study in PGN format1 paramsExport all chapters of a study in PGN format
studyIdstringget_user_studiesGet studies created by a user1 paramsGet studies created by a user
usernamestringget_threadGet a message thread1 paramsGet a message thread
userIdstringLichess MCP — public read-only API for users, games, explorer, tablebase.
Part of Pipeworx — an MCP gateway connecting AI agents to 673+ live data sources.
| Tool | Description |
|---|---|
user | Player profile with ratings across all variants. |
users | Bulk lookup of up to 300 users by username. |
user_status | Online / playing status for the given usernames (up to 100). |
user_performance | Single-variant performance + best rated game for a user. |
top_players | Top-rated players for one variant. |
leaderboards | Top-10 across all variants in one call. |
tv_channels | Currently-featured TV games per variant. |
cloud_eval | Stockfish cloud evaluation for a FEN position. |
tablebase | Syzygy tablebase lookup (≤7 pieces). Variant: standard (default), atomic, antichess. |
opening_explorer | Opening explorer. scope: "lichess" (community), "masters" (top 2200+ humans), "player" (single user). |
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"lichess": {
"url": "https://gateway.pipeworx.io/lichess/mcp"
}
}
}
Or connect to the full Pipeworx gateway for access to all 673+ data sources:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
Instead of calling tools directly, you can ask questions in plain English:
ask_pipeworx({ question: "your question about Lichess data" })
The gateway picks the right tool and fills the arguments automatically.
MIT