Skip to main content
Glama
coreyhines

coreyhines/opnsense-mcp

by coreyhines

nat_outbound

Manage outbound source NAT rules by creating, listing, deleting, and toggling them, while switching between automatic and hybrid rule generation to control traffic translation.

Instructions

Outbound source NAT rules and how they are generated. Call action='help' for each action's fields and rules.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo[mode] When setting: one of automatic, hybrid
uuidNoRecord to act on, identified by a list action.
applyNoApply now rather than leaving the change staged. The default differs by action; action='help' reports each one.
actionYesOperation to run. 'help' lists fields.
targetNo[create] Translation address; empty means the interface address
confirmNoToken returned by the previous call, to confirm.
enabledNoTarget state, set explicitly rather than flipped.
interfaceNo[create] Outgoing interface, usually wan
source_netNo[create] Source network or alias name to translate
action_modeNo[mode] get or set (default get)
descriptionNoFree-text note stored on the record.
static_portNo[create] Preserve the source port
destination_netNo[create] Destination to match (default any)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.0

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior, but it does not mention staged changes, apply semantics, confirm tokens, or that actions mutate state. Saying rules are 'generated' hints at behavior but remains vague for a stateful multi-action tool.

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 description is a single compact sentence with no filler and front-loads the resource name and the help directive. It earns its place, though its brevity contributes to the lack of behavioral context.

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

Completeness2/5

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

With 13 parameters, six actions, no annotations, and no output schema, a one-sentence description is insufficient for safe invocation. The schema covers parameter syntax, but the operational context—staging, apply behavior, confirm flow, and sibling differentiation—is missing.

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%, and parameter descriptions already include bracketed action contexts like [create] and [mode], so the schema does the heavy lifting. The description adds only the pointer to action='help' for per-action details, which is useful but minimal.

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 names a specific resource, 'Outbound source NAT rules,' and mentions how they are generated, which distinguishes it from general routing or firewall tools. However, it lacks an explicit operation verb; the actual actions only appear in the input schema enum.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus sibling tools such as fw_rule or routing. The only use instruction, 'Call action=help', explains how to explore fields but not when this tool should be selected.

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