Homeschool Tools
by homeschooltools.net · remote · no sign-in to list tools · v2.0.0 · published by net.homeschooltools
Search, compare and read reviews of 350+ homeschool curricula. Read-only, no account needed.
4 tools: 4 can delete or cancel things.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads0Claude Code: allow
8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http curriculum https://homeschooltools.net/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnfind_curriculum
The server marks "find_curriculum" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.
- Warnfind_curriculum
The server marks "find_curriculum" destructive (destructiveHint: true), and its name says "find", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.
The server marks "get_offering_detail" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.
The server marks "get_offering_detail" destructive (destructiveHint: true), and its name says "get", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.
- Warnsearch_offerings
The server marks "search_offerings" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.
- Warnsearch_offerings
The server marks "search_offerings" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.
Show 2 more findingsShow fewer
The server marks "compare_offerings" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.
The server marks "compare_offerings" destructive (destructiveHint: true), and its name says "compare", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Deletes or cancels 4Claude Code: deny
compare_offeringsUse this when a user wants to compare 2-3 specific homeschool curricula side by side (e.g., 'Sonlight vs My Father's World').2 findings
Why it is in this group
- The name "compare_offerings" says "compare": a word for reading.
- The server marks it destructive (destructiveHint: true).
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "compare_offerings" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.
- Warn
The server marks "compare_offerings" destructive (destructiveHint: true), and its name says "compare", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.
Description, as the server wrote 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.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: true
find_curriculumUse this when a user wants to find or get recommendations for homeschool curriculum, educational programs, or learning materials for their children.2 findings
Why it is in this group
- The name "find_curriculum" says "find": a word for reading.
- The server marks it destructive (destructiveHint: true).
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "find_curriculum" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.
- Warn
The server marks "find_curriculum" destructive (destructiveHint: true), and its name says "find", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: true
get_offering_detailUse this when a user asks for more detail about a specific homeschool curriculum or program.2 findings
Why it is in this group
- The name "get_offering_detail" says "get": a word for reading.
- The server marks it destructive (destructiveHint: true).
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_offering_detail" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.
- Warn
The server marks "get_offering_detail" destructive (destructiveHint: true), and its name says "get", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: true
search_offeringsLook 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 tool…2 findings
Why it is in this group
- The name "search_offerings" says "search": a word for reading.
- The server marks it destructive (destructiveHint: true).
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "search_offerings" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.
- Warn
The server marks "search_offerings" destructive (destructiveHint: true), and its name says "search", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http curriculum https://homeschooltools.net/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [],
"ask": [],
"deny": [
"mcp__curriculum__find_curriculum",
"mcp__curriculum__get_offering_detail",
"mcp__curriculum__search_offerings",
"mcp__curriculum__compare_offerings"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as curriculum. Review it before you use it.