Skip to main content
Glama

parental_control

Idempotent

Configure parental controls for a NextDNS profile: block, pause, or allow apps, sites, and categories, set recreation hours, and toggle safe search and YouTube restricted mode.

Instructions

Change a profile's parental control: block, unblock, pause or resume apps and sites (services) and categories, set recreation time (the hours when chosen ones are allowed), and switch safe search, YouTube restricted mode and bypass blocking. Take the IDs from catalog (kind services or categories); use list_entries for single domains. Changes the profile and records it, so undo can put it back; unknown IDs or times are refused, and anything already set is skipped. Returns what changed, the change ID and the parental control settings after.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pauseNoBlocked services or categories to keep in the list but stop blocking for now.
resumeNoPaused services or categories to start blocking again.
profileNoThe profile's ID or name. Leave empty for the only profile, or the default one.
safe_searchNotrue or false: force safe search on search engines. Leave empty to keep it as it is.
block_bypassNotrue or false: block VPNs, proxies and other ways around the filter. Leave empty to keep it as it is.
block_servicesNoApps and sites to block, like tiktok, instagram or fortnite (from catalog, kind services).
block_categoriesNoCategories to block, like porn, gambling, dating, piracy, gaming, social-networks or video-streaming.
recreation_timesNoRecreation hours per day, like {"monday": "18:00-20:00", "saturday": "10:00-22:00"}. "" removes a day.
unblock_servicesNoServices to take off the block list.
unblock_categoriesNoCategories to take off the block list.
allow_in_recreationNoBlocked services or categories to allow during recreation time.
block_in_recreationNoServices or categories to keep blocked during recreation time too.
recreation_timezoneNoThe time zone for recreation_times, like Europe/Lisbon. Needed once times are set.
youtube_restricted_modeNotrue or false: force YouTube's restricted mode. Leave empty to keep it as it is.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / properties / allow_in_recreation / description
      Added value: +"Blocked services or categories to allow during recreation time."
    • addedInput schema / properties / block_bypass / description
      Added value: +"true or false: block VPNs, proxies and other ways around the filter. Leave empty to keep it as it is."
    • addedInput schema / properties / block_categories / description
      Added value: +"Categories to block, like porn, gambling, dating, piracy, gaming, social-networks or video-streaming."
    • addedInput schema / properties / block_in_recreation / description
      Added value: +"Services or categories to keep blocked during recreation time too."
    • addedInput schema / properties / block_services / description
      Added value: +"Apps and sites to block, like tiktok, instagram or fortnite (from catalog, kind services)."
    • addedInput schema / properties / pause / description
      Added value: +"Blocked services or categories to keep in the list but stop blocking for now."
    • addedInput schema / properties / profile / description
      Added value: +"The profile's ID or name. Leave empty for the only profile, or the default one."
    • addedInput schema / properties / recreation_times / description
      Added value: +"Recreation hours per day, like {\"monday\": \"18:00-20:00\", \"saturday\": \"10:00-22:00\"}. \"\" removes a day."
    • addedInput schema / properties / recreation_timezone / description
      Added value: +"The time zone for recreation_times, like Europe/Lisbon. Needed once times are set."
    • addedInput schema / properties / resume / description
      Added value: +"Paused services or categories to start blocking again."
    • addedInput schema / properties / safe_search / description
      Added value: +"true or false: force safe search on search engines. Leave empty to keep it as it is."
    • addedInput schema / properties / unblock_categories / description
      Added value: +"Categories to take off the block list."
    • addedInput schema / properties / unblock_services / description
      Added value: +"Services to take off the block list."
    • addedInput schema / properties / youtube_restricted_mode / description
      Added value: +"true or false: force YouTube's restricted mode. Leave empty to keep it as it is."
  2. First observedv0.8.1

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (which only declare readOnly=false, idempotent=true, destructive=false, openWorld=false), the description adds substantial context: changes are recorded so 'undo can put it back', invalid IDs/times are refused, redundant entries are skipped, and it returns what changed plus the change ID and resulting settings. This is exactly the behavioral disclosure that annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The capability list is front-loaded and each sentence carries information (capabilities, ID sourcing, side effects, validation, return shape). It is dense but not padded; a slightly tighter phrasing could reduce the run-on feel, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter, zero-required mutation tool with an output schema and annotations present, the description covers ID sourcing, safety/reversibility, error and skip behavior, and the return payload. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real value: it clarifies that IDs must come from catalog/list_entries, that recreation time is 'the hours when chosen ones are allowed', and that unblock/pause/resume operate on entries already in the block list. This cross-parameter context goes beyond the per-field schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Change a profile's parental control') and then enumerates the full capability set: block/unblock/pause/resume services and categories, recreation time, safe search, YouTube restricted mode, and bypass blocking. An agent can identify exactly what this tool does and distinguish it from siblings like profile_settings or privacy without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete routing guidance for the trickiest prerequisite: take IDs from 'catalog (kind services or categories)' and use 'list_entries for single domains'. It also states validation behavior (unknown IDs or times refused, already-set items skipped). It stops short of explicit when-to-use vs. sibling tools like privacy/security/profile_settings, so 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.