Skip to main content
Glama

Block client

block_client
DestructiveIdempotent

Block a registered client by MAC address on a Keenetic router to prevent it from accessing the network.

Instructions

Block a registered client by MAC address

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
macYesMAC address to block, e.g. aa:bb:cc:dd:ee:ff

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.9.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered by structured data. The description adds only one behavioral detail beyond them — that the target must be a registered client — but says nothing about what blocking actually does (deny network access?), whether it persists across reboots, or how to reverse it.

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

Conciseness5/5

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

One short sentence with zero waste; the action and its target/identifier are front-loaded and nothing is padded.

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

Completeness3/5

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

A single-required-param mutation tool with annotations and no output schema does not need much, but for a destructive operation the description leaves out the effect of blocking and the recovery path (unblock_client), which are the details an agent would want before calling it.

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

Parameters3/5

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

Schema description coverage is 100% and the single mac parameter is documented with a concrete example (aa:bb:cc:dd:ee:ff), so the schema carries the parameter burden. The description only restates 'by MAC address' and adds no format or validation detail beyond the schema.

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?

States a specific verb (Block) plus resource (registered client) and the identifier used (MAC address), so the agent knows exactly what the call does. It partially differentiates from siblings via 'registered client' (implying register_client must precede it) and contrasts implicitly with unblock_client, but never names those alternatives.

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 when-to-use or when-not-to-use guidance. The word 'registered' hints that unregistered clients (see get_unregistered_clients) are out of scope, but the prerequisite is never stated, and the obvious alternative unblock_client is not referenced.

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