Skip to content

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.

Deletes · 4

4 tools: 4 can delete or cancel things.

Scanned Oct 21, 2026

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/mcp

Findings

Matches of fixed checks, with the text they matched.

8 warn
  • The server marks "find_curriculum" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.

    What this check looks for
  • The server marks "find_curriculum" destructive (destructiveHint: true), and its name says "find", a word for reading.

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.

    What this check looks for
  • The server marks "get_offering_detail" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.

    What this check looks for
  • The server marks "get_offering_detail" destructive (destructiveHint: true), and its name says "get", a word for reading.

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.

    What this check looks for
  • The server marks "search_offerings" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.

    What this check looks for
  • The server marks "search_offerings" destructive (destructiveHint: true), and its name says "search", a word for reading.

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.

    What this check looks for
Show 2 more findings
  • The server marks "compare_offerings" both read-only (readOnlyHint: true) and destructive (destructiveHint: true).

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.

    What this check looks for
  • The server marks "compare_offerings" destructive (destructiveHint: true), and its name says "compare", a word for reading.

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.

    What this check looks for

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).

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.

      What this check looks for
    • Warn

      The server marks "compare_offerings" destructive (destructiveHint: true), and its name says "compare", a word for reading.

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "compare_offerings" says "compare": a word for reading.

      What this check looks for
    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).

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.

      What this check looks for
    • Warn

      The server marks "find_curriculum" destructive (destructiveHint: true), and its name says "find", a word for reading.

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "find_curriculum" says "find": a word for reading.

      What this check looks for
    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).

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.

      What this check looks for
    • Warn

      The server marks "get_offering_detail" destructive (destructiveHint: true), and its name says "get", a word for reading.

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "get_offering_detail" says "get": a word for reading.

      What this check looks for
    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).

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.

      What this check looks for
    • Warn

      The server marks "search_offerings" destructive (destructiveHint: true), and its name says "search", a word for reading.

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "search_offerings" says "search": a word for reading.

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.