Skip to main content
Glama

remove_firewall_rule

DestructiveIdempotent

Permanently delete a MikroTik firewall rule by its rule ID, using an optional comment match to confirm you're removing the intended rule. Disable the rule instead if you may need to restore it.

Instructions

Delete a firewall rule permanently.

There is no undo. Disabling a rule (set_firewall_rule_enabled) is almost always the better first move, and the returned copy of the deleted rule is the only record you will have afterwards.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rule_idYesThe rule 'id' from list_firewall_rules, e.g. '*7'.
confirm_commentNoIf given, the removal only proceeds when the rule's comment matches. Cheap insurance that you are deleting the rule you think you are.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark destructiveHint=true and idempotentHint=true, but the description goes further by stating 'There is no undo' and emphasizing the permanence of the deletion. It also warns that the returned copy is the only record, adding critical behavioral context beyond the structured hints. No contradiction with annotations; the description reinforces and enriches them.

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?

The description is concise and front-loaded with the core purpose. It uses a short second paragraph to convey essential warnings and alternatives without fluff. Every sentence adds value, and the structure makes it easy for an agent to quickly grasp the tool's intent and usage.

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?

Given the presence of an output schema (mentioned in signals), the description need not enumerate return values, but it does highlight the returned copy of the deleted rule as important. It covers purpose, usage guidance, and irreversible consequences. The description is complete for an agent to invoke the tool correctly, including the caution about disabling first.

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%, with both rule_id and confirm_comment already fully documented (e.g., rule_id is 'The rule id from list_firewall_rules, e.g. *7'). The tool description does not add any extra parameter semantics beyond the schema, so the baseline of 3 is appropriate—the schema carries the parameter explanation.

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 clear verb and resource: 'Delete a firewall rule permanently.' It also distinguishes the action from the sibling set_firewall_rule_enabled by explicitly naming that alternative. This makes the tool's purpose unambiguous and differentiates it from a related operation.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance by stating that disabling the rule is 'almost always the better first move,' which tells the agent when to prefer set_firewall_rule_enabled over this tool. It also advises that the returned copy is the only record, implying the agent should capture it. This is clear, actionable guidance for when to use the tool.

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