返回市场
国际象棋-mcp

国际象棋-mcp

作者:karayaman10 星标更新:2025-04-30

项目介绍

Lichess MCP

smithery 徽章

使用自然语言与国际象棋平台Lichess进行交互。通过与Claude Desktop结合使用,可以玩游戏、分析位置以及管理你的国际象棋活动。

使用了模型上下文协议构建。

<a href="https://glama.ai/mcp/servers/x7iuw37s1v"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=3248717467,2851326416&fm=3081&app=31&f=PNG?w=760&h=400" alt="Lichess MCP 服务器" /> </a>

该服务器支持:

  • 管理你的Lichess账户
  • 下国际象棋游戏和挑战
  • 分析位置和游戏
  • 参加比赛和团队
  • 与其他玩家互动

配置

Lichess API令牌可以通过以下两种方式设置:

  1. 环境变量:在项目根目录下的.env文件中添加或直接设置:

    LICHESS_TOKEN=your-lichess-api-token
    
  2. 在运行时使用set_token工具:

    set_token({
      token: "your-lichess-api-token"
    });
    

令牌可以在 https://lichess.org/account/oauth/token 处生成。

可用工具

1. 账户管理

// 设置你的Lichess API令牌
set_token({
  token: "your-lichess-api-token"
});

// 获取你的Lichess个人资料
get_my_profile();

// 获取其他用户的个人资料
get_user_profile({
  username: "player_name",
  trophies: true  // 包括奖杯,可选
});

2. 游戏玩法

// 对另一个玩家发起挑战
create_challenge({
  username: "opponent_username",
  timeControl: "10+0",  // 10分钟,无加秒
  color: "random"       // 或 "white", "black"
});

// 在游戏中走一步
make_move({
  gameId: "abcd1234",
  move: "e2e4",
  offeringDraw: false
});

// 获取正在进行的游戏
get_ongoing_games({
  nb: 10  // 要获取的游戏数量
});

3. 游戏分析

// 导出游戏为PGN格式
export_game({
  gameId: "abcd1234",
  clocks: true,
  evals: true
});

// 获取某个位置的云评估
get_cloud_eval({
  fen: "rnbqkbnr/ppp1pppp/8/3p4/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 2"
});

4. 比赛

// 列出现有比赛
get_arena_tournaments();

// 加入比赛
join_arena({
  tournamentId: "abc123"
});

// 创建新比赛
create_arena({
  name: "我的比赛",
  clockTime: 3,
  clockIncrement: 2,
  minutes: 45
});

国际象棋符号

移动格式

Lichess API接受以下格式的移动:

  • UCI:通用国际象棋接口格式(例如,e2e4g8f6
  • SAN:标准代数符号(例如,e4Nf6)——仅适用于某些端点

FEN 格式

福斯-爱德华兹符号(FEN)用于表示国际象棋位置:

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1

这表示:

  • 从第8行到第1行的棋子位置
  • 当前行动颜色(w/b)
  • 可以王车易位(KQkq)
  • 可以吃过路兵的目标格子
  • 半步计时器
  • 全步编号

错误处理

服务器提供详细的错误消息,包括:

  • 无效的移动或位置
  • 认证问题
  • 速率限制
  • 资源未找到的情况

安装说明

通过 Smithery 安装

要通过 Smithery 自动安装 Lichess 集成到 Claude Desktop:

npx -y @smithery/cli install @karayaman/lichess-mcp --client claude

手动安装

  1. 克隆仓库:

    git clone https://github.com/karayaman/lichess-mcp.git
    cd lichess-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量: 在根目录创建一个 .env 文件:

    LICHESS_TOKEN=your-lichess-api-token
    
  4. 构建项目:

    npm run build
    
  5. 全局安装包(推荐用于 Claude Desktop 集成):

    npm install -g
    
  6. 启动服务器(用于独立使用):

    npm start
    

配置 Claude Desktop

要将此 MCP 服务器与 Claude Desktop 结合使用:

  1. 查找你的 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
  2. 将 Lichess MCP 服务器添加到配置中:

    {
      "mcpServers": {
        "lichess": {
          "command": "lichess-mcp",
          "env": {
            "LICHESS_TOKEN": "your-lichess-api-token",
            "DEBUG": "*"
          }
        }
      }
    }
    

    注意:将 your-lichess-api-token 替换为你实际的 Lichess API 令牌。DEBUG 环境变量是可选的,但有助于故障排除。

  3. (可选)你可以添加其他 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"
          }
        }
      }
    }
    
  4. 重新启动 Claude Desktop 以应用更改。

    • 确保完全关闭 Claude Desktop(包括系统托盘/菜单栏)
    • 再次启动 Claude Desktop
    • 查看界面中的锤子图标,表明 MCP 服务器已连接
  5. 通过询问 Claude 关于你的 Lichess 账户来测试集成:

    • "显示我的 Lichess 个人资料"
    • "开始一个新的国际象棋游戏,时间控制为10分钟"

故障排除

如果你遇到 MCP 服务器连接的问题:

  1. 确保你已经全局安装了包 npm install -g
  2. 验证 lichess-mcp 命令是否在你的 PATH 中可用(which lichess-mcp
  3. 检查你的配置文件是否有正确的格式(新的 mcpServers 格式而不是 mcp_servers
  4. 完全重新启动 Claude Desktop
  5. 尝试启用 Claude Desktop 的开发者模式(如果可用)以获得额外的日志
  6. 验证你的 Lichess API 令牌是否有效

参考资料