puzzletide-mcp

puzzletide-mcp

MCP server for puzzle generation: word search generator, crossword generator, and sudoku generator + solver, with printable PDF worksheets, themed word banks, and verifiable LLM evals. Works with Claude Desktop, Cursor, Windsurf, and any Model Context Protocol client. From the makers of puzzletide.com.

Category
访问服务器

README

<!-- Keyword rationale (d4s / DataForSEO, 2026-07-16, google en): word search generator 33,100/mo KD37 · word search maker 33,100 KD40 · sudoku solver 40,500 KD41 sudoku generator 1,000 KD9 · sudoku puzzle generator 170 KD10 · crossword generator 12,100 KD51 printable word search 18,100 KD5 · printable sudoku puzzles 4,400 KD15 · expert sudoku 2,400 KD0 daily sudoku 27,100 KD37 · hangman game 40,500 KD35 · llm evals 480 KD28 Dev modifiers (cli/npm/javascript/github variants) are all ≤10/mo — the surfaces that matter are GitHub search, npm search, and Google snippets of the repo page, all of which read the repo description, package.json description/keywords, and README H1/H2s. Contiguous phrases to keep intact: "word search generator", "crossword generator", "sudoku generator", "sudoku solver", "printable word search", "printable sudoku", "expert sudoku", "daily sudoku", "LLM evals", "puzzle generator CLI", "MCP server". Top-page deep links (GSC 2026-07, by clicks): mystery-and-murder printable word search (237), /hangman (25), /printable (10), dyslexic-friendly blog post (9), /maker (4). Banned claims (not shipped): word search solver, crossword solver, anagram solver (word tools search only the 30 starter banks), MCP server, PNG output, AI clue generation, nonograms/cryptograms, speed guarantees for expert sudoku, "full English dictionary". IP rule: the package ships only the 30 generic starter themes in scripts/wordbanks-source.json — NEVER include or reference-compile the proprietary puzzletide.com word bank dataset here. -->

PuzzleTide CLI — word search, crossword & sudoku generator

npm package Docs Agent skills smithery badge License: MIT

Word search generator, crossword generator, and sudoku generator + solver in one local-first puzzle generator CLI — with printable PDF worksheets, starter word banks, verifiable LLM evals, and bundled agent skills. From the makers of puzzletide.com.

Install

npm install -g puzzletide
ptide --version

The package installs both binaries:

  • ptide
  • puzzletide

Why generate puzzles with a CLI

Ask a language model to write a word search and you get a grid where half the words are broken; ask it for a sudoku and you usually get one with several solutions, or none. Grids are exactly the kind of output LLMs are bad at and deterministic code is good at.

PuzzleTide CLI is that deterministic code:

  • Every word search word is placed and verifiable — placement coordinates are part of the output, and the generators are property-tested.
  • Every generated sudoku is checked to have exactly one solution.
  • Every crossword is validated against its own clues before it's returned.
  • Same --seed in, same puzzle out, on any machine.

The package also ships SKILL.md agent skills, so coding agents (Pi, Hermes, OpenClaw, and other SKILL.md-based systems) reach for the CLI instead of hand-writing grids.

Command model

ptide <namespace> <operation> [input] [options]   # for humans
ptide run <tool-id> [input] [options] --json      # canonical, for scripts/agents
ptide tools list | search <q> | info <id> | docs <id>
ptide agent manifest

Use short commands interactively and canonical tool ids in automation:

ptide sudoku generate --difficulty hard
ptide run puzzle.sudoku.generate --difficulty hard --json

Word search generator

Eight placement directions with easy/medium/hard presets, auto-sized grids (6–30), accent/space/hyphen normalization. Words come from flags, files, or bundled themes:

# Word search from your own words, printed in the terminal
ptide wordsearch generate --words "coral,shark,kelp,wave,tide"

# Themed printable word search (puzzle page + solution page)
ptide wordsearch generate --theme animals/ocean-animals --pdf ocean.pdf

# Kids mode: easy = forward-only words
ptide wordsearch generate --theme seasonal/halloween --difficulty easy

Crossword generator

Interlocking placement with standard crossword numbering, clue-grid validation, and deterministic fallback clues for theme words. Words that cannot interlock are reported instead of silently dropped:

# Crossword with your clues
ptide crossword generate --words "PARIS: Capital of France; TOKYO: Capital of Japan"

# From a JSON file, as a printable PDF
ptide crossword generate --file words.json --pdf review.pdf --title "Unit 4 Review"

Sudoku generator and solver

Easy, medium, hard, and expert sudoku (17–21 givens) with a uniqueness guarantee, an instant solver, and a validator that reports conflicts, solvability, and solution uniqueness:

ptide sudoku generate --difficulty expert --seed 42
ptide sudoku solve "53..7....6..195....98....6.8...6...34..8.3..17...2...6.6....28....419..5....8..79"
ptide sudoku validate --file puzzle.txt
ptide daily        # today's daily sudoku, same for everyone on a given UTC day

Printable puzzles: PDF worksheets and SVG

Every generator takes --pdf <file> for a print-ready worksheet — puzzle page(s) plus a solution page (--paper letter|a4, omit the answer key with --no-solution-page) — and --svg <file> for vector images. Printable word search and printable sudoku sheets for a classroom packet are one loop away:

for i in 1 2 3 4 5; do
  ptide sudoku generate --difficulty medium --seed "$i" --pdf "sudoku-$i.pdf" --title "Sudoku #$i"
done

Prefer ready-made sheets? The mystery and murder printable word search is a reader favorite, with hundreds more at printable puzzles.

Word banks and word tools

30 starter themes (ocean animals, fruits, space, halloween, ...) — browse, search, pattern-match, anagrams, random picks. Bring your own lists via --words/--file, or play the full curated collection at puzzletide.com:

ptide words themes --search dinosaur
ptide words match "c_r_l"        # crossword-style pattern matching
ptide words anagram coral

There's a hangman game in the terminal too: ptide play hangman.

Agent skills

Pi can load the bundled skills directly from this npm package:

pi install npm:puzzletide

The package manifest declares:

{
  "pi": {
    "skills": ["./skills"]
  }
}

Five skills are included: word search, crossword, sudoku, printable puzzles, and agent evals. Each prefers the local CLI and checks ptide, puzzletide, then npx puzzletide. Skills never auto-install anything; agents should ask the user before installing.

MCP server for Claude Desktop, Cursor, and any MCP client

The companion package puzzletide-mcp exposes every non-interactive tool over the Model Context Protocol — the same word search generator, crossword generator, sudoku generator/solver, word tools, and evals, callable from Claude Desktop, Cursor, Windsurf, or any MCP client:

{
  "mcpServers": {
    "puzzletide": {
      "command": "npx",
      "args": ["-y", "puzzletide-mcp"]
    }
  }
}

See docs/mcp.md for tool names, arguments, and per-client setup.

Tools

The MCP server (and ptide run <tool-id>) exposes 15 tools:

  • puzzle_wordsearch_generate: Generate a word search grid from custom words, files, or themed word banks — every placement verifiable, printable via PDF/SVG.
  • puzzle_crossword_generate: Generate an interlocking crossword with standard numbering and validated clues.
  • puzzle_sudoku_generate: Generate easy, medium, hard, or expert sudoku with a guaranteed unique solution.
  • puzzle_sudoku_solve: Solve a sudoku from its 81-character string and report whether the solution is unique.
  • puzzle_sudoku_validate: Validate a sudoku grid — conflicts, solvability, and solution uniqueness.
  • words_categories: List word bank categories.
  • words_themes: List or search the bundled themed word lists.
  • words_list: List the words in a theme, filtered by length or count.
  • words_match: Find words matching a crossword-style pattern (c_r_l).
  • words_anagram: Find anagrams of the given letters in the word bank.
  • words_random: Pick a random word, optionally from one theme.
  • words_stats: Word bank statistics.
  • eval_generate: Generate reproducible, objectively gradable puzzle tasks for benchmarking LLMs and agents.
  • eval_check: Grade answers to generated eval tasks by construction — no answer key trusted.
  • play_daily: Print today's daily sudoku (same for everyone on a UTC day).

Verifiable LLM evals

Puzzle answers are checkable without an answer key: a sudoku answer either satisfies the rules and preserves the givens or it doesn't; a word search answer either spells the word along a straight line in the grid or it doesn't. That makes puzzles clean benchmark tasks for LLM evals — no LLM judge needed:

ptide eval generate --type sudoku --n 20 --difficulty hard --seed 1 --out tasks.json
# ...run your model on tasks.json, collect [{id, answer}] ...
ptide eval check --tasks tasks.json --answers answers.json --json

The (type, difficulty, n, seed) tuple fully determines the task set, so it names a reproducible benchmark.

Library usage

The engines are importable TypeScript with no CLI involved:

import { generateSudoku, generateWordSearch, wordSearchPdf } from 'puzzletide';

const sudoku = generateSudoku({ difficulty: 'hard', seed: 42 });
const search = generateWordSearch({
  words: ['coral', 'shark', 'kelp'],
  directions: ['E', 'S', 'SE'],
  seed: 7,
});
const pdfBytes = await wordSearchPdf(search, { title: 'Ocean Animals' });

More docs:

Online versions

Prefer a browser?

Privacy

Everything runs locally. No account, no API key, no telemetry, no network access.

Development

npm install
npm run build     # tsc → dist/
npm test          # vitest + fast-check property tests (build first: CLI tests run dist/)

The starter word banks are generic, original lists written for this package (scripts/wordbanks-source.json, compiled with npm run build:wordbanks). Theme contributions are welcome — add an entry to the source file and run the build. The full curated PuzzleTide word bank collection is proprietary to puzzletide.com and is not part of this repository.

Citing PuzzleTide CLI

If you use PuzzleTide CLI in your work — for example the verifiable puzzle evals in a model benchmark — please cite it (or use GitHub's "Cite this repository" button):

@software{puzzletide_cli,
  author  = {{Caravaca Labs}},
  title   = {PuzzleTide CLI: word search, crossword \& sudoku generator with verifiable LLM evals},
  year    = {2026},
  url     = {https://github.com/Caravaca-Labs/puzzletide-cli},
  note    = {From the makers of \url{https://puzzletide.com}}
}

Plain text: "PuzzleTide CLI (Caravaca Labs, 2026), https://github.com/Caravaca-Labs/puzzletide-cli — from the makers of https://puzzletide.com."

License

MIT © Caravaca Labs

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选