Skip to main content
Glama

post_parental_filter

Add a parental filter rule to control internet access by blocking or allowing specific devices or content.

Instructions

Add a parental filter rule

Error codes: inval, exist, noent

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / properties / body
      Added value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
    • removedInput schema / properties / current_mapping_idx
      Removed value: -{
      -  "description": "current index used in planning to compute filter_state (only relevant when scheduling_mode is planning)",
      -  "type": "integer"
      -}
    • removedInput schema / properties / desc
      Removed value: -{
      -  "description": "a description for this rule",
      -  "type": "string"
      -}
    • removedInput schema / properties / filter_state
      Removed value: -{
      -  "description": "Values: `allowed`: access is allowed; `denied`: access is denied; `webonly`: access is granted only for HTTP and HTTPS traffic",
      -  "enum": [
      -    "allowed",
      -    "denied",
      -    "webonly"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / forced
      Removed value: -{
      -  "description": "is set to true, the rule will not use the planning and will always stay in the forced_mode",
      -  "type": "boolean"
      -}
    • removedInput schema / properties / forced_mode
      Removed value: -{
      -  "description": "the filter policy to use when forced is set to true (see filter_state for valid states)",
      -  "type": "string"
      -}
    • removedInput schema / properties / hosts
      Removed value: -{
      -  "description": "the list of hostnames associated with macs",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / id
      Removed value: -{
      -  "description": "filter id",
      -  "type": "integer"
      -}
    • removedInput schema / properties / ip
      Removed value: -{
      -  "description": "only filled for old rules, you cannot set a rule with an IP",
      -  "type": "string"
      -}
    • removedInput schema / properties / macs
      Removed value: -{
      -  "description": "the list of mac addresses the rule should be applied to",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / next_change
      Removed value: -{
      -  "description": "seconds until next filter_state change 0 means filter_state won’t change",
      -  "type": "integer"
      -}
    • removedInput schema / properties / scheduling_mode
      Removed value: -{
      -  "description": "Values: `forced`: filter_state is forced to forced_mode; `temporary`: filter_state is temporary set to tmp_mode for the next tmp_mode_expire seconds; `planning`: filter_state is set using the planning",
      -  "enum": [
      -    "forced",
      -    "temporary",
      -    "planning"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / tmp_mode
      Removed value: -{
      -  "description": "the filter policy to use when tmp_mode_expire is != 0 (see filter_state for valid states)",
      -  "type": "string"
      -}
    • removedInput schema / properties / tmp_mode_expire
      Removed value: -{
      -  "description": "if != 0 the rule will not use the planning for the next tmp_mode_expire seconds",
      -  "type": "integer"
      -}
  2. First observedv0.1.0

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only lists error codes ('inval', 'exist', 'noent') which hint at validation and existence checks, but does not state that this is a creation (mutating) operation, nor does it mention idempotency, permissions, or side effects.

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

Conciseness3/5

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

The description is very short, but it includes error codes which add value. However, it is under-specified and omits critical information, so it is not optimally concise.

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

Completeness2/5

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

Given the presence of an output schema and the tool's role in a family of parental filter operations, the description should explain what the body should contain and what the response represents. The current description is insufficient for an agent to use correctly.

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

Parameters1/5

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

The input schema has a single body object with additionalProperties: true and no required fields. Schema description coverage is 0%, so the description should explain what fields the body can contain. It does not, leaving the agent with no guidance on how to construct the request.

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

Purpose4/5

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

The description clearly states 'Add a parental filter rule', which matches the POST verb and resource. Among siblings like get_parental_filter, put_parental_filter_id, etc., this tool is uniquely for creation. However, the description does not explicitly distinguish itself from other POST tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No prerequisites, context, or exclusion criteria are mentioned. The user is left to infer usage from the name and description.

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

Install Server

Other Tools