Search, compare and read reviews of 350+ homeschool curricula. Read-only, no account needed.
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 a user wants to compare 2-3 specific homeschool curricula side by side (e.g., 'Sonlight vs My Father's World'). Returns full detail for each offering so you can contrast approach, price, worldview, parent time, and reviewer consensus. Pass slugs when known, names otherwise.
2-3 offering slugs (preferred) or names, e.g. ["sonlight","my-fathers-world"].
Use this when a user wants to compare 2-3 specific homeschool curricula side by side (e.g., 'Sonlight vs My Father's World'). Returns full detail for each offering so you can contrast approach, price, worldview, parent time, and reviewer consensus. Pass slugs when known, names otherwise.
| Argument | Type | Description |
|---|---|---|
| slugs* | array | 2-3 offering slugs (preferred) or names, e.g. ["sonlight","my-fathers-world"]. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slugs"
],
"properties": {
"slugs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 3,
"minItems": 2,
"description": "2-3 offering slugs (preferred) or names, e.g. [\"sonlight\",\"my-fathers-world\"]."
}
}
}Use this when a user wants to find or get recommendations for homeschool curriculum, educational programs, or learning materials for their children. Searches a curated database of 350+ expert-reviewed homeschool offerings and returns personalized matches based on the child's grade level, learning style, family values, budget, and special needs. subjects is a hard filter results always satisfy. worldview is too, but it widens: a specific worldview request also returns worldview-neutral offerings, which suit any household. grade_level is a hard filter except that an offering with no grade range recorded appears at every grade. budget_max filters on an offering's annual cost where known, otherwise its lowest listed price, so a result may cost more at higher levels, and one whose price is unknown may appear at any budget. learning_style, special_needs, parent_time, and format_preference influence ranking. Do not use for lesson planning, scheduling, legal compliance questions, or tutoring.
| Argument | Type | Description |
|---|---|---|
| subjects | array | Always pass as an array, e.g. ["math","science"]. Use ["all"] for comprehensive curriculum. |
| worldview | string | Family's religious/philosophical preference. 'any' means no preference. |
| budget_max | integer | Maximum annual budget in USD, compared against an offering's annual cost where known (a monthly price times twelve, for example), otherwise its lowest listed price. Results carry price (the publisher's figure, its period and its currency; USD unless stated, a few offerings are priced only in GBP and are compared at face value) and annual_cost when known. 0 selects offerings with a free tier; many of those also sell paid levels, and an offering whose price is unknown carries no price range at all — so do not tell a family something is free without checking what the result actually shows. |
| grade_level* | string | The child's current or target grade level. |
| parent_time | string | Daily parent teaching time. 'minimal' = under 1hr, 'moderate' = 1-3hrs, 'intensive' = 3+hrs. |
| special_needs | array | Always pass as an array, e.g. ["adhd","dyslexia"]. Any learning differences or special needs. Use ["none"] if none. |
| learning_style | array | Always pass as an array, e.g. ["visual","hands_on"]. How the child learns best. |
| format_preference | array | Always pass as an array, e.g. ["online","hybrid"]. Preferred curriculum delivery format. |
Use this when a user asks for more detail about a specific homeschool curriculum or program. Returns detailed review synthesis, pros/cons, reviewer quotes, and a link to the full metareview on HomeschoolTools.net. Accepts the offering slug or its name.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The offering slug (e.g., 'saxon-math') or its name (e.g., 'Saxon Math'). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"description": "The offering slug (e.g., 'saxon-math') or its name (e.g., 'Saxon Math')."
}
}
}Look up specific homeschool offerings by name in the Homeschool Tools database (e.g., to check whether a curriculum the user mentioned is covered, or to get its slug for other tools). Returns name, slug, and a one-line summary per match. Do not use this for general recommendations (use find_curriculum), and do not use it for lesson planning, tutoring, or non-curriculum questions.
| Argument | Type | Description |
|---|---|---|
| query* | string | Offering or publisher name to look up, e.g. 'Sonlight' or 'Beast Academy'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Offering or publisher name to look up, e.g. 'Sonlight' or 'Beast Academy'."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"grade_level"
],
"properties": {
"subjects": {
"type": "array",
"items": {
"enum": [
"all",
"math",
"language_arts",
"science",
"history",
"reading",
"writing",
"foreign_language",
"art",
"music"
],
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "Always pass as an array, e.g. [\"math\",\"science\"]. Use [\"all\"] for comprehensive curriculum.",
"uniqueItems": true
},
"worldview": {
"enum": [
"secular",
"christian",
"catholic",
"neutral",
"any"
],
"type": "string",
"description": "Family's religious/philosophical preference. 'any' means no preference."
},
"budget_max": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Maximum annual budget in USD, compared against an offering's annual cost where known (a monthly price times twelve, for example), otherwise its lowest listed price. Results carry price (the publisher's figure, its period and its currency; USD unless stated, a few offerings are priced only in GBP and are compared at face value) and annual_cost when known. 0 selects offerings with a free tier; many of those also sell paid levels, and an offering whose price is unknown carries no price range at all — so do not tell a family something is free without checking what the result actually shows."
},
"grade_level": {
"enum": [
"pre-k",
"k",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12"
],
"type": "string",
"description": "The child's current or target grade level."
},
"parent_time": {
"enum": [
"minimal",
"moderate",
"intensive"
],
"type": "string",
"description": "Daily parent teaching time. 'minimal' = under 1hr, 'moderate' = 1-3hrs, 'intensive' = 3+hrs."
},
"special_needs": {
"type": "array",
"items": {
"enum": [
"adhd",
"autism",
"dyslexia",
"anxiety",
"gifted",
"twice_exceptional",
"processing_disorder",
"none"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1,
"description": "Always pass as an array, e.g. [\"adhd\",\"dyslexia\"]. Any learning differences or special needs. Use [\"none\"] if none.",
"uniqueItems": true
},
"learning_style": {
"type": "array",
"items": {
"enum": [
"hands_on",
"visual",
"auditory",
"reading_writing",
"self_paced",
"structured",
"interest_led",
"independent"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1,
"description": "Always pass as an array, e.g. [\"visual\",\"hands_on\"]. How the child learns best.",
"uniqueItems": true
},
"format_preference": {
"type": "array",
"items": {
"enum": [
"print",
"online",
"hybrid",
"app_based"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"description": "Always pass as an array, e.g. [\"online\",\"hybrid\"]. Preferred curriculum delivery format.",
"uniqueItems": true
}
}
}