Make printable nonogram puzzles for teachers, students and puzzle fans as a PDF with an answer key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants printable nonogram puzzles (griddlers, hanjie, paint by numbers logic puzzles, pixel puzzles) as a PDF with an answer key: "make a nonogram", "nonogram generator", "turn this pixel art into a nonogram", "printable nonograms for my class". Put one object per puzzle in puzzles[]: shape (a built-in picture such as heart, cat, rocket), text (a word up to 8 letters), grid (the user's own rows, # filled, . empty, up to 25 x 25), or difficulty/size for a random grid; for a set of random puzzles use count with difficulty. A line solver checks that each puzzle has one solution; when a picture's clues allow several, fix decides: hints (default, print starter cells), change (flip a few cells) or refuse (error listing the unclear rows). Layout: per_page 1, 2 or 4, Letter or A4, title, name line, answer pages. Does not make colour nonograms, read photos or image files, or solve a puzzle from a photo.
For pictures and words whose clues allow more than one solution: hints (default), change or refuse. Example: refuse
The user's own picture for a single puzzle, one string per row, # filled, . empty, up to 25 x 25. Example: [".#.#.", "#####", ".###.", "..#.."]
Starting seed; puzzle N uses seed + N - 1. Reuse it to reprint the same puzzles. Example: 2026
Size of random puzzles, columns x rows, 5 to 25. Example: "10x10"
A short word to draw as a single puzzle (A-Z, 0-9, up to 8 letters). Example: LOVE
How many random puzzles when they are all the same kind (1 to 12, default 1). Example: 4
letter (default, US 8.5 x 11 in) or a4. Example: a4
Built-in picture for a single puzzle: heart, star, house, cat, dog, fish, tree, smiley, apple, rocket, umbrella, note, anchor, duck, flower, crown, key, bell, moon, ghost. Example: cat
Title printed at the top of each page. Example: Friday Logic Puzzles
One object per puzzle when they differ, e.g. [{"shape":"heart"},{"text":"MOM"},{"grid":[".##.","####",".##."]},{"difficulty":"hard"}]. Leave out and use count for a set of random puzzles. Up to 12.
Puzzles per printed page: 1 (default), 2 or 4. Example: 2
Print a Name and Date line (default true). Example: false
Add answer pages with the filled picture (default true). Example: true
Difficulty of random puzzles: easy, medium (default), hard or expert. Example: hard
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http nonogram-maker https://nonogram-maker.zovo.one/mcp
Use this when the user wants printable nonogram puzzles (griddlers, hanjie, paint by numbers logic puzzles, pixel puzzles) as a PDF with an answer key: "make a nonogram", "nonogram generator", "turn this pixel art into a nonogram", "printable nonograms for my class". Put one object per puzzle in puzzles[]: shape (a built-in picture such as heart, cat, rocket), text (a word up to 8 letters), grid (the user's own rows, # filled, . empty, up to 25 x 25), or difficulty/size for a random grid; for a set of random puzzles use count with difficulty. A line solver checks that each puzzle has one solution; when a picture's clues allow several, fix decides: hints (default, print starter cells), change (flip a few cells) or refuse (error listing the unclear rows). Layout: per_page 1, 2 or 4, Letter or A4, title, name line, answer pages. Does not make colour nonograms, read photos or image files, or solve a puzzle from a photo.
| Argument | Type | Description |
|---|---|---|
| fix | any | For pictures and words whose clues allow more than one solution: hints (default), change or refuse. Example: refuse |
| grid | any | The user's own picture for a single puzzle, one string per row, # filled, . empty, up to 25 x 25. Example: [".#.#.", "#####", ".###.", "..#.."] |
| seed | number | string | null | Starting seed; puzzle N uses seed + N - 1. Reuse it to reprint the same puzzles. Example: 2026 |
| size | number | string | null | Size of random puzzles, columns x rows, 5 to 25. Example: "10x10" |
| text | any | A short word to draw as a single puzzle (A-Z, 0-9, up to 8 letters). Example: LOVE |
| count | number | string | null | How many random puzzles when they are all the same kind (1 to 12, default 1). Example: 4 |
| paper | any | letter (default, US 8.5 x 11 in) or a4. Example: a4 |
| shape | any | Built-in picture for a single puzzle: heart, star, house, cat, dog, fish, tree, smiley, apple, rocket, umbrella, note, anchor, duck, flower, crown, key, bell, moon, ghost. Example: cat |
| title | any | Title printed at the top of each page. Example: Friday Logic Puzzles |
| puzzles | any | One object per puzzle when they differ, e.g. [{"shape":"heart"},{"text":"MOM"},{"grid":[".##.","####",".##."]},{"difficulty":"hard"}]. Leave out and use count for a set of random puzzles. Up to 12. |
| per_page | number | string | null | Puzzles per printed page: 1 (default), 2 or 4. Example: 2 |
| name_line | boolean | string | number | null | Print a Name and Date line (default true). Example: false |
| answer_key | boolean | string | number | null | Add answer pages with the filled picture (default true). Example: true |
| difficulty | any | Difficulty of random puzzles: easy, medium (default), hard or expert. Example: hard |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"fix": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
],
"description": "For pictures and words whose clues allow more than one solution: hints (default), change or refuse. Example: refuse"
},
"grid": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "array",
"items": {
"type": [
"number",
"string",
"boolean"
]
},
"maxItems": 40
}
]
},
"maxItems": 40
}
]
},
{
"type": "null"
}
],
"description": "The user's own picture for a single puzzle, one string per row, # filled, . empty, up to 25 x 25. Example: [\".#.#.\", \"#####\", \".###.\", \"..#..\"]"
},
"seed": {
"type": [
"number",
"string",
"null"
],
"description": "Starting seed; puzzle N uses seed + N - 1. Reuse it to reprint the same puzzles. Example: 2026"
},
"size": {
"type": [
"number",
"string",
"null"
],
"description": "Size of random puzzles, columns x rows, 5 to 25. Example: \"10x10\""
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "A short word to draw as a single puzzle (A-Z, 0-9, up to 8 letters). Example: LOVE"
},
"count": {
"type": [
"number",
"string",
"null"
],
"description": "How many random puzzles when they are all the same kind (1 to 12, default 1). Example: 4"
},
"paper": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
],
"description": "letter (default, US 8.5 x 11 in) or a4. Example: a4"
},
"shape": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Built-in picture for a single puzzle: heart, star, house, cat, dog, fish, tree, smiley, apple, rocket, umbrella, note, anchor, duck, flower, crown, key, bell, moon, ghost. Example: cat"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"description": "Title printed at the top of each page. Example: Friday Logic Puzzles"
},
"puzzles": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fix": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
],
"description": "When the clues allow more than one solution: hints (default, print a few starter cells), change (flip a few cells) or refuse (return an error listing the unclear rows). Example: hints"
},
"grid": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "array",
"items": {
"type": [
"number",
"string",
"boolean"
]
},
"maxItems": 40
}
]
},
"maxItems": 40
}
]
},
{
"type": "null"
}
],
"description": "The user's own pixel picture, one string per row, # for filled and . for empty (also X/1 and 0/-), up to 25 x 25. Example: [\"..##..\", \".####.\", \"######\", \".#..#.\"]"
},
"seed": {
"type": [
"number",
"string",
"null"
],
"description": "Seed for this puzzle (random puzzles and starter-cell choice). Example: 42"
},
"size": {
"type": [
"number",
"string",
"null"
],
"description": "Size of a random puzzle, columns x rows, 5 to 25. Example: \"15x15\""
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "A short word drawn in block letters (A-Z, 0-9, up to 8 letters; 5 to 8 letters use two lines). Example: CAT"
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"description": "Caption printed above this puzzle. Example: Puzzle A"
},
"shape": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "A built-in picture: heart, star, house, cat, dog, fish, tree, smiley, apple, rocket, umbrella, note, anchor, duck, flower, crown, key, bell, moon, ghost. Example: heart"
},
"difficulty": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
],
"description": "Random puzzle difficulty: easy (10 x 10), medium (15 x 15, default), hard (20 x 20) or expert (25 x 25). Example: easy"
}
},
"additionalProperties": {}
},
"maxItems": 12
},
{
"type": "null"
}
],
"description": "One object per puzzle when they differ, e.g. [{\"shape\":\"heart\"},{\"text\":\"MOM\"},{\"grid\":[\".##.\",\"####\",\".##.\"]},{\"difficulty\":\"hard\"}]. Leave out and use count for a set of random puzzles. Up to 12."
},
"per_page": {
"type": [
"number",
"string",
"null"
],
"description": "Puzzles per printed page: 1 (default), 2 or 4. Example: 2"
},
"name_line": {
"type": [
"boolean",
"string",
"number",
"null"
],
"description": "Print a Name and Date line (default true). Example: false"
},
"answer_key": {
"type": [
"boolean",
"string",
"number",
"null"
],
"description": "Add answer pages with the filled picture (default true). Example: true"
},
"difficulty": {
"anyOf": [
{
"type": "string",
"maxLength": 30
},
{
"type": "null"
}
],
"description": "Difficulty of random puzzles: easy, medium (default), hard or expert. Example: hard"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.