PuzzleTide Puzzle Generator
About
Word search generator, crossword generator, and sudoku generator + solver as a local-first MCP server. 15 deterministic tools: printable PDF puzzle worksheets, themed word banks, and verifiable LLM evals. From the makers
Details
- Author
- Caravaca-Labs
- Downloads
- 3,228
- Categories
- Developer Tools, AI, Search, Knowledge Base
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
PuzzleTide Puzzle GeneratorCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
{
"mcpServers": {
"puzzletide": {
"command": "npx",
"args": ["-y", "puzzletide-mcp"]
}
}
}
Works with Claude Desktop, Cursor, Windsurf, and any MCP client. Everything runs locally — no account, API key, telemetry, or network access.
Tools (15)
- puzzle_wordsearch_generate — word search from custom words or 30 themed word banks; 8 directions with kid-friendly presets
- puzzle_crossword_generate — interlocking crossword grids with standard numbering and validated clues
- puzzle_sudoku_generate — easy, medium, hard, and expert sudoku with a unique-solution guarantee
- puzzle_sudoku_solve / puzzle_sudoku_validate — instant solver; conflict and uniqueness checks
- words_themes, words_list, words_match, words_anagram, words_random, words_categories, words_stats — word bank browsing, crossword-style pattern matching, anagrams
- eval_generate / eval_check — reproducible puzzle tasks with by-construction grading for benchmarking LLMs (no answer key to trust, no LLM judge)
- play_daily — a shared daily sudoku
Key features
- Printable PDF puzzle worksheets: pass a pdf file path to any generator and get a print-ready sheet with puzzle and solution pages (letter or A4), plus SVG output
- Deterministic seeds — reproducible puzzles for teachers, activity packets, and benchmark sets
- Verifiable LLM evals: a sudoku answer either satisfies the rules or it doesn't; a word search answer either spells the word in the grid or it doesn't
- Property-tested generators shipped as the open-source puzzletide CLI (ptide)
Use cases
- Generate a printable word search for a classroom, party, or activity book in one prompt
- Create sudoku packets at graded difficulties with answer keys
- Build crosswords from your own word/clue lists
- Benchmark a model's reasoning with reproducible, objectively gradable puzzle tasks
Play online
Prefer a browser? Play free at https://puzzletide.com
- Word search: https://puzzletide.com/word-search
- Crossword: https://puzzletide.com/crossword
- Sudoku: https://puzzletide.com/sudoku
- Printable puzzles: https://puzzletide.com/printable
- Puzzle maker: https://puzzletide.com/maker
FAQ
Does it need an API key?
No. All generation runs locally over stdio via the puzzletide-mcp npm package.
Can it make printable puzzles?
Yes — every generator accepts pdf and svg file-path arguments and writes print-ready worksheets with solution pages.
eval_check
Grades a JSON answers file against a tasks file produced by eval generate. Verification is by construction: sudoku answers must satisfy sudoku rules and preserve the givens; word search answers must spell the word along a straight line in the grid. Outputs per-task results and a score summary.
eval_generate
Emits a JSON array of puzzle tasks with objectively checkable answers. Types: sudoku (unique-solution puzzles; answers verified against sudoku rules + givens) and wordsearch (answers verified against the grid letters). Deterministic with --seed, so a (seed, type, difficulty, n) tuple names a reproducible benchmark set.
play_daily
Prints a daily sudoku (medium difficulty) that is the same for everyone on the same UTC calendar day. Solve more puzzles at puzzletide.com.
puzzle_crossword_generate
Builds an interlocking crossword grid with standard numbering. Words come from --words "WORD: clue; WORD2: clue2", --file (JSON [{word,clue}] or "WORD: clue" lines), or --theme (clues are auto-generated puzzle-style hints). Words that cannot interlock are reported as unplaced. Deterministic with --seed. Online version: https://puzzletide.com/crossword
puzzle_sudoku_generate
Generates a 9x9 sudoku at easy/medium/hard/expert difficulty. Every puzzle is verified to have exactly one solution. Deterministic with --seed. The canonical string format is 81 characters, row by row, "." for empty cells. Online version: https://puzzletide.com/sudoku
puzzle_sudoku_solve
Solves a 9x9 sudoku via backtracking. Input: 81 characters row by row with 1-9 for givens and 0/./_ for empty cells (whitespace and separators are ignored), passed inline, via --file, or on stdin. Reports whether the solution is unique. Online version: https://puzzletide.com/sudoku
puzzle_sudoku_validate
Checks a 9x9 sudoku grid for well-formedness, conflicting givens, solvability, and whether the solution is unique (a proper sudoku has exactly one). Same input formats as sudoku solve. Online version: https://puzzletide.com/sudoku
puzzle_wordsearch_generate
Places every word in a letter grid (8 possible directions, difficulty presets) and fills the rest with random letters. Deterministic with --seed. Words come from --words, --file (one per line), or --theme (bundled PuzzleTide word banks). Output: text grid, --json structured data, --svg image, or --pdf printable worksheet with solution page. Online version: https://puzzletide.com/word-search
words_anagram
Finds single-word anagrams of the given letters within the bundled word bank sample.
words_categories
Lists the bundled PuzzleTide word bank categories (animals, geography, holidays, ...) with their theme counts.
words_list
Prints the words of one bundled theme, optionally filtered by length, shuffled by --seed, and limited by --count. Useful as input for generators or other tools.
words_match
Matches the bundled word bank sample against a pattern where "_" or "?" is any letter, e.g. "c_r_l" matches CORAL. Helpful when stuck on a crossword or word puzzle.
words_random
Picks a random word from the bundled word banks — the same pool the hangman game uses. Deterministic with --seed.
words_stats
Prints the size of the bundled word bank: categories, themes, unique words.
words_themes
Lists the bundled starter themes (30 generic word lists; the full curated collection is at puzzletide.com). Filter by --category or full-text --search. Theme ids look like "animals/ocean-animals".
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"puzzletide puzzle generator": {
"puzzletide": {
"command": "npx",
"args": [
"-y",
"puzzletide-mcp"
]
}
}
}
}
McpServers
{
"puzzletide": {
"command": "npx",
"args": [
"-y",
"puzzletide-mcp"
]
}
}
What can you do with PuzzleTide Puzzle Generator MCP?
- Generate a word search— create a word search grid from custom words, a file, or a bundled theme usingpuzzle_wordsearch_generate.
- Generate a crossword— produce an interlocking crossword with standard numbering and validated clues viapuzzle_crossword_generate.
- Generate or solve sudoku— create a sudoku with a guaranteed unique solution (puzzle_sudoku_generate) or solve an 81-character puzzle string (puzzle_sudoku_solve).
- Validate a sudoku— check a sudoku grid for conflicts, solvability, and solution uniqueness withpuzzle_sudoku_validate.
- Explore word banks— list themes, search words by pattern, find anagrams, or pick random words usingwords_themes,words_match,words_anagram, andwords_random.
- Run verifiable LLM evals— generate reproducible puzzle-based benchmark tasks (eval_generate) and grade answers by construction (eval_check).
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




