GridSmith Puzzle Maker MCP
GridSmith Puzzle Maker is a crossword maker, word search maker and sudoku generator for teachers, parents and puzzle fans. It builds interlocking crossword grids, checks word placements, and generates sudoku with verified solutions. Users can play puzzles in chat, print PDF worksheets with answer keys, and use it via ChatGPT plugins or custom connectors.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://puzzle-maker.zovo.one/mcpWhat you can do with it
- Generate interlocking crossword grids from vocabulary words and clues
- Create word searches with varying difficulty levels
- Generate sudoku puzzles with single verified solutions
- Print PDF worksheets with name, date lines and answer keys
Source and maintenance
Protocol and capabilities
- Server
- puzzle-maker 1.0.1
- MCP protocol
- 2025-06-18
- Tools
- 3 advertised
- Resources
- 1 advertised
- Resource templates
- 1 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
3 advertised
generate_crossword — Create crossword puzzle
Use this when the user wants a crossword puzzle (crossword maker, crossword puzzle maker, crossword for a class or a vocabulary list) built from answers and clues. Builds a valid interlocking grid with standard numbering and Across/Down clue lists, reports any answers that could not be placed, shows a playable crossword, and returns a printable PDF with an answer key. Needs 4-40 answer-and-clue pairs; if the user gives only words, write a short clue for each first. Answers are reduced to letters A-Z. Does not solve existing crosswords or answer single clues, and does not make symmetric newspaper-style grids.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"entries"
],
"properties": {
"seed": {
"type": "integer",
"maximum": 999999,
"minimum": 1,
"description": "Optional layout seed (1-999999). The same inputs and seed always give the same puzzle; pass a different seed for a new layout. Example: 2024"
},
"paper": {
"enum": [
"letter",
"a4"
],
"type": "string",
"description": "Paper size for the printable PDF: letter (US, default) or a4. Example: a4"
},
"title": {
"type": "string",
"maxLength": 80,
"description": "Title printed on the puzzle and PDF. Example: \"Week 5 Science Vocabulary\""
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"answer",
"clue"
],
"properties": {
"clue": {
"type": "string",
"maxLength": 200,
"description": "The clue shown to the solver. Example: Process plants use to turn sunlight into food"
},
"answer": {
"type": "string",
"maxLength": 40,
"description": "The answer word or short phrase. Spaces, hyphens, accents and punctuation are removed in the grid (\"ice cream\" -> ICECREAM, shown as (3,5)). Example: photosynthesis"
}
}
},
"maxItems": 40,
"description": "4 to 40 answer-and-clue pairs. Example: [{\"answer\":\"oxygen\",\"clue\":\"Gas released by plants\"}, ...]"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"seed",
"rows",
"cols",
"grid",
"across",
"down",
"unplaced",
"placed",
"total",
"crossings",
"paper",
"downloads"
],
"properties": {
"cols": {
"type": "number"
},
"down": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"answer",
"clue",
"enumeration",
"row",
"col",
"length"
],
"properties": {
"col": {
"type": "number"
},
"row": {
"type": "number"
},
"clue": {
"type": "string"
},
"answer": {
"type": "string"
},
"length": {
"type": "number"
},
"number": {
"type": "number"
},
"enumeration": {
"type": "string"
}
},
"additionalProperties": false
}
},
"grid": {
"type": "array",
"items": {
"type": "string"
}
},
"kind": {
"type": "string"
},
"rows": {
"type": "number"
},
"seed": {
"type": "number"
},
"paper": {
"type": "string"
},
"title": {
"type": "string"
},
"total": {
"type": "number"
},
"across": {
"type": "array",
"items": {
"type": "object",
"required": [
"number",
"answer",
"clue",
"enumeration",
"row",
"col",
"length"
],
"properties": {
"col": {
"type": "number"
},
"row": {
"type": "number"
},
"clue": {
"type": "string"
},
"answer": {
"type": "string"
},
"length": {
"type": "number"
},
"number": {
"type": "number"
},
"enumeration": {
"type": "string"
}
},
"additionalProperties": false
}
},
"placed": {
"type": "number"
},
"pdf_note": {
"type": "string"
},
"unplaced": {
"type": "array",
"items": {
"type": "object",
"required": [
"answer",
"clue",
"reason"
],
"properties": {
"clue": {
"type": "string"
},
"answer": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"additionalProperties": false
}
},
"crossings": {
"type": "number"
},
"downloads": {
"type": "object",
"required": [
"pdf"
],
"properties": {
"pdf": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Create crossword puzzle",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}generate_word_search — Create word search
Use this when the user wants a word search puzzle (word find, word search maker, printable word search for kids or a class) from a list of words. Accepts 5-40 words for a letter grid: right and down for easy, adding diagonals for medium, all 8 directions including backwards for hard; checks placed words for duplicate occurrences and reports words left out. Shows a playable puzzle and returns a printable PDF with an answer key. Not for crosswords (use generate_crossword) and does not find words in a grid the user already has.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"words"
],
"properties": {
"seed": {
"type": "integer",
"maximum": 999999,
"minimum": 1,
"description": "Optional layout seed (1-999999). The same inputs and seed always give the same puzzle; pass a different seed for a new layout. Example: 2024"
},
"size": {
"type": "integer",
"maximum": 25,
"minimum": 8,
"description": "Grid width and height in letters (8-25). Leave out to size the grid automatically from the words. Example: 15"
},
"paper": {
"enum": [
"letter",
"a4"
],
"type": "string",
"description": "Paper size for the printable PDF: letter (US, default) or a4. Example: a4"
},
"title": {
"type": "string",
"maxLength": 80,
"description": "Title printed on the puzzle and PDF. Example: \"Ocean Animals Word Search\""
},
"words": {
"type": "array",
"items": {
"type": "string",
"maxLength": 30
},
"maxItems": 40,
"description": "5 to 40 words to hide. Accents, spaces and punctuation are removed (\"sea horse\" -> SEAHORSE). Example: [\"dolphin\",\"octopus\",\"shark\",\"coral\",\"whale\"]"
},
"difficulty": {
"enum": [
"easy",
"medium",
"hard"
],
"type": "string",
"description": "easy = words run right and down; medium (default) = adds diagonals; hard = all 8 directions including backwards. Example: easy"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"seed",
"size",
"difficulty",
"directions",
"grid",
"words",
"unplaced",
"notes",
"paper",
"downloads"
],
"properties": {
"grid": {
"type": "array",
"items": {
"type": "string"
}
},
"kind": {
"type": "string"
},
"seed": {
"type": "number"
},
"size": {
"type": "number"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"paper": {
"type": "string"
},
"title": {
"type": "string"
},
"words": {
"type": "array",
"items": {
"type": "object",
"required": [
"word",
"display",
"row",
"col",
"dr",
"dc"
],
"properties": {
"dc": {
"type": "number"
},
"dr": {
"type": "number"
},
"col": {
"type": "number"
},
"row": {
"type": "number"
},
"word": {
"type": "string"
},
"display": {
"type": "string"
}
},
"additionalProperties": false
}
},
"pdf_note": {
"type": "string"
},
"unplaced": {
"type": "array",
"items": {
"type": "object",
"required": [
"word",
"reason"
],
"properties": {
"word": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"additionalProperties": false
}
},
"downloads": {
"type": "object",
"required": [
"pdf"
],
"properties": {
"pdf": {
"type": "string"
}
},
"additionalProperties": false
},
"difficulty": {
"type": "string"
},
"directions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"title": "Create word search",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}generate_sudoku — Create sudoku
Use this when the user wants a new sudoku puzzle to play or print (sudoku generator, printable sudoku with answers, easy sudoku for kids, hard sudoku). Generates a classic 9x9 sudoku at easy, medium or hard difficulty, checked by a solver for a single solution, playable in the chat with pencil notes, plus a printable PDF with the answer key. Does not solve a sudoku the user already has, explain solving strategies, or make 4x4, 6x6 or variant sudoku.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"seed": {
"type": "integer",
"maximum": 999999,
"minimum": 1,
"description": "Optional layout seed (1-999999). The same inputs and seed always give the same puzzle; pass a different seed for a new layout. Example: 2024"
},
"paper": {
"enum": [
"letter",
"a4"
],
"type": "string",
"description": "Paper size for the printable PDF: letter (US, default) or a4. Example: a4"
},
"title": {
"type": "string",
"maxLength": 80,
"description": "Title printed on the puzzle and PDF. Example: \"Friday Brain Teaser\""
},
"difficulty": {
"enum": [
"easy",
"medium",
"hard"
],
"type": "string",
"description": "easy (37-38 givens, solvable with simple elimination), medium (30-32 givens, still solvable with singles), hard (24-30 givens, checked to require a technique beyond singles). Default medium. Example: hard"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"title",
"seed",
"difficulty",
"puzzle",
"solution",
"givens",
"unique",
"technique",
"paper",
"downloads"
],
"properties": {
"kind": {
"type": "string"
},
"seed": {
"type": "number"
},
"paper": {
"type": "string"
},
"title": {
"type": "string"
},
"givens": {
"type": "number"
},
"puzzle": {
"type": "string"
},
"unique": {
"type": "boolean"
},
"pdf_note": {
"type": "string"
},
"solution": {
"type": "string"
},
"downloads": {
"type": "object",
"required": [
"pdf"
],
"properties": {
"pdf": {
"type": "string"
}
},
"additionalProperties": false
},
"technique": {
"type": "string"
},
"difficulty": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Create sudoku",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
puzzle-maker-widget — GridSmith Puzzle Maker view
Interactive view for GridSmith Puzzle Maker.
ui://widget/puzzle-maker-v3-1.0.1-9cee7a19334f281661a81c6c42f90ea1861bb90fbfc25ceb13a465aa0815cd84.htmlpuzzle-maker-widget-legacy — GridSmith Puzzle Maker view (previous versions)
ui://widget/puzzle-maker-{version}.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 750 ms
- 95th percentile latency
- 750 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 750 ms · metadata changed · 3 tool(s), 1 resource(s), 1 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http gridsmith-puzzle-maker-mcp https://puzzle-maker.zovo.one/mcpCodex
codex mcp add gridsmith-puzzle-maker-mcp --url https://puzzle-maker.zovo.one/mcpCursor
{
"mcpServers": {
"gridsmith-puzzle-maker-mcp": {
"url": "https://puzzle-maker.zovo.one/mcp"
}
}
}Cline
{
"mcpServers": {
"gridsmith-puzzle-maker-mcp": {
"type": "streamableHttp",
"url": "https://puzzle-maker.zovo.one/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"gridsmith-puzzle-maker-mcp": {
"type": "http",
"url": "https://puzzle-maker.zovo.one/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http gridsmith-puzzle-maker-mcp https://puzzle-maker.zovo.one/mcpClaude Desktop
{
"mcpServers": {
"gridsmith-puzzle-maker-mcp": {
"url": "https://puzzle-maker.zovo.one/mcp"
}
}
}Windsurf
{
"mcpServers": {
"gridsmith-puzzle-maker-mcp": {
"serverUrl": "https://puzzle-maker.zovo.one/mcp"
}
}
}Let your agent find its tools
Find servers like GridSmith Puzzle Maker MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.