# ChessIntel > Search elite over-the-board chess by ideas — structures, plans, tactics, piece routes and sequences of moves — in plain English or as a structured query. 56,023 FIDE-rated games (2023–2026, plus the 2020 and 2021 world championship matches), 37 detected themes and motifs, and every result verified by replaying the game. Free, no account, no API key. ChessIntel keeps every broadcast game of the world's top 320 players by rating, relayed on Lichess with engine evaluations and clock times. Results say where the idea happens (the ply and the move), so an answer can always be checked on the board. ## Use it from an agent (MCP) - Endpoint: `https://chessintel.com/api/mcp` — MCP over HTTP (stateless JSON-RPC 2.0, POST). No authentication. - In Claude: Settings → Connectors → Add custom connector → paste the endpoint. - The server describes its own input schemas (`tools/list`); call `list_themes` first for the theme vocabulary. - Unknown filter values are rejected with an error rather than ignored, so a query either means what it says or fails loudly. Tools: - `search_games`: The unified search: players (bound by FIDE id), colour, result, rating, event, year, time control, opening, themes and motifs, board positions, piece routes, attacks, material imbalances and move-sequence patterns, each clause negatable. Every hit is verified by replaying the game and says where the idea happens. - `list_themes`: The themes and motifs search_games can filter on, with definitions. - `player_profile`: A player's score overall and per colour, average opponent rating, most-played openings, and the themes that recur in their games compared with the corpus. - `explore_openings`: The opening tree over any set of games: which moves were played after a line, how often, and how they scored. - `get_game`: One game as PGN with clock and engine-evaluation comments, plus every detected theme with its ply. - `create_prep_list / add_to_prep_list / get_prep_list`: Save games to a named list and get a shareable link — no accounts. Theme keys: iqp, isolated_pawn, doubled_pawns, backward_pawn, hanging_pawns, passed_pawn, protected_passer, queenside_majority, kingside_majority, symmetrical_pawns, closed_centre, open_centre, minority_attack, bishop_pair, opposite_bishops, knight_outpost, rook_seventh, doubled_rooks, opposite_castling, pawn_storm, king_walk, fork, pin, skewer, discovered_attack, double_check, sacrifice, exchange_sacrifice, queen_sacrifice, underpromotion, back_rank_mate, smothered_mate, perpetual_check, comeback, missed_win, sharp, time_scramble ## Web app - https://chessintel.com/login (also https://chessintel.com/app) — the search workbench. URL state: `?ask=` runs a question; `?q=` opens a structured search; `?player=&fide=` a player profile; `?list=` a prep list. ## REST API (JSON) - `POST https://chessintel.com/api/search` — body `{"q": }` or `{"query": ""}`; optional `limit`, `cursor`, `stats` - `POST https://chessintel.com/api/tree` — opening explorer over a result set (`q.line` = UCI moves) - `POST https://chessintel.com/api/pgn` — `{"ids": [...]}` or `{"q": }` → PGN with `[%eval]`/`[%clk]` - `GET https://chessintel.com/api/game/` — one game with replayed SAN moves and FENs - `GET https://chessintel.com/api/vocab` — filter vocabulary (themes, patterns, time-control classes) - `GET https://chessintel.com/api/player?name=&fide=` — player profile - `GET https://chessintel.com/api/health` — corpus size ## Pages - [Landing page as Markdown](https://chessintel.com/index.md)