Token导航 LogoToken导航TokenDH.com
Stockfish MCP Server logo
运维云端stdio官方级别未说明来源级核验

Stockfish MCP Server

MCP Server

一个提供专业级国际象棋分析功能的MCP服务器,支持Stockfish和Leela Chess Zero引擎,适用于棋局分析、开局库查询和战术谜题生成。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

alegerber

提供方

alegerber

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -i chess-mcp-server

详细介绍

国际象棋引擎MCP服务器

模型上下文协议(MCP)服务器为AI助手提供专业级的国际象棋分析,使用 长筒鱼 (α-β)和可选 莉拉国际象棋零/Lc0 (神经网络)。两个引擎共享相同的工具界面,并在配置Lc0时并排运行。

特性

Stockfish工具(始终可用)

工具说明
sf_analyse_position分析任何位置(FEN→ 评估+最佳移动+顶线)
sf_analyse_game完整游戏分析(PGN→ 逐个移动评估,准确率%,错误计数)
sf_lookup_opening按名称或ECO代码搜索打开的数据库
sf_identify_opening从移动或PGN中识别开口
sf_generate_puzzle从位置生成战术谜题

Lc0工具(启用时 LC0_WEIGHTS_PATH 已设置)

工具说明
lc0_analyse_position用Lc0神经网络分析位置
lc0_analyse_game使用Lc0评估的完整游戏分析
lc0_generate_puzzle使用Lc0的评估生成战术谜题

快速开始

选项1:Docker(推荐)

# Stockfish only
docker build -t chess-mcp-server .
docker run -i chess-mcp-server

# With Lc0 (mount weights file)
docker run -i \
  -e LC0_WEIGHTS_PATH=/weights/lc0.pb.gz \
  -v /path/to/weights:/weights \
  chess-mcp-server

# Or with docker compose
docker compose up --build

选项2:本地Node.js

先决条件:Node.js 22+,已安装Stockfish二进制文件。

# Install Stockfish
# macOS:  brew install stockfish
# Ubuntu: sudo apt install stockfish
# Windows: download from https://stockfishchess.org/download/

# Install dependencies and build
npm install
npm run build

# Run (Stockfish only)
npm start

# Run with Lc0
LC0_WEIGHTS_PATH=/path/to/lc0.pb.gz npm start

配置

鱼类环境变量

变量默认值描述
STOCKFISH_PATHstockfishStockfish二进制文件的路径
STOCKFISH_THREADS2CPU线程数
STOCKFISH_HASH128哈希表大小(MB)

Lc0环境变量

变量默认值描述
LC0_WEIGHTS_PATH*(未设置)*通往a的道路 .pb.gz 权重文件-- 需要启用Lc0
LC0_PATHlc0Lc0二进制文件的路径
LC0_BACKEND*(自动)*Lc0后端: cuda, metal, cpu等等。
LC0_THREADS2Lc0的CPU线程数
LC0_HASH128Lc0的哈希表大小(MB)
注:depth Lc0工具的参数通过指数表在内部映射到节点计数(深度1处有100个节点→ 1 000 000 因为MCTS深度与α-β深度不可比。

Claude桌面集成

添加到您的 claude_desktop_config.json:

Docker(仅限Stockfish)

{
  "mcpServers": {
    "chess": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "chess-mcp-server"]
    }
  }
}

Docker(Stockfish+Lc0)

{
  "mcpServers": {
    "chess": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "LC0_WEIGHTS_PATH=/weights/lc0.pb.gz",
        "-v", "/path/to/weights:/weights",
        "chess-mcp-server"
      ]
    }
  }
}

本地Node.js

{
  "mcpServers": {
    "chess": {
      "command": "node",
      "args": ["/path/to/chess-mcp-server/dist/index.js"],
      "env": {
        "STOCKFISH_PATH": "stockfish",
        "STOCKFISH_THREADS": "2",
        "STOCKFISH_HASH": "256",
        "LC0_PATH": "lc0",
        "LC0_WEIGHTS_PATH": "/path/to/lc0.pb.gz"
      }
    }
  }
}

用法示例

长筒鱼

“分析此位置:rnbqkbnr/ppppppp/8/8/4P3/8/PPP1PPP/rnbqkbnr b KQkq-0 1”
“回顾这个游戏:1。e4 e5 2。Qh5 Nc6 3。Nf3 g6 4。Qh4 Be7。.."
“什么是任性的女王袭击?”
“什么是1。e4 e5 2。Nf3 Nc6 3。Bc4?"
“从这个位置创建一个战术谜题:\[FEN\]”

Lc0

“神经网络对这个位置有什么看法?”
“用Lc0分析这款游戏,并与Stockfish进行比较:1。e4 e5。.."
“在此位置使用Lc0查找战术:\[FEN\]”

建筑

src/
├── index.ts              # MCP server entry, tool registration (Stockfish + Lc0)
├── types.ts              # TypeScript interfaces (UciEngine, UciLine, UciScore, …)
├── constants.ts          # Thresholds, defaults, LC0_DEPTH_TO_NODES mapping
├── schemas/
│   └── index.ts          # Zod input validation schemas
├── services/
│   ├── engine.ts         # BaseUciEngine, StockfishEngine, Lc0Engine
│   ├── chess-utils.ts    # chess.js wrapper (PGN/FEN/SAN/openings)
│   └── formatting.ts     # Markdown output formatting
└── tools/
    ├── analyse-position.ts  # Single position analysis
    ├── analyse-game.ts      # Full game analysis + accuracy model
    ├── openings.ts          # Opening lookup & identification
    └── puzzle.ts            # Tactic puzzle generation

两台发动机均执行 UciEngine 接口,在工具层可互换——所有工具函数都接受 UciEngine 参数,所以 sf_*lc0_* 工具与不同的引擎实例共享相同的逻辑。

发展

npm install          # Install dependencies
npm run build        # Compile TypeScript → dist/
npm test             # Run unit tests (Vitest, ~125 tests)
npm run lint         # ESLint

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude云端部署国际象棋引擎本地部署AI分析棋局评估战术生成开局库

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP