README
🚀 填字游戏MCP服务器
本仓库是一个填字游戏辅助MCP服务器。它可以读取包含棋盘和线索定义的文本文件,实现候选词的注册、一致性检查以及最终棋盘的绘制等功能。
🚀 快速开始
必要环境
- Python 3.11 及以上版本
- uv
由于依赖项会通过 uv run 进行安装,因此无需提前手动使用 pip install 进行安装。
数据形式
- 棋盘文件 (
data/grid-*.txt)- 用全角数字标注行号和列号。
- 可输入的格子用全角的「?」表示。
- 黑色格子用全角的「#」表示。
- 线索文件 (
data/clue-*.txt)- 采用一行一条记录的 JSON Lines 格式。
- 需指定
id、direction("across"/"down")、row、col、length和clue所有字段。
data/ 文件夹中提供了示例棋盘和线索文件对。若要解决其他问题,请参考这些文件创建棋盘和线索文件。
提供工具
MCP 服务器提供以下工具(方法):
| 工具名 | 说明 |
| ---- | ---- |
| setup | 读取棋盘和线索定义,并初始化状态。 |
| register_candidates | 额外注册字符数匹配的候选词。现有候选词将保留,重复项将被忽略。 |
| get_candidates | 获取指定 clue_id 的候选词列表。 |
| search_consistent_sets | 全面搜索当前候选词中符合一致性的组合。 |
| render_solution | 将所有线索的答案(仅平假名)反映到棋盘上,并绘制格式化的棋盘。 |
| solve_crossword | 这是一个结合上述工具推进解题过程的提示。 |
Claude Code 注册与使用方法
要将本服务器添加到 Claude Code 中,请在项目根目录下执行以下命令:
claude mcp add crossword_tools --scope project -- uv run --with fastmcp fastmcp run src/server.py
(crossword_tools 是赋予此服务器的 MCP 名称,可根据需要进行更改)
注册完成后,在 Claude Code 中选择自定义斜杠命令 /crossword_tools,并指定棋盘和线索文件(或文本)作为参数。Claude Code 将按照提示自动进行状态初始化、候选词添加和一致性检查,若得出最终答案,还会绘制答案并生成报告。
/crossword_tools:solve_crossword (MCP) grid-001.txt clue-001.txt
📄 许可证
本仓库在 MIT 许可证下发布。
Scan to join WeChat group