使用说明
国际象棋mcp
chess-mcp 是一个基于Bun的模型上下文协议服务器,允许两个MCP客户端通过HTTP进行相同的象棋游戏。每个客户端以白色或黑色连接,以UCI符号提交动作,并可以阻止等待对手的回应。
它做什么
- 在内存中托管一个共享的国际象棋游戏。
- 默认情况下从战术自定义FEN开始。
- 每个玩家显示两个工具:
make_move和resign. - 保持长期MCP会话打开,以便转弯可以自然交替。
- 将服务器和游戏事件记录为结构化JSON行。
需求
- 包子 1.3+
安装
bun install
跑
bun run index.ts
服务器正在监听 PORT=3000 默认情况下。
配置
服务器支持以下环境变量:
PORT:要绑定的HTTP端口。FEN:游戏的起始位置。如果省略,服务器将使用内置的战术拼图位置。
例子:
PORT=4000 FEN='2r3k1/2q3p1/8/4p3/4P3/8/2Q3P1/2R3K1 w - - 0 1' bun run index.ts
HTTP端点
GET /:基本服务器信息和连接说明。POST /mcp?color=white:以白色开始新的MCP会话。POST /mcp?color=black:以黑色开始新的MCP会话。
现有会话的后续MCP请求必须包括 mcp-session-id 服务器传输返回的标头。
工具
make_move
- 用UCI的动作打电话
e2e4或e7e8q当轮到你的时候。 - 在不轮到你的时候,不动地打电话等待对手。
- 一旦可用,返回更新的棋盘状态或对手的移动。
resign
- 立即结束游戏。
- 向双方报告获胜者。
开发说明
- 服务器将游戏状态存储在内存中,因此重新启动进程会重置游戏。
- Git故意忽略运行时日志和本地匹配记录。
- 此仓库直接使用Bun;当地发展没有单独的建设步骤。