# Lichess Integration

Interact with the Lichess chess platform using natural language. Manage your account, play games, analyze positions, and join tournaments effortlessly. Enhance your chess experience with seamless com…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add karayaman/lichess-mcp

# Browse available tools
npx -y @smithery/cli@latest tool list karayaman/lichess-mcp

# Get full schema for a tool
npx -y @smithery/cli@latest tool get karayaman/lichess-mcp set_token

# Call a tool
npx -y @smithery/cli@latest tool call karayaman/lichess-mcp set_token '{}'
```

## Tools (90)

- `set_token` — Set your Lichess API token
- `get_my_profile` — Get your Lichess profile information
- `get_user_profile` — Get a user's Lichess profile information
- `get_my_email` — Get your email address
- `get_kid_mode` — Get kid mode status
- `set_kid_mode` — Set kid mode status
- `create_challenge` — Create a new challenge
- `make_move` — Make a move in an ongoing game
- `get_preferences` — Get your preferences
- `get_timeline` — Get your timeline
- `test_tokens` — Test multiple OAuth tokens
- `revoke_token` — Revoke the current access token
- `upgrade_to_bot` — Upgrade to Bot account. WARNING: This is irreversible and the account must not have played any games.
- `add_user_note` — Add a private note about a user
- `send_message` — Send a private message to another player
- `get_following` — Get users followed by the logged in user
- `follow_user` — Follow a player
- `unfollow_user` — Unfollow a player
- `block_user` — Block a player
- `get_users_status` — Get real-time users status
- `get_all_top_10` — Get the top 10 players for each speed and variant
- `get_leaderboard` — Get the leaderboard for a single speed or variant
- `get_user_public_data` — Get public data of a user
- `get_rating_history` — Get rating history of a user for all perf types
- `get_user_performance` — Get performance statistics of a user
- `get_user_activity` — Get activity feed of a user
- `get_users_by_id` — Get multiple users by their IDs
- `unblock_user` — Unblock a user
- `export_game` — Export one game in PGN or JSON format
- `export_ongoing_game` — Export ongoing game of a user
- `export_user_games` — Export all games of a user
- `export_games_by_ids` — Export multiple games by IDs
- `get_tv_channels` — Get all TV channels and their current games
- `get_tv_game` — Get current TV game in PGN format
- `get_puzzle_activity` — Get your puzzle activity
- `get_puzzle_dashboard` — Get your puzzle dashboard
- `get_puzzle_race` — Get info about a puzzle race
- `create_puzzle_race` — Create a puzzle race
- `get_puzzle_storm_dashboard` — Get your puzzle storm dashboard
- `get_team_info` — Get team information by ID
- `get_team_members` — Get members of a team
- `get_team_join_requests` — Get join requests for a team
- `join_team` — Join a team
- `leave_team` — Leave a team
- `kick_user_from_team` — Kick a user from your team
- `accept_join_request` — Accept a join request for your team
- `decline_join_request` — Decline a join request for your team
- `search_teams` — Search for teams
- `make_board_move` — Make a move in a board game
- `abort_board_game` — Abort a board game
- `resign_board_game` — Resign a board game
- `write_in_chat` — Write in the chat of a board game
- `handle_draw_board_game` — Handle draw offers for a board game
- `claim_victory` — Claim victory if opponent abandoned the game
- `list_challenges` — List incoming and outgoing challenges
- `create_challenge` — Challenge another player
- `accept_challenge` — Accept an incoming challenge
- `decline_challenge` — Decline an incoming challenge
- `cancel_challenge` — Cancel an outgoing challenge
- `get_arena_tournaments` — Get current tournaments
- `create_arena` — Create a new arena tournament
- `get_arena_info` — Get info about an arena tournament
- `get_arena_games` — Get games of an arena tournament
- `get_arena_results` — Get results of an arena tournament
- `join_arena` — Join an arena tournament
- `withdraw_from_arena` — Withdraw from an arena tournament
- `get_team_battle_results` — Get results of a team battle tournament
- `create_swiss` — Create a new Swiss tournament
- `get_swiss_info` — Get info about a Swiss tournament
- `get_swiss_games` — Get games of a Swiss tournament
- `get_swiss_results` — Get results of a Swiss tournament
- `join_swiss` — Join a Swiss tournament
- `withdraw_from_swiss` — Withdraw from a Swiss tournament
- `get_current_simuls` — Get recently started simuls
- `create_simul` — Create a new simul
- `join_simul` — Join a simul
- `withdraw_from_simul` — Withdraw from a simul
- `export_study_chapter` — Export one study chapter in PGN format
- `export_all_study_chapters` — Export all chapters of a study in PGN format
- `get_user_studies` — Get studies created by a user
- `send_message` — Send a private message to another player
- `get_thread` — Get a message thread
- `get_official_broadcasts` — Get official broadcasts (TV shows)
- `get_broadcast` — Get a broadcast by its ID
- `get_broadcast_round` — Get one round of a broadcast
- `push_broadcast_round_pgn` — Push PGN to a broadcast round
- `get_cloud_eval` — Get cloud evaluation for a position
- `get_fide_player` — Get FIDE player information
- `search_fide_players` — Search FIDE players by name
- `get_ongoing_games` — Get your ongoing games (real-time and correspondence)

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get karayaman/lichess-mcp <tool-name>
```

## Prompts (1)

- `analyze_position` — Analyze the current position of a game

---

Source: https://github.com/karayaman/lichess-mcp | License: MIT
