填字游戏辅助服务器

一个用于读取填字游戏盘面和提示定义文件,支持候选词注册、一致性检查和最终盘面绘制的服务器工具。

  • by watamoo
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 watamoo/mcp-crossword-tools

使用说明

填字游戏 MCP 服务器

此仓库是支持填字游戏的MCP服务器。它可以读取包含棋盘和线索定义的文本文件,并执行候选词的注册、一致性检查以及最终棋盘的绘制等功能。

必要环境

依赖关系是 uv run 因为会通过途径安装,所以需事先手动 pip install 没有必要。

数据格式

  • 网格(data/grid-*.txt)
    • 用全角数字标注行和列的编号
    • 可输入的格子是全角的“?”
    • 黑格子用全角的“#”表示
  • 钥匙data/clue-*.txt)
    • 每行一条记录的JSON Lines格式
    • id, direction ("across" / "down") row, col, length, clue 全部指定

data/文件夹中记录了示例的grid和clue配对。如果想解其他问题,请参考此文件创建grid和clue文件。

提供工具

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 许可证下提供。