Firewall AIops
Governed OPNsense + pfSense firewall ops: rules, NAT, VPN, DHCP, RCA.
Connector by AIops-tools · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/aiops-tools-firewall-aiops
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 25 read · 7 write · 3 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 35
Read from the source code; the running server may list different tools.
Read 25 · Look things up without changing anything.
alias_entriesblocked_traffic_rcadhcp_leasesdhcp_static_mappingsfirewall_logfirmware_statusgateway_health_rcagateway_statushealth_statusinterface_statusipsec_saslist_aliases
Show 13 more tools
list_rulesnat_one_to_onenat_outboundopenvpn_sessionspending_changesrule_detailrule_hit_and_shadow_analysisrule_statesrule_statsstates_tabletop_talkersundo_listwireguard_status
Write 7 · Create, change, send or run things.
apply_changesnat_port_forwardsrebootreconfigurerestart_servicetoggle_ruleundo_apply
Delete 3 · Delete, drop, revoke or wipe things.
add_alias_entrykill_statesremove_alias_entry
Network hosts it talks to 3
anthropic.com· found in codegithub.com· found in codeglama.ai· found in code
Files it touches
~/.firewall-aiops~/.firewall-aiops/audit.db~/.firewall-aiops/secrets.enc~/.firewall-aiops/undo.db
Tools (35)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_alias_entry[WRITE][risk=medium] Add one entry to an alias; reversible (undo removes it). Captures the alias' prior entries before the change. Pass dry_run=True to preview. Args: name: Alias name (from list_aliases). entry: The host/network/port to add. dry_run: If True, preview without changing. target: Firewall target name from config; omit for the default.
alias_entries[READ] The member entries (hosts/networks/ports) of one alias. Args: name: Alias name (from list_aliases). target: Firewall target name from config; omit for the default.
apply_changes[WRITE][risk=high] Commit staged firewall config — makes edits live. This is the "make it live" step after staged edits (e.g. toggle_rule). Reads the staged rule set first and REFUSES when committing it would provably cut the endpoint this tool manages the firewall through — disabling the 'pass' rule that permits management access, or enabling a 'block' rule that covers it, locks out this tool and the undo that would reverse it. Uncertain cases (alias destinations, 'any', interface groups) warn and proceed. dry_run=True returns the full staged change set and its assessment, not just an ackn…
blocked_traffic_rca[READ] Rank the noisiest blocked sources and classify cause + action. Keeps only blocked firewall-log entries, aggregates by source (hit count, distinct destination ports, busiest port), ranks the noisiest sources, and classifies each as a port scan, a service probe/brute-force on a sensitive port, or generic — with a recommended action. Every entry carries its numbers. Pass 'log_entries' for pure analysis, or a target to pull live. Args: top: How many source rows to return, noisiest first (default 20). limit: How many recent log rows to pull when live (default 500). log_entries:…
dhcp_leases[READ] Active DHCP leases (IP, MAC, hostname, state). Args: online_only: If True, return only leases marked online; leases whose state the platform did not report are counted in ``onlineUnknown``. target: Firewall target name from config; omit for the default.
dhcp_static_mappings[READ] DHCP static (reserved) mappings (MAC ↔ IP). Args: target: Firewall target name from config; omit for the default.
firewall_log[READ] Recent firewall-log entries, optionally filtered to pass/block. Args: action: Optional filter — one of pass, block, reject, rdr, nat. limit: Max entries to return (default 200). target: Firewall target name from config; omit for the default. Returns an envelope: {"entries": [...], "returned": N, "limit": L, "truncated": bool}. When "truncated" is true there are more entries than were returned — re-run with a higher limit rather than treating the result as the complete log.
firmware_status[READ] Firmware / OS version and whether updates are available. Args: target: Firewall target name from config; omit for the default.
gateway_health_rca[READ] Rank gateways by loss + latency, map each down/degraded one to cause + action. The flagship WAN RCA: pulls gateway status, flags each gateway that is down (status down/offline or 100% loss) or degraded (loss/latency over threshold), ranks worst-first, and attaches a likely cause and a recommended action. Every ranking carries its numbers, not a black-box verdict. Pass 'gateways' for pure analysis, or a target to pull live. Args: loss_pct: Loss %% at/above which a gateway is degraded (default 5.0). latency_ms: RTT ms at/above which a gateway is degraded (default 150). gatew…
gateway_status[READ] WAN/LAN gateways with status, loss %, and RTT latency. Args: target: Firewall target name from config; omit for the default.
health_status[READ] System health snapshot: hostname, uptime, CPU, memory, load. Args: target: Firewall target name from config; omit for the default.
interface_status[READ] Interfaces with link status + address, down interfaces first. Args: target: Firewall target name from config; omit for the default.
ipsec_sas[READ] IPsec security associations (phase-1/phase-2) with state. Args: target: Firewall target name from config; omit for the default.
kill_states[WRITE][risk=medium] Flush pf state-table entries (optionally one source IP). Drops tracked connections; they re-establish on the next packet. This includes THIS tool's own connection state, so the call may appear to fail even though the flush ran — that is a lost response, not a lockout, and a blind retry is the wrong reaction. Access is not lost: the permitting rule is untouched. Pass dry_run=True to preview. Args: filter_ip: Optional source IP to scope the flush to (blank = all states). dry_run: If True, preview without flushing. target: Firewall target name from config; omit …
list_aliases[READ] All firewall aliases (name, type, description, member count). Args: target: Firewall target name from config; omit for the default.
Show 20 more tools
list_rules[READ] List filter rules (optionally on one interface), normalized. Args: interface: Optional interface name to filter by (e.g. wan, lan). target: Firewall target name from config; omit for the default.
nat_one_to_one[READ] 1:1 NAT mappings (external ↔ internal), normalized. Args: target: Firewall target name from config; omit for the default.
nat_outbound[READ] Outbound (source) NAT mappings, normalized. Args: target: Firewall target name from config; omit for the default.
nat_port_forwards[READ] Inbound port-forward (DNAT) rules, normalized. Args: target: Firewall target name from config; omit for the default.
openvpn_sessions[READ] OpenVPN sessions / connected clients (name, address, bytes). Args: target: Firewall target name from config; omit for the default.
pending_changes[READ] The staged rule set apply_changes would commit, with lockout risk. Run this BEFORE apply_changes. It reports whether committing the staged rules would cut the endpoint this tool manages the firewall through — a disabled 'pass' rule that permits management access, or an enabled 'block' rule that covers it. Findings are ranked worst-first and carry a `certain` flag: certain ones make apply_changes refuse, uncertain ones (alias destinations, 'any', interface groups) are warnings only and never block. `basis` states what this is: the staged rule STATE, not a diff against the running confi…
reboot[WRITE][risk=high] Reboot the firewall. IRREVERSIBLE — audit only, no undo. Pass dry_run=True to preview. Args: dry_run: If True, preview without rebooting. target: Firewall target name from config; omit for the default.
reconfigure[WRITE][risk=high] Reload/commit a subsystem's config (filter/nat/aliases). Reloading the 'filter' subsystem commits the staged rule set just as apply_changes does, so it carries the same lockout guard and the same override. Args: subsystem: Config subsystem to reload (filter, nat, aliases). dry_run: If True, preview without reconfiguring. override: Proceed despite a certain lockout finding (filter subsystem). target: Firewall target name from config; omit for the default.
remove_alias_entry[WRITE][risk=medium] Remove one entry from an alias; reversible (undo adds it back). Captures the alias' prior entries before the change. Pass dry_run=True to preview. Args: name: Alias name (from list_aliases). entry: The host/network/port to remove. dry_run: If True, preview without changing. target: Firewall target name from config; omit for the default.
restart_service[WRITE][risk=medium] Restart a firewall service (unbound, dhcpd, openvpn, ...). REFUSES the service that answers this appliance's own management API (nginx / lighttpd / configd / webgui and friends): restarting it kills the connection this tool is using, so the restart cannot be observed and the undo cannot run. Restart those from the console instead. Pass dry_run=True to preview. Args: service: Service name to restart. dry_run: If True, preview without restarting. target: Firewall target name from config; omit for the default.
rule_detail[READ] One rule's full detail by uuid/id. Args: uuid: Rule uuid (OPNsense) or id (pfSense), from list_rules. target: Firewall target name from config; omit for the default.
rule_hit_and_shadow_analysis[READ] Flag never-hit enabled rules and shadowed/redundant rules. Finds enabled rules with zero evaluations (dead or misordered), rules fully covered by an earlier terminating rule (shadowed), and rules identical to an earlier one (redundant). Rules are compared in list order, top-down, exactly as pf evaluates them; every finding names the offending/covering rule uuid. Pass 'rules' for pure analysis, or a target to pull live. Args: rules: Injected rows {uuid, sequence, enabled, action, interface, protocol, source, destination, destinationPort, evaluations}. interface: Optiona…
rule_states[READ] Active pf state-table entries associated with rules (top-N). Args: top: How many state entries to return (default 50). target: Firewall target name from config; omit for the default.
rule_stats[READ] Per-rule hit counts / evaluations, busiest first (top-N). Args: top: How many rules to return, busiest first (default 20). target: Firewall target name from config; omit for the default.
states_table[READ] Active pf state-table entries (connections currently tracked). Args: top: How many state entries to return (default 100). target: Firewall target name from config; omit for the default. Returns an envelope: {"states": [...], "returned": N, "limit": L, "truncated": bool, "total": T}. "truncated" is true when the state table holds more entries than were returned.
toggle_rule[WRITE][risk=medium] Enable/disable a filter rule; reversible. Reads the rule first so the harness records an undo that restores its prior enabled state. Staged only — run apply_changes to make it live. Pass dry_run=True to preview. Args: uuid: Rule uuid (OPNsense) or id (pfSense), from list_rules. enable: True to enable the rule, False to disable. dry_run: If True, preview without changing. target: Firewall target name from config; omit for the default.
top_talkers[READ] Busiest source hosts, aggregated from the state table by bytes. Args: top: How many talkers to return (default 20). target: Firewall target name from config; omit for the default. Returns an envelope: {"topTalkers": [...], "returned": N, "limit": L, "truncated": bool, "total": T}. "truncated" is true when more distinct sources were seen than were returned.
undo_apply[WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool. The inverse runs through its own governed tool, so it is audited and labelled with its own risk tier there. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once. Args: undo_id: The undoId from undo_list (or an ``_undo_id`` in a write result). dry_run: If True, preview the inverse tool + params without running it. target: Passed through to the inverse tool when it accepts a target.
undo_list[READ] List recorded, not-yet-applied undo tokens (most recent first). Each entry names the original tool, the inverse tool that ``undo_apply`` would run, and a human note. Use the ``undoId`` with ``undo_apply``. Returns {"undos": [...], "returned": N, "limit": L, "truncated": bool}. ``truncated`` is *measured* (one extra row is fetched), not guessed from a length coincidence: when it is true there are MORE tokens than shown, so re-run with a higher ``limit`` rather than reporting the list as complete. Each entry carries ``effectVerified``. False means the original write lost its response, …
wireguard_status[READ] WireGuard peers with connected state, last handshake, transfer. Args: target: Firewall target name from config; omit for the default.
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 231
- Last commit
- Oct 15, 2026 (13 days ago)
- Last release
- Oct 15, 2026 (13 days ago)
- Last package publish
- Oct 15, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.AIops-tools/firewall-aiops- Version
- 0.15.0
- Auth
- No auth
- Packages
- pypi firewall-aiops
- License
- MIT
- Repository
- github.com/AIops-tools/Firewall-AIops
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from AIops-tools
- 0.569score
OT AIops
AIops-tools
Governed OT tap (57 tools): OPC-UA/Modbus/S7/MC/MTConnect/MQTT/EtherNet-IP/EtherCAT.
ConnectorAFreshness: ALocal★ 7↓ 81/wkClaude Code +5 - 0.567score
Proxmox AIops
AIops-tools
Governed Proxmox VE VM/container ops — 43 MCP tools with audit, budget, undo & risk-tier guards.
ConnectorAFreshness: ALocal★ 3↓ 221/wkClaude Code +5 - 0.550score
Veeam AIops
AIops-tools
Governed Veeam Backup & Replication ops — 27 MCP tools with audit, budget, undo guards.
ConnectorAFreshness: ALocal↓ 267/wkClaude Code +5 - 0.550score
Proxy AIops
AIops-tools
Governed Traefik + Caddy + HAProxy ops: routes, upstreams, certs, 5xx RCA.
ConnectorAFreshness: ALocal↓ 250/wkClaude Code +5 - 0.550score
Identity AIops
AIops-tools
Governed Keycloak + authentik identity ops: users, events, clients, MFA, RCA.
ConnectorAFreshness: ALocal↓ 242/wkClaude Code +5 - 0.550score
TrueNAS AIops
AIops-tools
Governed TrueNAS SCALE storage ops — 25 MCP tools with audit, budget, undo guards.
ConnectorAFreshness: ALocal↓ 240/wkClaude Code +5
Cite this page
Firewall AIops MCP server. Agent Mart. https://agentmart.dev/connectors/aiops-tools-firewall-aiops (last updated 2026-10-25)