Skip to main content
Glama

remove_from_address_list

Delete a specific IP address entry from a MikroTik firewall address-list by matching list name and address. Preview first, then confirm to apply the removal.

Instructions

Remove the entry matching list_name+address from a firewall address-list (/ip/firewall/address-list).

Like add_to_address_list, this only manages the list - see that tool's docstring and README's "Blocking/allowing a client via address lists" section for why this alone doesn't guarantee a change in blocking/allowing behavior.

WRITE tool, guarded: blocked entirely unless the server is running with MIKROTIK_ALLOW_WRITE=true. Call with confirm=False (the default) to get a preview of what would be removed; call again with confirm=True to actually remove it. Errors clearly if no entry matches list_name+address.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addressYes
confirmNo
list_nameYes
device_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.11.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it declares this is a WRITE tool gated behind MIKROTIK_ALLOW_WRITE=true, explains the two-phase confirm/preview protocol, and warns that list membership alone does not guarantee a change in blocking behavior. That is exactly the behavioral context an agent needs.

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?

Front-loaded with the core action and match key, then layered with the guard and confirm flow. It is slightly verbose with the README cross-reference, but every sentence adds operative information.

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?

An output schema exists so return values need not be described. Given a 4-param write tool with no annotations, the description covers safety gating, the confirm protocol, matching semantics, and error behavior — everything needed to invoke it correctly.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate and largely does: it explains that `list_name` and `address` form the match key, and that `confirm` defaults to false and controls preview vs. execution. Only `device_name` is left undocumented, but the explanation of the matching and confirm semantics is substantial.

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?

States a specific verb (remove) plus the exact match key (`list_name`+`address`) and the resource path (/ip/firewall/address-list). It also distinguishes itself from the sibling add_to_address_list and implicitly from remove_from_ipv6_address_list.

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

Usage Guidelines4/5

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

Gives clear operational guidance: preview with confirm=False (default) then re-call with confirm=True, plus the condition that errors occur when no entry matches. It cross-references add_to_address_list for context but never states when *not* to use this versus the IPv6 variant or a firewall-rule edit.

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

Deploy Server

Other Tools