Make printable math cage 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 math cage puzzles (arithmetic cage puzzles, calculation sudoku-style grids with cages, math logic puzzles for a class) as a PDF with an answer key. Each grid from 4 x 4 to 9 x 9 uses the numbers 1 to N once per row and column; each cage shows a target and a sign. Put one object per puzzle in puzzles[] when they differ (size, operations, difficulty); for a set of the same kind, set count with size, operations and difficulty. Operations accept signs or words ("+ -", "add only", "all four", "no division"). A solver checks each puzzle for one solution. The PDF has 1, 2 or 4 puzzles per page on Letter or A4, an optional title and name line, and answer pages. Defaults: 1 medium 6 x 6 puzzle with all four operations, Letter, 1 per page, name line and answer key on. Does not solve a puzzle from a photo or make grids larger than 9 x 9.
Starting seed; puzzle N uses seed + N - 1. Reuse it to reprint the same puzzles. Example: 2026
Grid size for all puzzles, 4 to 9 (default 6). Example: 5
How many 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
Title printed at the top of each page. Example: Friday Math Challenge
One object per puzzle when the puzzles differ, e.g. [{"size":4,"operations":"add only"},{"size":6,"difficulty":"hard"}]. Leave out and use count for a set of the same kind. Up to 12.
Puzzles per printed page: 1 (default), 2 or 4. Example: 2
Print a Name and Date line on the puzzle pages (default true). Example: false
Add answer pages with the solved grids (default true). Example: true
Difficulty for all puzzles: easy, medium (default) or hard. Example: easy
Signs for all puzzles: + - x / (default all four), or words such as "addition and subtraction only", "no division". Example: "+ x"
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http math-cages https://math-cages.zovo.one/mcp
Use this when the user wants printable math cage puzzles (arithmetic cage puzzles, calculation sudoku-style grids with cages, math logic puzzles for a class) as a PDF with an answer key. Each grid from 4 x 4 to 9 x 9 uses the numbers 1 to N once per row and column; each cage shows a target and a sign. Put one object per puzzle in puzzles[] when they differ (size, operations, difficulty); for a set of the same kind, set count with size, operations and difficulty. Operations accept signs or words ("+ -", "add only", "all four", "no division"). A solver checks each puzzle for one solution. The PDF has 1, 2 or 4 puzzles per page on Letter or A4, an optional title and name line, and answer pages. Defaults: 1 medium 6 x 6 puzzle with all four operations, Letter, 1 per page, name line and answer key on. Does not solve a puzzle from a photo or make grids larger than 9 x 9.
| Argument | Type | Description |
|---|---|---|
| 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 | Grid size for all puzzles, 4 to 9 (default 6). Example: 5 |
| count | number | string | null | How many 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 |
| title | any | Title printed at the top of each page. Example: Friday Math Challenge |
| puzzles | any | One object per puzzle when the puzzles differ, e.g. [{"size":4,"operations":"add only"},{"size":6,"difficulty":"hard"}]. Leave out and use count for a set of the same kind. 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 on the puzzle pages (default true). Example: false |
| answer_key | boolean | string | number | null | Add answer pages with the solved grids (default true). Example: true |
| difficulty | any | Difficulty for all puzzles: easy, medium (default) or hard. Example: easy |
| operations | any | Signs for all puzzles: + - x / (default all four), or words such as "addition and subtraction only", "no division". Example: "+ x" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"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": "Grid size for all puzzles, 4 to 9 (default 6). Example: 5"
},
"count": {
"type": [
"number",
"string",
"null"
],
"description": "How many 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"
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"description": "Title printed at the top of each page. Example: Friday Math Challenge"
},
"puzzles": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"seed": {
"type": [
"number",
"string",
"null"
],
"description": "Seed for this puzzle (same seed and settings give the same puzzle). Example: 4821"
},
"size": {
"type": [
"number",
"string",
"null"
],
"description": "Grid size from 4 to 9 (4 means 4 x 4 with the numbers 1 to 4). Example: 6"
},
"difficulty": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "easy, medium (default) or hard. Harder puzzles have bigger cages and fewer single-number cells. Example: hard"
},
"operations": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 30
},
"maxItems": 8
}
]
},
{
"type": "null"
}
],
"description": "Signs the cages may use: \"+\", \"-\", \"x\", \"/\", words such as \"add only\", \"all four\", \"no division\", or a list. Example: \"+ -\""
}
},
"additionalProperties": {}
},
"maxItems": 12
},
{
"type": "null"
}
],
"description": "One object per puzzle when the puzzles differ, e.g. [{\"size\":4,\"operations\":\"add only\"},{\"size\":6,\"difficulty\":\"hard\"}]. Leave out and use count for a set of the same kind. 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 on the puzzle pages (default true). Example: false"
},
"answer_key": {
"type": [
"boolean",
"string",
"number",
"null"
],
"description": "Add answer pages with the solved grids (default true). Example: true"
},
"difficulty": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Difficulty for all puzzles: easy, medium (default) or hard. Example: easy"
},
"operations": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 30
},
"maxItems": 8
}
]
},
{
"type": "null"
}
],
"description": "Signs for all puzzles: + - x / (default all four), or words such as \"addition and subtraction only\", \"no division\". Example: \"+ x\""
}
}
}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.