Skip to main content
Glama

FFxF

Rename a firewall or replace its rules

update_firewall
DestructiveIdempotent

rules REPLACES the whole list and is applied at once to every attached machine: send every rule to keep, not only the new one (read get_firewall first). Removing the SSH rule can lock the agent out. pending_machines counts machines not updated yet, retried automatically. Scope: network.write.

Input Schema

NameRequiredDescriptionDefault
nameNo
rulesNo
firewallYesFirewall id, as returned by list_firewalls or create_firewall.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior5/5

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

Excellent beyond the annotations: it discloses full-replacement semantics (send every rule to keep), the lockout risk of removing the SSH rule, the pending_machines retry behavior, and the required scope network.write. This is consistent with destructiveHint=true and idempotentHint=true and adds real operational context those annotations cannot convey.

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?

Four dense, information-rich sentences with no filler, and the most dangerous fact (rules replaces everything / SSH lockout) is front-loaded. It loses a point for opening without a purpose statement, making the first clause hard to parse out of context.

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?

For a destructive, open-world mutation tool with no output schema and only 33% schema coverage, the safety warnings are strong but key gaps remain: the rename path is unexplained and pending_machines is referenced as a return value that the schema does not define anywhere.

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 only 33%, so the description must compensate and it only partially does. It explains the rules parameter's replace-don't-merge semantics well, but the name parameter is never mentioned at all, leaving the rename behavior undocumented in both places.

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

Purpose3/5

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

The description opens mid-topic with "rules REPLACES the whole list" and never states that the tool also renames a firewall via the name parameter. Its actual purpose is only recoverable from the title. A sibling set_rules also exists and is not mentioned, so the agent cannot tell these apart from the description alone.

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 does give a concrete precondition ("read get_firewall first") and an implied workflow, which is useful. But it never states when to use this tool instead of set_rules, attach_firewall, or create_firewall, and gives no guidance on when renaming alone (no rules) is appropriate.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources