lichess语聊服务
一个MCP服务器,它 enables 与Lichess国际象棋平台的自然语言交互,使用户能够通过克劳德下棋、分析局面、管理账户以及参加比赛。 (注:原文中的“Claude”应为特定名称或模型名称,这里保留了其原名。如果需要调整,请进一步说明。)
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"filesystem": {
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
],
"command": "npx"
},
"lichess": {
"command": "lichess-mcp",
"env": {
"DEBUG": "*",
"LICHESS_TOKEN": "your-lichess-api-token"
}
}
}
}
该服务需要配置环境变量:LICHESS_TOKEN
服务介绍
Lichess MCP
用自然语言与Lichess交流,以互动方式使用这个国际象棋平台。通过Claude Desktop可以进行游戏、分析局面以及管理你的国际象棋活动。
该项目基于Model Context Protocol构建。
该服务器支持:
- 管理您的Lichess账户
- 进行国际象棋对局和挑战
- 分析局面和对局
- 加入锦标赛和团队
- 与其他玩家互动
配置
可以通过两种方式设置Lichess API令牌:
-
环境变量:在项目根目录下的
.env文件中添加它或直接设置:LICHESS_TOKEN=your-lichess-api-token -
在运行时使用
set_token工具:set_token({ token: "your-lichess-api-token" });
可以在https://lichess.org/account/oauth/token生成令牌。
可用工具
1. 账户管理
// Set your Lichess API token
set_token({
token: "your-lichess-api-token"
});
// Get your Lichess profile
get_my_profile();
// Get another user's profile
get_user_profile({
username: "player_name",
trophies: true // include trophies, optional
});
2. 对局
// Create a challenge against another player
create_challenge({
username: "opponent_username",
timeControl: "10+0", // 10 minutes, no increment
color: "random" // or "white", "black"
});
// Make a move in a game
make_move({
gameId: "abcd1234",
move: "e2e4",
offeringDraw: false
});
// Get your ongoing games
get_ongoing_games({
nb: 10 // number of games to fetch
});
3. 对局分析
// Export a game in PGN format
export_game({
gameId: "abcd1234",
clocks: true,
evals: true
});
// Get cloud evaluation for a position
get_cloud_eval({
fen: "rnbqkbnr/ppp1pppp/8/3p4/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2"
});
4. 锦标赛
// List current tournaments
get_arena_tournaments();
// Join a tournament
join_arena({
tournamentId: "abc123"
});
// Create a new tournament
create_arena({
name: "My Tournament",
clockTime: 3,
clockIncrement: 2,
minutes: 45
});
国际象棋记谱法
行棋格式
Lichess API接受以下格式的行棋:
- UCI:通用国际象棋接口格式(例如,
e2e4,g8f6) - SAN:标准代数记谱法(例如,
e4,Nf6)- 仅适用于某些端点
FEN 格式
Forsyth-Edwards Notation (FEN) 用于表示国际象棋局面:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
这表示:
- 棋子位置(从第8行到第1行)
- 当前行动方颜色(白/黑)
- 堡垒权可用性(KQkq)
- 过路兵目标格
- 半步计时器
- 完整步数
错误处理
服务器提供详细的错误信息,包括:
- 无效的走法或局面
- 认证问题
- 速率限制
- 资源未找到的情况
设置说明
-
克隆仓库:
git clone https://github.com/karayaman/lichess-mcp.git cd lichess-mcp -
安装依赖项:
npm install -
配置环境变量:
在根目录下创建一个.env文件:LICHESS_TOKEN=your-lichess-api-token -
构建项目:
npm run build -
全局安装包(推荐用于Claude Desktop集成):
npm install -g -
启动服务器(独立使用):
npm start
配置 Claude Desktop
要将此MCP服务器与Claude Desktop一起使用:
-
找到你的 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
将 Lichess MCP 服务器添加到你的配置中:
{ "mcpServers": { "lichess": { "command": "lichess-mcp", "env": { "LICHESS_TOKEN": "your-lichess-api-token", "DEBUG": "*" } } } }注意:将
your-lichess-api-token替换为你的实际 Lichess API 令牌。DEBUG环境变量是可选的,但有助于故障排除。 -
(可选)你也可以添加其他 MCP 服务器:
{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/Users/username/Downloads" ] }, "lichess": { "command": "lichess-mcp", "env": { "LICHESS_TOKEN": "your-lichess-api-token" } } } } -
重启 Claude Desktop 以应用更改。
- 确保完全关闭 Claude Desktop(包括从系统托盘/菜单栏)
- 再次启动 Claude Desktop
- 在界面中查找锤子图标,这表示 MCP 服务器已连接
-
通过询问 Claude 有关你的 Lichess 账户的信息来测试集成:
- “显示我的 Lichess 个人资料”
- “开始一个新的 10 分钟时间控制的棋局”
故障排除
如果你遇到 MCP 服务器连接问题:
- 确保你已使用
npm install -g全局安装了包 - 验证
lichess-mcp命令在你的 PATH 中可用(which lichess-mcp) - 检查你的配置文件格式是否正确(使用较新的
mcpServers格式而不是mcp_servers) - 完全重启 Claude Desktop
- 尝试启用 Claude Desktop 的开发者模式(如果可用)以获取额外的日志
- 验证你的 Lichess API 令牌是否有效