PuzzleTide Puzzle Generator

by Caravaca-Labs

Recommended
3.2k downloads
Not rated
GitHub Website

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

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name PuzzleTide Puzzle Generator
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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).

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.