BetterChess

Chess MCP for Claude: engine analysis, attack maps, game review. One URL, no install.

我该使用它吗

质量与安全性

A
描述质量
95%
模式完整度
78%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~944token 数(工具定义)
~1.2 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.74%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "betterchess": {
      "url": "https://mcp.betterchess.co"
    }
  }
}

远程端点

https://mcp.betterchess.costreamable-http

它能做什么

工具清单

工具(4)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢chess_analyse(fen, pgn, moves, multipv, considering, ...)

Returns an engine evaluation of a chess position: the strongest candidate moves with their scores, and the position's checkable facts — side to move, whether that side is in check, undefended pieces and the pieces attacking them, and the material balance. Accepts a FEN, a PGN, or a list of SAN moves from the starting position. Also reports what the OPPONENT would play if it were their turn, which is the difference between a position being quiet and merely looking quiet. Pass `considering` with a move you are thinking of playing and it returns what that move actually walks into — a losing move is usually not in the top candidates, so asking about it directly is the only way to find out.

输入模式

{
  "type": "object",
  "properties": {
    "fen": {
      "type": "string",
      "description": "FEN of the position."
    },
    "pgn": {
      "type": "string",
      "description": "PGN; the position after the final move is used."
    },
    "moves": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "SAN moves from the start, e.g. [\"e4\",\"e5\"]."
    },
    "multipv": {
      "type": "number",
      "description": "How many candidate moves (1-5, default 3)."
    },
    "considering": {
      "type": "string",
      "description": "A move you are thinking of playing, in SAN, e.g. \"Ng5\". Returns the evaluation after it and the line that refutes it."
    },
    "traps": {
      "type": "boolean",
      "description": "Also scan the captures and checks available to the side to move and return the ones that lose, each with its refutation. Slower — several extra searches."
    }
  }
}
🟢chess_attacks(fen, pgn, moves, square)

Returns the exact list of squares attacked by the piece standing on a given square in a chess position, together with that piece's type and colour. Returns an empty list when the square is unoccupied. Accepts a FEN, a PGN, or a list of SAN moves from the starting position.

输入模式

{
  "type": "object",
  "properties": {
    "fen": {
      "type": "string",
      "description": "FEN of the position."
    },
    "pgn": {
      "type": "string",
      "description": "PGN; the position after the final move is used."
    },
    "moves": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "SAN moves from the start, e.g. [\"e4\",\"e5\"]."
    },
    "square": {
      "type": "string",
      "description": "The square, e.g. \"d5\"."
    }
  },
  "required": [
    "square"
  ]
}
🟢chess_rig

Returns the JavaScript source of the in-page coaching rig for a chess.com bot game, to be run in that page by the browser's javascript tool. Once running, the page exposes window.__coachWait(ms) (resolves with events and board status), window.__coachWatch.status() (moves, fen, turn, myTurn, result) and window.__coach (beginDraw, play, dashed, label, step, say) for drawing on the board. Also returns the rig version and the URL of the chess.com bot surface.

输入模式

{
  "type": "object",
  "properties": {}
}
🟢chess_review(pgn, moves, colour, threshold)

Replays a finished game ply by ply with the engine and returns the moves where the evaluation swung by more than a threshold (default 1.5 pawns). Each entry gives the move number, the side that moved, the move played, the engine's preferred move, the size of the swing in pawns, the evaluation before and after, and the FEN of the resulting position. Accepts a PGN or a list of SAN moves, and can be filtered to one colour. Long games are truncated at 60 plies.

输入模式

{
  "type": "object",
  "properties": {
    "pgn": {
      "type": "string",
      "description": "The finished game as PGN."
    },
    "moves": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Or SAN moves from the start."
    },
    "colour": {
      "type": "string",
      "description": "\"white\" or \"black\" — whose mistakes to report. Default both."
    },
    "threshold": {
      "type": "number",
      "description": "Swing in pawns that counts as a turning point. Default 1.5."
    }
  }
}

社区

评价此服务器

证据

最近观测

已验证未记录版本4 个工具
已验证未记录版本4 个工具