Analytics
chessfolio.io
Provides chess players with detailed statistics, ratings, game history, and analysis from their connected chess accounts.
ENDPOINT 1
https://chessfolio.io/api/mcp
MCP server metadata
- Name
- mcp-typescript server on vercel
- Version
- 0.1.0
Known tools 29
get_profileThe authenticated user's Chessfolio profile: display name, linked platform usernames, connected sources with sync freshness (last_synced_at), and total game count.
Inferred read-onlyget_chess_statsAggregate statistics over the user's games for a chosen window: win/draw/loss by colour, online vs over-the-board comparison, performance rating, records and streaks, recent form, weekday performance, opponent-strength breakdown, game-length breakdown, top openings, monthly form and average accuracy.
Inferred read-onlyget_rating_progressRating series per provider and time control (including ECF over-the-board), each with start/end/delta over the window.
Inferred read-onlylist_gamesPaged list of the user's games (50 per page) across chess.com, Lichess, ECF (OTB), manual and PGN imports, with filters matching the chessfolio.io games library: provider, result, colour, time class, date range, move-count range, opening, opponent, opening-line prefix (lineMoves, as returned by get_problem_lines) and free-text search.
Inferred read-onlyget_gameOne of the user's games in full: the same summary fields as list_games plus its moves and, where a Chessfolio review exists, a review summary.
Inferred read-onlyget_game_analysisMove-by-move engine analysis of one of the user's reviewed games (the deterministic detail behind get_game's review summary).
Inferred read-onlyget_critical_momentsThe teachable positions from one of the user's reviewed games, so you do not have to read every ply to find what matters.
Inferred read-onlyattach_pgnAttach one complete PGN to an existing game in the authenticated user's Chessfolio library.
Inferred read-onlyrequest_game_reviewAsk Chessfolio to run its engine review over one of the authenticated user's games.
Inferred read-onlyget_problem_linesThe 'lines that keep hurting': per-colour opening lines (6–24 plies) where the user's score drops at least 8 points below their colour baseline over at least 5 games, ranked by a struggle index of (drop × log2 of games).
Potential side effectsget_weekly_reportThe user's most recent Friday weekly report as its frozen payload: per-source sections (chess.com / Lichess / OTB) with games, rating lines, best win and toughest defeat, plus puzzles — exactly what the email and the public share page render, with the share URL included.
Potential side effectsget_puzzle_statsCross-source puzzle activity and ratings: 12-week solve summary with win rate, volume bucketed to suit the window (day/week/month), and rating series for Lichess puzzles and chess.com tactics (chess.com is a peak-only rating — their API exposes no current value).
Inferred read-onlylist_study_gamesThe authenticated user's personal study collection — every game saved via upload_study_game, newest first, up to 200 rows.
Inferred read-onlyupload_study_gamePaste one complete PGN into the authenticated user's personal study collection — for studying somebody else's game (a classic, a friend's game, one found online), not for the user's own played games (use attach_pgn against an existing list_games row for those).
Inferred read-onlyrequest_study_analysisAsk Chessfolio to run its engine review over one of the authenticated user's study games (as saved by upload_study_game).
Inferred read-onlydelete_study_gameDelete ONE game from the authenticated user's personal study collection, including its per-ply study notes (they cascade with the row).
Potential side effectsget_weakness_profileA ranked list of what is going wrong across the user's reviewed games in a window (range, default 1y): the cross-game diagnosis to run BEFORE picking a game to work on.
Inferred read-onlyget_coaching_stateWhat you and this user have agreed to work on, read in one call: make this your FIRST call in any coaching session.
Inferred read-onlyset_training_focusCreate, retitle or resolve ONE training focus for the authenticated user: a short statement of what you and the user are working on, e.g.
Potential side effectsadd_coaching_entryAppend ONE entry to the user's coaching log: a `reflection` (what the user said or noticed), a `note` (yours), an `assignment` (homework, which starts `open` unless you pass `status`), a `result` (how a quiz or assignment went) or a `session` (a summary of this session; get_coaching_state's lastSessionAt reads the newest of these).
Inferred read-onlysave_positionSave ONE position for the user to come back to: a FEN with a `label` (1-80 characters, e.g.
Inferred read-onlylist_saved_positionsThe user's saved positions, newest first, 25 per page (`page`), optionally filtered to one focus (`focusId`) or to those `dueForQuiz`: never quizzed, or whose most recent quiz result was wrong.
Inferred read-onlyremove_saved_positionDelete ONE saved position owned by the authenticated user, by the exact `id` from list_saved_positions.
Potential side effectsget_tournament_statePublic, read-only snapshot of any Chess-Results tournament — no token needed (source: chess-results.com).
Inferred read-onlyestimate_round1Public, read-only ESTIMATE of Round-1 pairings for a Chess-Results tournament — no token needed (source: chess-results.com).
Inferred read-onlyestimate_pairingsPublic, read-only ESTIMATE of the next round's pairings for a Chess-Results Swiss tournament — no token needed (source: chess-results.com).
Inferred read-onlycalculate_ecf_rating_changePublic, token-less ECF rating calculator: work out what a set of results does to an English Chess Federation rating, using the ECF's published K Rating algorithm (V4, August 2020).
Inferred read-onlylist_library_gamesPublic, token-less listing of Chessfolio's curated classic-games library — around 50 published historical and instructive games, each with editorial commentary, a source citation and full engine analysis behind it.
Inferred read-onlyget_library_gamePublic, token-less full entry for one published library game: the editorial essay, its source citation, the canonical PGN, and both players' overall engine accuracy — but deliberately NO per-ply data (no move evaluations, no critical moments, no depth): the library surface is prose and provenance, not an analysis feed, by hard design exclusion.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.mcp-typescript-server-on-vercel]
url = "https://chessfolio.io/api/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"mcp-typescript-server-on-vercel": {
"type": "http",
"url": "https://chessfolio.io/api/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: mcp-typescript-server-on-vercel
Remote MCP URL: https://chessfolio.io/api/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"mcp-typescript-server-on-vercel": {
"url": "https://chessfolio.io/api/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"mcp-typescript-server-on-vercel": {
"type": "http",
"url": "https://chessfolio.io/api/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "mcp-typescript-server-on-vercel",
"transport": "streamable-http",
"url": "https://chessfolio.io/api/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.