Animal Math
Server Details
Free Pre-K to 5th grade math worksheets, worksheet makers, quizzes, teaching tools and curricula.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Most tools have distinct purposes: search_resources finds things, get_curriculum/get_lesson fetch curriculum detail, get_maker_settings describes a maker, and the two link builders assemble outputs. The only mild overlap is build_maker_link vs make_set_link (both 'produce a link'), but the descriptions make clear one configures a single maker and the other bundles multiple items. get_lesson vs get_curriculum(unit) also touch adjacent data, though descriptions differentiate them.
Names are consistently snake_case verb_noun: get_*, search_*, build_*, make_*. The minor deviation is using two different verbs (build vs make) for the two link-construction tools, which slightly weakens predictability but remains readable.
Six tools is well within the ideal 3-15 range, and each maps to a clear step in the domain workflow (search, browse curriculum, inspect lesson, inspect maker, build maker link, build set link). No tool feels redundant or padding.
The surface covers the full workflow from discovery through link assembly, with curriculum, lessons, makers, and sets all represented. A minor gap is the lack of a direct 'get resource by id' tool (printables/quizzes must be reached via search results), but agents can work around this through search_resources.
Available Tools
6 toolsbuild_maker_linkLink to a worksheet makerARead-onlyIdempotentInspect
A checked link that opens an Animal Math worksheet maker set up with the given settings, the settings in words, and anything it could not use. Also gives the maker's set item, to put it in a set with make_set_link.
| Name | Required | Description | Default |
|---|---|---|---|
| maker | Yes | The maker's slug: telling-time. | |
| settings | No | Setting id to value, from get_maker_settings; a value by its id or its words: {"mode": "drawHands", "minuteIncrement": "15", "answerKey": 1}. headerText sets the worksheet's title. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, and the description does not contradict them. Beyond that, it discloses that the link is validated ('checked') and that the response includes a human-readable rendering of the settings and a list of any settings it could not use, which tells the agent that bad input degrades gracefully instead of erroring. It also notes the returned set item is meant to be paired with make_set_link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the primary output (the link) is front-loaded and the secondary outputs follow. The phrase 'the settings in words' is compressed to the point of mild ambiguity, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does: the link, a readable settings summary, unusable settings, and the set item. For a two-parameter, read-only link builder with a nested settings object, this covers what the agent needs; only error/failure behavior for an unknown maker slug is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter definitions already carry the detail (slug, setting-id-to-value map, headerText). The description still adds meaning by framing the settings as tolerant input ('anything it could not use'), signalling that unrecognized or invalid settings are reported back rather than rejected outright. That is real guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific outcome: a validated ('checked') link that opens a worksheet maker preconfigured with supplied settings, plus the set item for later use. It names the sibling make_set_link and its role, so the agent can distinguish the two. It is slightly dense ('the settings in words') but the verb+resource is identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the workflow (get settings, build a link, then optionally use make_set_link to place the resulting set item into a set), but there is no explicit when-to-use or when-not-to-use statement. The alternative relationship is named rather than explained, so usage is inferred rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_curriculumCurriculum units and lessonsARead-onlyIdempotentInspect
Animal Math's free full-year math curricula, kindergarten to 5th grade. Without a grade: the list. With a grade: its units and lessons by number (every lesson has a lesson plan, an exit ticket and practice). With a unit too: that unit's lessons in detail and its pre-check, review and test.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | A unit's number. | |
| grade | No | A grade: pk, k, 1, 2, 3, 4 or 5 ("kindergarten" and "3rd grade" work too). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered; the description adds genuinely new context about payload contents (every lesson has a lesson plan, exit ticket and practice; a unit adds pre-check, review and test). It says nothing about result volume, pagination, or what happens with an out-of-range grade/unit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences that map one-to-one onto the three call shapes, with zero filler. The telegraphic 'Without a grade: the list' phrasing is efficient but slightly clipped, costing a little readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so at the right level (what each mode yields, what each lesson/unit contains). Remaining gap is only edge behavior — dependency between unit and grade, and invalid-value handling — which is minor for a read-only lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above that by explaining the semantics of the combination — grade alone returns units and lessons by number, adding unit drills into that unit's lessons and assessments. The only gap is whether unit can be supplied without grade, which neither schema nor description resolves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the concrete resource (Animal Math's free full-year math curricula, K-5) and the exact payload for each input combination: grade list, grade's units and lessons, or a single unit's lessons plus pre-check/review/test. It never names its siblings, though, so the boundary with get_lesson (single-lesson detail) and search_resources is left for the agent to infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Effectively documents three usage modes keyed to parameters ('Without a grade', 'With a grade', 'With a unit too'), which is clear conditional guidance for a no-required-param tool. It stops short of stating when to prefer get_lesson or search_resources instead, so no explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lessonOne curriculum lessonARead-onlyIdempotentInspect
What one curriculum lesson uses: its goal, its lesson plan page, and the worksheets, maker settings, tool, quiz and exit ticket its plan names, each with its link. To give a teacher the whole lesson in one link, pass its set item to make_set_link.
| Name | Required | Description | Default |
|---|---|---|---|
| grade | Yes | A grade: pk, k, 1, 2, 3, 4 or 5 ("kindergarten" and "3rd grade" work too). | |
| lesson | Yes | The lesson's number as get_curriculum lists it: 4.3. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the aggregate content the call assembles (plan plus named materials plus links), which tells the agent this is a fan-out read rather than a single-record fetch. It does not discuss missing links or partial results, so it is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the returned content stated first and the follow-up action second. The first sentence is a dense comma-separated inventory but each item is informative rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing the return value, and the enumeration does that reasonably well. The gap is that it tells the agent to 'pass its set item' without explaining what a set item is or where it appears in the response, leaving a required handoff underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already explains the grade forms accepted (pk, k, 1-5, 'kindergarten', '3rd grade') and the dotted lesson number format. The description adds no parameter meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (one curriculum lesson) and enumerates the payload precisely: goal, lesson plan page, worksheets, maker settings, tool, quiz, exit ticket, each with a link. That is far more specific than a restatement of the name and lets an agent distinguish it from a plain curriculum listing. It stops short of a clean verb+resource opener, but the scope is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives one concrete downstream flow — pass the set item to make_set_link to give a teacher the whole lesson in one link — which implicitly frames when this tool is the right entry point. There is no explicit statement of when to use get_lesson versus get_curriculum, nor any exclusion or prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_maker_settingsWorksheet maker settingsARead-onlyIdempotentInspect
Every setting of one Animal Math worksheet maker, with its values and default, for build_maker_link. A maker draws new worksheets every time (find makers with search_resources, kind maker).
| Name | Required | Description | Default |
|---|---|---|---|
| maker | Yes | The maker's slug, as search_resources gives it (generators/<slug>): telling-time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely non-structured context: that a maker is a generative entity that produces a new worksheet each time, and that the response contains both current values and defaults. It does not mention auth needs, rate limits, or failure modes for a bad slug.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the outcome (every setting, with values and default) and followed by the generative-behavior clarification. No redundant restatement of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only lookup with full annotation coverage, the definition covers what the tool returns (settings plus defaults) and how it fits the workflow. Slightly more detail on the return shape or on invalid-slug behavior would make it airtight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already explains the maker slug format (generators/<slug>) with an example. The description adds little parameter-level meaning beyond confirming the slug comes from search_resources, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it returns every setting of one Animal Math worksheet maker, together with values and defaults. It also names the downstream consumer (build_maker_link) and disambiguates makers from worksheets ('a maker draws new worksheets every time'), so an agent can separate it from sibling resource tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes the agent to the right siblings: use search_resources (kind maker) to find a maker, and build_maker_link to consume these settings. The implicit when-to-use is clear – fetch settings before building a link – though there is no explicit exclusion or 'do not call if' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_set_linkMake a set linkARead-onlyIdempotentInspect
One short link (animalmath.com/s/) to a set of Animal Math resources: printables (or some of their pages), makers set up, quizzes at a level, tools and whole curriculum lessons, split into days if wanted. The set page shows them all and makes one PDF of the printables. Checked here: items not found come back with a suggestion, and the short link is made once every item is found. Give the teacher the short link.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | In place of items: each day's items, for a plan of several days (Day 1, Day 2, ...). | |
| note | No | A line under the title, for the teacher. | |
| items | No | Set items, as the other tools give them: printables/<slug>, printables/<slug>/pages=2;5, generators/<slug>/<id>=<value>/..., quizzes/<slug>/level=<id>, tools/<slug>, curriculum/<grade>/<lesson> (curriculum/3rd-grade/4.2). | |
| title | No | The set's title: "Week 3: Telling Time". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), and the description adds real behavior beyond them: items that are not found return a suggestion, and the link is only created once every item resolves. It also discloses that the set page renders all items and produces a single PDF of the printables.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and validation rule are front-loaded, but the opening sentence is a long comma-spliced list of resource types that largely duplicates the items parameter description in the schema. It could be tightened without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so: it says a short link is returned and that missing items come back with suggestions. It also explains the resulting set page and PDF. The main gap is that it never routes to sibling tools when the caller only wants a single maker link.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema itself documents every parameter, including the item address formats. The description only adds the loose idea of splitting into days and a teacher-facing note, which is close to the schema's own wording; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it makes one short link (animalmath.com/s/<code>) to a set of Animal Math resources, and lists what the set can contain. It is clear enough to distinguish from build_maker_link (a single maker link) by implication, but it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives implied usage context ('Give the teacher the short link' after items are resolved) and notes the optional day-splitting mode, but offers no explicit when-not rules and does not name an alternative tool to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_resourcesFind Animal Math resourcesARead-onlyIdempotentInspect
Search Animal Math's free printables (worksheet packs, unit tests, exit tickets, lesson plans), worksheet makers, quizzes and teaching tools for Pre-K to 5th grade by topic words, grade, kind or a standard code. Each result has its page link and its set item for make_set_link; quizzes list their levels. Use it before giving any Animal Math link.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Only this kind. A printable is a ready-made PDF pack; a maker (worksheet generator) draws new sheets with chosen settings. | |
| grade | No | A grade: pk, k, 1, 2, 3, 4 or 5 ("kindergarten" and "3rd grade" work too). | |
| limit | No | How many results (12 unless given). | |
| query | No | Topic words as a teacher says them: "subtraction with regrouping", "telling time to the half hour", "fractions on a number line". | |
| standard | No | A standard's code: 1.OA.C.6 (Common Core), 3.4A (Texas TEKS), MA.2.NSO.2.1 (Florida B.E.S.T.), AC9M2N06 (Australian Curriculum), Y2.M.9 (England, our numbering of its National Curriculum), NZ.Y2.N.3 (New Zealand, our numbering of its curriculum), 3.B1.2 (Ontario); Virginia, Georgia, Indiana, Oklahoma, South Carolina and codes of the other Canadian provinces too. | |
| standard_set | No | The set a code is from, when it could be more than one: common core, texas, florida, virginia, georgia, indiana, oklahoma, south carolina, australia, england, new zealand, or a Canadian province (ontario, british columbia, alberta, ...). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, closed-world, non-destructive), so the description's added value is result shape: each hit carries a page link and a set item for make_set_link, and quizzes enumerate their levels. That downstream chaining detail is what an agent cannot get from the annotations, though result ordering and empty-result behavior are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and scope, and the second sentence carries the actionable result/next-step information. The long enumeration of content types is dense but each item is a distinct searchable kind, so little waste remains.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six optional parameters, no output schema, and no required arguments, the description does the needed work of sketching what a result looks like and how it feeds make_set_link. It stops short of covering pagination or how the default limit interacts with broad queries, a minor but real gap for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already defines kind semantics, grade formats, default limit of 12, teacher-style query phrasing, and extensive standard-code examples. The description only restates the same facets (topic words, grade, kind, standard code) without adding new meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) plus the exact resource universe: printables (worksheet packs, unit tests, exit tickets, lesson plans), makers, quizzes and tools for Pre-K to 5th grade, searchable by topic, grade, kind or standard code. It also distinguishes itself from the sibling link-builders by naming make_set_link as the consumer of each result's set item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says "Use it before giving any Animal Math link," which tells the agent to run this search before calling build_maker_link or make_set_link. There is no explicit when-not clause (e.g. a direct-ID lookup path), so it falls just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
build_maker_link - First observed
get_curriculum - First observed
get_lesson - First observed
get_maker_settings - First observed
make_set_link - First observed
search_resources
Related MCP Connectors
Find free math worksheets (Pre-Algebra–Calculus, Statistics) as printable PDFs with answer keys.
Free printable kids activities: word searches, mazes, color by number, sudoku and more.
Verified maths exercises for tutors and their students, each answer key right by construction.
Maths lessons on an online whiteboard: solutions, worksheets, graphs and geometry, opened by a link
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables users to browse available K–12 math skills, check remaining monthly worksheet-pack allowance, and generate printable PDF worksheet packs with configurable themes, difficulty, answer keys, and reproducible seeds.MIT
- AlicenseAqualityAmaintenanceSearch, filter, and sample over a million competition and olympiad math problems (AMC, AIME, IMO, Putnam, MATH, Omni-MATH) by topic, contest, year, and difficulty, and fetch any problem's LaTeX statement with its answer, hints, and solutions where available.4426 PyPI1MIT
- AlicenseBqualityBmaintenanceCalculates discriminants, roots, vertices, opening directions, and starting x-windows for quadratic functions, and computes count, min/max, mean, median, population, and sample standard deviations from numeric lists. It also returns official calculator and guide links for practice with TI 84 Calculator Online.3MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to turn plain-English requests into real, printable math worksheet packs drawn from a user's own Mathter account, complete with answer keys and saved directly to the local machine as a PDF. It also exposes the available skills and grades so the assistant picks valid configurations before generating.2122 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.