使用说明
国际象棋联合会
MCP(模型上下文协议)服务器,提供对 Chess.com发布数据API 和那个 地衣API。这使LLM能够从两个平台查找玩家资料、游戏历史、统计数据、俱乐部、锦标赛、谜题、排行榜等。
工具
Chess.com(29工具)
| 工具 | 说明 |
|---|---|
get_player_profile |
获取玩家的个人资料(用户名、头衔、FIDE、状态等) |
get_player_stats |
获取所有游戏类型的玩家评分和赢/输/平局记录 |
is_player_online |
检查玩家当前是否在线 |
get_current_daily_games |
获取玩家当前正在玩的每日国际象棋游戏 |
get_games_to_move |
在轮到玩家的地方进行日常游戏 |
get_game_archives |
列出玩家每月可用的游戏档案 |
get_monthly_archives |
获取特定月份的所有游戏 |
get_monthly_archive_pgn |
将一个月的游戏作为单个PGN文档获取 |
get_player_clubs |
获得球员所属的俱乐部 |
get_player_tournaments |
获取玩家的锦标赛历史记录 |
get_player_matches |
获取球员的球队比赛历史记录 |
get_titled_players |
列出具有特定标题的玩家(GM、IM、FM等);分页 offset/limit |
get_club_profile |
获取俱乐部的个人资料信息 |
get_club_members |
按活动级别获取俱乐部成员 |
get_club_matches |
获取俱乐部的团队比赛 |
get_tournament |
获取锦标赛详细信息 |
get_tournament_round |
获取锦标赛回合的详细信息 |
get_tournament_round_group |
获取锦标赛回合组的详细信息 |
get_team_match |
获取每日球队比赛详情 |
get_team_match_board |
从每日团队比赛中获取特定的棋盘 |
get_live_team_match |
获取球队实时比赛详情 |
get_live_team_match_board |
从现场团队比赛中获取特定的棋盘 |
get_country_profile |
获取一个国家的个人资料 |
get_country_players |
列出一个国家的球员;分页 offset/limit |
get_country_clubs |
列出一个国家的俱乐部;分页 offset/limit |
get_daily_puzzle |
获取今天的每日谜题 |
get_random_puzzle |
获取一个随机谜题 |
get_streamers |
列出Chess.com流媒体 |
get_leaderboards |
获取所有游戏类型的排行榜 |
Liches(54个工具,+1个 LICHESS_TOKEN)
| 工具 | 说明 |
|---|---|
lichess_get_user |
获取用户的个人资料、所有变体的评级、游戏计数和简介 |
lichess_get_user_status |
检查用户是否在线、播放或流媒体(最多100个) |
lichess_get_rating_history |
通过每日数据点获取所有变体的评级历史 |
lichess_get_perf_stats |
获取详细的性能统计数据:最佳胜利、最差失败、连胜 |
lichess_get_user_activity |
获取最近的活动:游戏、锦标赛、练习等。 |
lichess_get_user_games |
使用可选滤镜(评级、变体、颜色)获取最近的游戏; format: pgn 对于原始PGN |
lichess_get_game |
通过8个字符的ID获取特定游戏; format: pgn 对于原始PGN |
lichess_get_current_game |
获取用户当前正在进行的游戏或上次玩过的游戏 |
lichess_get_leaderboards |
获得所有变种的前10名玩家 |
lichess_get_leaderboard |
获得特定变体/速度的前N名玩家 |
lichess_get_daily_puzzle |
获取包含解决方案和主题的每日谜题 |
lichess_get_puzzle |
按ID获取特定谜题 |
lichess_get_next_puzzle |
获得一个新的谜题,可选择按主题/难度 |
lichess_get_storm_dashboard |
获取用户的Puzzle Storm统计数据 |
lichess_get_team |
获取团队的个人资料、描述和成员数量 |
lichess_search_teams |
按名称搜索团队 |
lichess_get_user_teams |
获取用户所属的所有团队-- 仅在以下情况下注册 LICHESS_TOKEN 已设置,因为 /api/team/of 仅限OAuth |
lichess_get_team_members |
获取Lichess团队的成员 |
lichess_get_popular_teams |
列出最受欢迎的球队(分页) |
lichess_get_team_swiss_tournaments |
列出一支球队的瑞士锦标赛 |
lichess_get_team_arena_tournaments |
列出球队的竞技场锦标赛 |
lichess_get_current_tournaments |
获取当前比赛日程 |
lichess_get_tournament |
获取特定竞技场锦标赛的详细信息 |
lichess_get_user_tournaments |
获取用户参加过的锦标赛 |
lichess_get_tv_channels |
获取每个电视频道的特色游戏 |
lichess_get_tv_games |
从特定电视频道获取最佳正在进行的游戏 |
lichess_get_streamers |
在Twitch和YouTube上获取当前直播流媒体 |
lichess_get_crosstable |
获取两个用户之间的正面记录 |
lichess_get_cloud_eval |
获取FEN职位的云引擎评估 |
lichess_get_fide_player |
通过数字ID(姓名、联盟、头衔、评级)查找FIDE球员 |
lichess_search_fide_players |
按名字搜索FIDE球员 |
lichess_autocomplete_players |
从部分术语中解析/消除Liches用户名的歧义 |
lichess_export_games_by_ids |
按ID列表(JSON或PGN)一次导出多个游戏 |
lichess_get_users |
按用户名列表一次获取多个用户(简洁摘要) |
lichess_get_swiss |
获取瑞士锦标赛的信息(状态、轮次、时钟、球员) |
lichess_get_swiss_results |
获得瑞士锦标赛的最终排名(前100名) |
lichess_get_swiss_games |
导出瑞士锦标赛的游戏(JSON或PGN) |
lichess_export_swiss_trf |
以FIDE TRF(x)格式导出瑞士锦标赛 |
lichess_get_tournament_results |
获得竞技场锦标赛的最终排名(前100名) |
lichess_get_tournament_teams |
获得球队对战竞技场的每支球队排名 |
lichess_get_tournament_games |
导出竞技场锦标赛的游戏(JSON或PGN) |
lichess_get_simuls |
列出当前同期展览(simul) |
lichess_get_user_studies |
列出用户的公共研究(元数据) |
lichess_export_study_pgn |
将整个公共研究导出为PGN(所有章节) |
lichess_export_study_chapter_pgn |
将单个研究章节导出为PGN |
lichess_get_broadcasts |
列出官方广播(现场锦标赛转播) |
lichess_get_top_broadcasts |
列出特色广播(活动/即将/过去) |
lichess_get_broadcasts_by_user |
列出用户创建的广播 |
lichess_get_broadcast |
获取广播锦标赛的元数据和轮次 |
lichess_get_broadcast_round |
以JSON格式获取广播回合的游戏/玩家 |
lichess_get_broadcast_round_pgn |
获取广播轮次的PGN直播 |
lichess_get_broadcast_pgn |
以单个PGN的形式获得整个广播锦标赛 |
lichess_opening_explorer |
在打开资源管理器中查找位置(masters/lichess/player) |
lichess_get_masters_game_pgn |
从Opening Explorer获取OTB主游戏的PGN |
lichess_tablebase |
FEN(标准/原子/反码)的残局表库查找(WDL/DTZ/DTM) |
安装
无需克隆或构建--使用以下命令运行已发布的包 npx.
克劳德代码
claude mcp add chess-mcp -- npx -y chess-com-lichess-org-mcp
克劳德桌面版
将以下内容添加到您的配置中(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"chess-mcp": {
"command": "npx",
"args": ["-y", "chess-com-lichess-org-mcp"]
}
}
}
来源(开发)
npm install
npm run build
然后将MCP配置指向构建的入口点-- command: node, args: ["/absolute/path/to/chess-com-lichess-org-mcp/dist/index.js"].
可选:Lichess OAuth令牌
服务器是 默认情况下为零配置和无身份验证 --上面的每个工具(除了一个)都会访问公共端点,不需要登录。
少数Lichess端点仅支持OAuth。要启用需要它们的工具,请设置 LICHESS_TOKEN 环境变量为a Lichess个人访问令牌 (不需要范围 /api/team/of):
{
"mcpServers": {
"chess-mcp": {
"command": "npx",
"args": ["-y", "chess-com-lichess-org-mcp"],
"env": { "LICHESS_TOKEN": "lip_xxxxxxxxxxxx" }
}
}
}
- 设置后,令牌将按以下方式发送
Authorization: Bearer <token>仅在lichess.org请求: (切勿访问单独的Opening Explorer/Tablebase主机),以及lichess_get_user_teams已注册。 - 未设置时,行为不变:仅标记的工具根本不在工具列表中,所有公共工具都像以前一样工作。
用法示例
配置后,您可以询问LLM以下问题:
Chess.com:
- “Hikaru的Chess.com评分是多少?”
- “在Chess.com上给我看看马格努斯·卡尔森最近的闪电战游戏”
- “谁是Chess.com排行榜上的顶级玩家?”
- “获取今天的Chess.com每日谜题”
- “在Chess.com上列出所有大师”
巫妖:
- “显示Nykterstein博士的Lichess简介”
- “Nykterstein博士和Firouzja2003在Lichess上的正面交锋记录是什么?”
- “获取Lichess每日谜题”
- “Lichess上最顶尖的子弹手是谁?”
- “Lichess TV目前有哪些游戏?”
- “获取此位置的云评估:rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/rnbqkbnr b KQkq-0 1”
跨平台:
- “比较Hikaru在Chess.com和Lichess上的评分”
- “从Chess.com和Lichess获取今天的每日谜题”
备注
- 这两个API都是只读的,可以免费使用。公共端点不需要API密钥;可选
LICHESS_TOKEN解锁一些仅限OAuth的Lichess阅读。 - Chess.com:速率限制适用于并行请求。数据可以缓存长达12-24小时。
- 巫妖:请求是连续的(一次一个)。429响应意味着您应该等待约1分钟。游戏将流导出为NDJSON或pass
format: pgn到lichess_get_game/lichess_get_user_games用于准备发动机分析的原始PGN。