Skip to main content
Glama
lucamarien

OPNsense MCP Server

by lucamarien

opn_set_rule_categories

Set categories on a firewall rule by UUID; changes revert automatically in 60 seconds unless confirmed.

Instructions

Assign categories to a firewall rule by UUID with savepoint protection.

Use this when you need to categorize or re-categorize a firewall rule. Changes auto-revert in 60 seconds unless confirmed with opn_confirm_changes.

Parameters:

  • uuid: the firewall rule UUID (from opn_list_firewall_rules)

  • categories: comma-separated category UUIDs (from opn_list_firewall_categories), or empty string to clear all categories

Returns: dict with 'revision' (str) for confirming and 'uuid' (str).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
uuidYes
categoriesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the critical behavioral trait that changes auto-revert in 60 seconds unless confirmed. It also describes the return structure. It does not mention permissions or other side effects, but the safety mechanism is well communicated.

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 well-structured. It front-loads the purpose in the first sentence, then provides usage context, parameter details, and return information in a clear, scannable format with no unnecessary words.

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 tool's moderate complexity (modifying a firewall rule with savepoint protection) and the presence of an output schema (though still documented in description), the description covers all necessary aspects: what it does, when to use it, parameter semantics, behavioral traits (auto-revert), and return structure. No gaps remain.

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 description coverage is 0%, so the description must compensate. It does so excellently by explaining the uuid parameter as 'firewall rule UUID (from opn_list_firewall_rules)' and the categories parameter as 'comma-separated category UUIDs (from opn_list_firewall_categories), or empty string to clear all categories'. This adds essential context beyond the schema's type-only information.

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 clearly states the action ('Assign categories'), resource ('firewall rule'), and method ('by UUID'). It also mentions 'savepoint protection', which distinguishes it from other firewall rule tools.

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?

The description explicitly tells when to use it ('when you need to categorize or re-categorize a firewall rule') and mentions the auto-revert mechanism and confirmation tool (opn_confirm_changes). However, it does not explicitly state when not to use it or compare to sibling tools like opn_update_firewall_rule.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lucamarien/opnsense-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server