Koskamo

Zovo Math Worksheet Maker MCP

Generates printable math worksheets with answer keys for grades K-6. Supports addition, subtraction, multiplication, division, and fractions. Allows custom problem input, specific formatting (Letter/A4), and up to 10 versions per PDF. No sign-in required.

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.

Zovo Math Worksheet Maker MCP logo, by ZovoCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-08Published by Zovo
MCP endpoint (Streamable HTTP)
https://math-worksheets.zovo.one/mcp
Vendor documentation

What its tools do

1 tool, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

1 of 1 have a description · 1 of 1 declare behavior hints · 1 of 1 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Generate 2nd grade subtraction worksheets without regrouping
  • Create 7 times table drills with answer keys
  • Produce long division worksheets with remainders
  • Compute answers for pasted custom math problems

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
math-worksheets 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
1 advertised
Resources
1 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "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.

Zovo Math Worksheet Maker makes printable math worksheets as PDFs with an answer key: addition, subtraction, multiplication and times tables, division with or without remainders, mixed operations, missing numbers and basic fractions, by grade, digits and count, with rules like no regrouping and no negative answers. Answers are computed, not estimated. Call generate_math_worksheet with the operation and grade or digits; to print the teacher's own problems, pass them in problems. Share the PDF link; do not read the answers aloud unless asked.

Tools

1 advertised

generate_math_worksheet — Generate math worksheet
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when the user wants printable math worksheets ("math worksheets grade 2", "multiplication worksheets", "times tables worksheet", "subtraction worksheet no regrouping", "long division worksheet", "missing number worksheet", "fraction worksheet", "math worksheet with answer key"). If the user pastes or uploads their own problems (text or an image), first convert them into the problems list, one string per problem like "45 - 18", then call. Generates a seeded, reproducible PDF for Letter or A4 with Name, Date and Score lines, problems in column form or on one line, and an answer key on separate pages; answers are computed with whole-number and fraction arithmetic and no problem repeats. Rules: grade K-6, digits like 2 or "3x1", within, min/max numbers, a times table, regrouping none/required, no negative answers, same or different denominators. Returns the problem list with answers, the set number and a PDF link. Does not write word problems, does not grade a child's completed sheet, and does not cover geometry, money, time or algebra.

generate_math_worksheet input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "seed": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Set number from an earlier result to print exactly the same problems again, e.g. 48213. Default: a new random set."
    },
    "count": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Problems per worksheet, 1 to 100. Default 20 (12 for long division). Example: 30"
    },
    "grade": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "School grade K to 6 that sets sensible number sizes, e.g. 2 or \"3rd grade\" or \"K\". UK \"Year 3\" is read as grade 2."
    },
    "paper": {
      "type": "string",
      "maxLength": 20,
      "description": "Paper size: letter (default) or a4."
    },
    "table": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        },
        {
          "type": "array",
          "items": {
            "type": "number"
          },
          "maxItems": 20
        }
      ],
      "description": "Times table or fact family to focus on: one number or a list, e.g. 7 or \"6, 7, 8\" or [3, 4]. For division it is the divisor."
    },
    "title": {
      "type": "string",
      "maxLength": 400,
      "description": "Title printed at the top, e.g. \"Emma's Subtraction Practice\". Default: a title from the rules."
    },
    "digits": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 30
        },
        {
          "type": "array",
          "items": {
            "type": "number"
          },
          "maxItems": 2
        }
      ],
      "description": "Digits per number: 2 for 2-digit numbers, or \"3x1\" for 3-digit by 1-digit (multiplication and long division). Example: \"2\"."
    },
    "layout": {
      "type": "string",
      "maxLength": 20,
      "description": "vertical (stacked column form, default; division uses the long-division bracket) or horizontal (on one line)."
    },
    "within": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Keep addition sums and subtraction starting numbers at or below this, e.g. 20 for \"addition within 20\"."
    },
    "problems": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 6000
        },
        {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 60
              },
              {
                "type": "object",
                "properties": {
                  "a": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 40
                      }
                    ]
                  },
                  "b": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 40
                      }
                    ]
                  },
                  "op": {
                    "type": "string",
                    "maxLength": 20
                  },
                  "text": {
                    "type": "string",
                    "maxLength": 60
                  }
                }
              }
            ]
          },
          "maxItems": 150
        }
      ],
      "description": "Your own problems instead of generated ones: a list like [\"12 + 7\", \"45 - 18\", \"6 x 7\", \"84 ÷ 4\", \"3/4 + 1/8\", \"7 + ? = 12\"] or [{\"a\":12,\"op\":\"+\",\"b\":7}], or pasted text with one problem per line. Up to 100. The tool computes every answer."
    },
    "versions": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Number of different worksheets with the same rules (each with its own answer key), 1 to 10. Default 1."
    },
    "name_line": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "Print Name, Date and Score lines. Default true."
    },
    "operation": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 80
        },
        {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 40
          },
          "maxItems": 8
        }
      ],
      "description": "What to practise: addition, subtraction, multiplication (times tables), division, division with remainders, mixed (all four), \"addition and subtraction\", missing number, or fractions (adding fractions, subtracting fractions, multiplying fractions). Example: \"subtraction\". Default: from the grade, else addition."
    },
    "answer_key": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "Add answer key pages at the end of the PDF. Default true."
    },
    "max_number": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Largest number to use in the problems, e.g. 12 for times tables up to 12."
    },
    "min_number": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Smallest number to use in the problems (factors for multiplication, divisor and answer for division facts), e.g. 2."
    },
    "regrouping": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 30
        }
      ],
      "description": "Carrying/borrowing rule for addition, subtraction and 1-digit multiplication: none (no regrouping), required (every problem regroups) or any (default). Example: \"none\""
    },
    "denominators": {
      "type": "string",
      "maxLength": 30,
      "description": "Fractions only: like (same denominator), unlike or any. Default like up to grade 4, unlike from grade 5."
    },
    "allow_repeats": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "When the rules allow fewer different problems than count, repeat some to reach count. Default false (the worksheet is shortened instead)."
    },
    "allow_negative": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "Allow subtraction answers below zero. Default false (no negative answers)."
    },
    "missing_number": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string",
          "maxLength": 10
        }
      ],
      "description": "true for fill-in-the-blank problems like 7 + ? = 12. Default false."
    },
    "max_denominator": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Fractions only: largest denominator, 2 to 20. Default 12 (8 up to grade 3)."
    }
  }
}
generate_math_worksheet output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "kind",
    "title",
    "instructions",
    "rules",
    "count",
    "requested_count",
    "versions",
    "seed",
    "paper",
    "layout",
    "columns",
    "rows_per_page",
    "worksheet_pages",
    "key_pages",
    "page_count",
    "answer_key",
    "name_line",
    "problems",
    "notes",
    "inputs",
    "downloads"
  ],
  "properties": {
    "kind": {
      "type": "string"
    },
    "seed": {
      "type": "number"
    },
    "count": {
      "type": "number"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "paper": {
      "type": "string"
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "title": {
      "type": "string"
    },
    "inputs": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "layout": {
      "type": "string"
    },
    "columns": {
      "type": "number"
    },
    "problems": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "n",
          "q",
          "a"
        ],
        "properties": {
          "a": {
            "type": "string"
          },
          "n": {
            "type": "number"
          },
          "q": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "versions": {
      "type": "number"
    },
    "downloads": {
      "type": "object",
      "required": [
        "pdf"
      ],
      "properties": {
        "pdf": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "key_pages": {
      "type": "number"
    },
    "name_line": {
      "type": "boolean"
    },
    "answer_key": {
      "type": "boolean"
    },
    "page_count": {
      "type": "number"
    },
    "instructions": {
      "type": "string"
    },
    "rows_per_page": {
      "type": "number"
    },
    "problems_count": {
      "type": "object",
      "required": [
        "shown",
        "total"
      ],
      "properties": {
        "shown": {
          "type": "number"
        },
        "total": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "requested_count": {
      "type": "number"
    },
    "worksheet_pages": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
generate_math_worksheet annotations
{
  "title": "Generate math worksheet",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

math-worksheets-widget — Zovo Math Worksheet Maker view

Advertised by the server during the last successful anonymous check.

Interactive view for Zovo Math Worksheet Maker.

math-worksheets-widget URI
ui://widget/math-worksheets-v1-1.0.0-bb8163b90deb7506c2bed742ac080a4001a469efce280b783f0d863b768b5e6b.html

MIME type: text/html;profile=mcp-app

math-worksheets-widget-legacy — Zovo Math Worksheet Maker view (previous versions)

Advertised by the server during the last successful anonymous check.

math-worksheets-widget-legacy URI template
ui://widget/math-worksheets-{version}.html

MIME type: text/html;profile=mcp-app

30-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
757 ms
95th percentile latency
757 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 757 ms · metadata changed · 1 tool(s), 1 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zovo-math-worksheet-maker-mcp https://math-worksheets.zovo.one/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zovo-math-worksheet-maker-mcp --url https://math-worksheets.zovo.one/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zovo-math-worksheet-maker-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zovo-math-worksheet-maker-mcp": {
      "url": "https://math-worksheets.zovo.one/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zovo-math-worksheet-maker-mcp": {
      "type": "streamableHttp",
      "url": "https://math-worksheets.zovo.one/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zovo-math-worksheet-maker-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zovo-math-worksheet-maker-mcp": {
      "type": "http",
      "url": "https://math-worksheets.zovo.one/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zovo-math-worksheet-maker-mcp https://math-worksheets.zovo.one/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://math-worksheets.zovo.one/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "zovo-math-worksheet-maker-mcp": {
      "serverUrl": "https://math-worksheets.zovo.one/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Zovo Math Worksheet Maker MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.