这是一个用于链接人工智能与国际象棋引擎Stockfish的桥梁。借助Model Context Protocol(MCP)协议,它让你的AI能够与强大的Stockfish进行“对话”,让国际象棋分析变得更加便捷。
🧠⚡🖥️ 大语言模型思考,Stockfish计算,你只需假装理解那长达15步的战术序列。
git clone https://github.com/sonirico/mcp-stockfish
cd mcp-stockfish
make install
# 默认模式 (标准输入输出,老派风格)
mcp-stockfish
# 指定Stockfish路径
MCP_STOCKFISH_PATH=/your/special/stockfish mcp-stockfish
# HTTP模式 (适用于Web场景)
MCP_STOCKFISH_SERVER_MODE=http mcp-stockfish
| 命令 | 描述 |
|---|---|
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 |
关闭会话 |
| 属性 | 详情 |
|---|---|
| 服务器模式 | MCP_STOCKFISH_SERVER_MODE:可选值为 "stdio" 或 "http"(默认:"stdio") |
| HTTP主机 | MCP_STOCKFISH_HTTP_HOST:HTTP主机地址(默认:"localhost") |
| HTTP端口 | 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(可选,若未提供则自动生成){
"status": "success|error",
"session_id": "some-uuid",
"command": "what you asked for",
"response": ["what stockfish said"],
"error": "what went wrong (if anything)"
}
会话具备以下功能:
{
"mcpServers": {
"chess": {
"command": "mcp-stockfish",
"env": {
"MCP_STOCKFISH_LOG_LEVEL": "info"
}
}
}
}
make deps # 获取依赖
make build # 构建项目
make test # 运行测试(若有)
make fmt # 格式化代码
本项目基于 mark3labs/mcp-go 构建,借助其实现了MCP协议的处理,避免了重复造轮子。
本项目采用MIT许可证,你可以自由使用,但出现问题时请不要责怪作者。
本项目由 Stockfish 提供支持,这是一个比我们所有人都强大的国际象棋引擎。感谢以下团队和项目: