sonirico/mcp-stockfish

分类General
作者Community
星标439
定价Free

简介

mcp-stockfish 是一个将 AI 助手与顶级国际象棋引擎 Stockfish 连接的 MCP 服务端。它让 LLM 不再仅凭概率预测走法,而是能实时调用专业的棋谱分析能力。无论是分析复杂局面、验证战术正确性,还是在对局中寻求最优解,开发者只需将其接入支持 MCP 的客户端(如 Claude Desktop),即可让 AI 拥有一个“专业棋手”的插件大脑。该工具配置简单,适合棋类爱好者或希望在 AI 应用中集成精准博弈分析的开发者。

核心亮点

  • 将 AI 聊天能力与 Stockfish 专业引擎深度结合
  • 实时分析棋局,提供客观且精准的最优走法
  • 通过 MCP 标准协议实现快速部署与跨平台接入
  • 消除 LLM 在复杂棋局中的幻觉,确保走法合法

完整文档

mcp-stockfish 🐟

一个让你的 AI 与 Stockfish 对话的 Model Context Protocol 服务器。显然,我们需要让这些硅基主宰们更方便地使用国际象棋引擎。

!Claude Desktop with mcp-stockfish

> 🧠⚡🖥️ *你的 LLM 在思考,Stockfish 在计算,而你则在假装能看懂随之而来的 15 步战术序列。*

这是什么?

它通过 MCP 协议在 AI 系统和 Stockfish 国际象棋引擎之间建立了一座桥梁。它支持多个并发会话,因为当你在苦思为什么你的马被白吃时,你的 AI 可能想同时分析 17 个局面。

基于 mark3labs/mcp-go 构建。因为重新造轮子是时间太多的人干的事。

功能特性

  • 🔄 并发会话:运行多个 Stockfish 实例而不会让你的 CPU 崩溃
  • ⚡ 全面支持 UCI:提供所有你需要的命令,剔除所有不需要的
  • 🎯 真正可用:与你的上一个侧边项目不同,这个项目有完善的错误处理
  • 📊 全 JSON 化:因为显然我们现在不能只使用纯文本了
  • 🐳 支持 Docker:容器化部署,以防你不可避免地搞坏本地环境

支持的 UCI 命令 ♟️| Command | Description |

| -------------------- | ------------------------------------------------------------------------------ | | uci | 以 UCI 模式初始化引擎 | | isready | 检查引擎是否就绪。返回 readyok | | position startpos | 将棋盘设置为初始位置 | | position fen [FEN] | 使用 FEN 记法设置位置 | | go | 启动引擎计算最佳走法 | | go depth [n] | 搜索 n 层深度。示例:go depth 10 | | go movetime [ms] | 在固定的毫秒时间内思考。示例:go movetime 1000 | | stop | 停止当前搜索 | | quit | 关闭会话 |

Quick Start

Installation
bash
git clone https://github.com/sonirico/mcp-stockfish

cd mcp-stockfish make install
### 使用方法
bash
# Default mode (stdio, because we're old school)
mcp-stockfish

With custom Stockfish path (for the special snowflakes)

MCP_STOCKFISH_PATH=/your/special/stockfish mcp-stockfish

HTTP mode (for the web-scale crowd)

MCP_STOCKFISH_SERVER_MODE=http mcp-stockfish
## 配置 ⚙️

环境变量

#### Server 配置

  • MCP_STOCKFISH_SERVER_MODE: "stdio" 或 "http" (默认值: "stdio")
  • MCP_STOCKFISH_HTTP_HOST: HTTP 主机 (默认值: "localhost")
  • MCP_STOCKFISH_HTTP_PORT: HTTP 端口 (默认值: 8080)

#### Stockfish 🐟 配置

  • MCP_STOCKFISH_PATH: Stockfish 二进制文件路径 (默认值: "stockfish")
  • MCP_STOCKFISH_MAX_SESSIONS: 最大并发会话数 (默认值: 10)
  • MCP_STOCKFISH_SESSION_TIMEOUT: 会话超时时间 (默认值: "30m")
  • MCP_STOCKFISH_COMMAND_TIMEOUT: 命令超时时间 (默认值: "30s")

#### 日志

  • MCP_STOCKFISH_LOG_LEVEL: debug, info, warn, error, fatal
  • MCP_STOCKFISH_LOG_FORMAT: json, console
  • MCP_STOCKFISH_LOG_OUTPUT: stdout, stderr

工具参数

  • command: 要执行的 UCI 命令
  • session_id: 会话 ID (可选,若不提供则自动生成)

响应格式
json
{

"status": "success|error", "session_id": "some-uuid", "command": "what you asked for", "response": ["what stockfish said"], "error": "what went wrong (if anything)" }
## 会话管理

Session 的功能符合预期:

集成

Claude Desktop
json
{

"mcpServers": { "chess": { "command": "mcp-stockfish", "env": { "MCP_STOCKFISH_LOG_LEVEL": "info" } } } }## 开发
bash
make deps     # Get dependencies
make build    # Build the thing
make test     # Run tests (when they exist)
make fmt      # Make it pretty
## Credits 🐟

Stockfish 提供支持,这个 chess engine 比我们两个加起来还要强。由真正懂 chess 的人创建,不像这个 wrapper。

感谢:

License

MIT - 随你怎么用,但坏了别赖我。

查看官方来源