国际象棋服务器

MCP国际象棋服务器允许用户与任何大型语言模型(LLM)进行国际象棋对弈,并提供棋盘可视化、走棋验证和PGN分析等功能。

  • by jiayao
  • Python
  • 本地部署
  • 24 星标
  • 更新于
在 GitHub 查看 jiayao/mcp-chess

使用说明

MCP象棋服务器

这个MCP让你和任何LLM下棋。

安装

要使用此国际象棋服务器,请将以下配置添加到MCP配置中:

{
  "mcpServers": {
    "chess": {
      "command": "uvx",
      "args": [
        "mcp-chess"
      ]
    }
  }
}

用法

玩游戏:

在PGN中找到一个职位进行游戏分析:

可用工具

服务器提供以下工具:

  • get_board_visualization():以图像形式提供棋盘的当前状态。电路板方向会根据用户指定的颜色自动翻转。
  • get_turn():表示轮到谁(“白色”或“黑色”)。
  • get_valid_moves():以UCI记数法列出当前玩家的所有合法移动(例如“e2e4”、“g1f3”)。如果游戏结束,则返回空列表。
  • make_move(move_san: str):使用标准代数符号(SAN)在板上移动(例如,“e4”、“Nf3”、“Bxe5”)。返回SAN和UCI中的移动、新板FEN和游戏状态。
  • new_game(user_plays_white: bool = True):开始新游戏,重置棋盘。默认情况下,用户播放白色。为电路板方向设置用户的颜色。返回确认消息。
  • find_position_in_pgn(pgn_string: str, condition: str):在匹配条件的PGN字符串中查找第一个板位置(例如“a3上的bishop”),并返回该板状态的图像。条件格式为“square_name上的piece_type”。有效的棋子类型有“典当”、“骑士”、“主教”、“鲁克”、“女王”、“国王”。