Skip to main content
Glama

Call Write Tool

call_write_tool
Destructive

Execute enabled UniFi configuration write tools with target validation, dry-run, permission checks, audit logging, and secret scrubbing before live changes.

Instructions

Execute a tool that may mutate live configuration through registered dispatch.

Describe the target first. Target validation, per-area opt-outs, UNIFI_READ_ONLY, OAuth permissions, dry-run, audit and secret scrubbing match a direct call.

Args: name: Exact enabled tool name, for example "set_firewall_policy_ordering". arguments: Target schema arguments from describe_tool; for example {"host": "console", "site": "default"} plus the target's required fields.

Input Schema

NameRequiredDescriptionDefault
nameYesExact enabled tool name, for example "set_firewall_policy_ordering".
argumentsYesTarget schema arguments from describe_tool; for example {"host": "console", "site": "default"} plus the target's required fields.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the destructive/openWorld/non-idempotent annotations, the description discloses material behavior: target validation, per-area opt-outs, a UNIFI_READ_ONLY mode, OAuth permission checks, dry-run, audit logging, and secret scrubbing, and states these match a direct call. The dry-run mention is not tied to any parameter, so an agent cannot tell how to trigger it, which keeps this short of a 5.

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 behavioral paragraph is front-loaded and dense with useful facts, and the Args block is short. It does duplicate the input schema almost word for word, and the comma-separated list of enforcement mechanisms (opt-outs, OAuth, dry-run, audit, scrubbing) is packed without structure, which costs some clarity.

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

Completeness4/5

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

For an open-world, destructive dispatcher with a nested free-form arguments object, the description covers the key preconditions and safety equivalence to a direct call well. It leaves gaps around failure behavior and whether the target's output is passed through unchanged, but with no output schema those are the only notable omissions.

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%, so the baseline is 3. The Args block largely restates the schema text for name and arguments verbatim; the only added signal is that arguments must come from describe_tool and include host/site context, which the schema description already conveys.

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 uses a specific verb and resource: 'Execute a tool that may mutate live configuration through registered dispatch,' which makes the dispatch/meta nature clear. It does not explicitly name the sibling call_read_tool as the read-only alternative, so the distinction is implied by 'may mutate' rather than stated.

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

Usage Guidelines3/5

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

It gives one concrete prerequisite: 'Describe the target first,' and later references describe_tool as the source of arguments, which is genuine workflow guidance. However, it never says when to prefer call_read_tool over this tool, nor what happens when the target turns out to be read-only, so exclusions are left to inference from the name.

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