将棋MCP服务器是将棋AI引擎的HTTP API桥接器以及MCP(Model Context Protocol)服务器的实现。它将现有的LLM与USI形式的将棋AI进行整合,是一个用于让AI给出指手说明的示例程序。
这个项目将原生的将棋引擎二进制文件进行封装,提供以下两个接口:
# 克隆仓库
git clone
cd shogi-mcp
# 安装依赖
npm install
engine/engine 路径下。eval/nn.bin 路径下。在 claude_desktop_config.json 中添加以下内容:
"mcpServers": {
"shogi-mcp": {
"command": "这里添加node的完整路径",
"args": ["这里添加mcp-server.mjs的完整路径"],
"env": {
"REST_BASE": "http://localhost:8787"
}
}
}
npm run start:bridge
默认在端口8787启动。
sfen(必需):SFEN格式的局面。depth:搜索深度(默认值:30,最大值:30)。multipv:候选手的数量(默认值:10,最大值:10)。threads:使用的线程数(默认值:1,最大值:8)。forceMove:指定走某一步后分析局面。示例:
curl "http://localhost:8787/analyze?sfen=lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL%20b%20-%201&depth=20&multipv=5"
npm run start:mcp
MCP服务器通过标准输入输出进行通信,提供以下工具:
ping:用于连通性检查。analyze:对局面进行全面分析(MultiPV)。eval_at:评估特定走法后的局面。| 属性 | 详情 |
|---|---|
ENGINE_PATH |
将棋引擎的路径,默认值为 ./engine/engine |
PORT |
桥接服务器的端口,默认值为 8787 |
REST_BASE |
MCP服务器使用的桥接API的基础URL,默认值为 http://localhost:8787 |
DEBUG |
启用引擎通信的调试日志("1"表示启用) |
EVAL_FILE |
评估函数文件的路径 |
EVAL_DIR |
评估函数目录的路径 |
shogi-mcp/
├── src/
│ ├── core/
│ │ └── engine.js # USI协议引擎包装器
│ └── servers/
│ ├── bridge-server.js # Express HTTP API桥接服务器
│ └── mcp-server.mjs # MCP服务器实现
├── engine/
│ └── engine # 将棋引擎二进制文件
├── eval/
│ └── nn.bin # 评估函数(NNUE实现)
├── package.json
└── README.md
桥接API的测试示例:
# 健康检查
curl http://localhost:8787/health
# 初始局面分析
curl "http://localhost:8787/analyze?sfen=startpos&depth=15&multipv=3"
请在环境变量中明确指定路径:
EVAL_FILE=./eval/nn.bin EVAL_DIR=./eval npm run start:bridge
chmod +x engine/engine
ENGINE_PATH=/path/to/engine npm run start:bridge
本项目采用MIT许可证。