Skip to main content
Glama
itunified-io

mcp-opnsense

by itunified-io

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OPNSENSE_URLYesOPNsense base URL (e.g. https://192.168.1.1)
OPNSENSE_API_KEYYesAPI key for authentication
OPNSENSE_TIMEOUTNoRequest timeout in milliseconds30000
OPNSENSE_API_SECRETYesAPI secret for authentication
OPNSENSE_VERIFY_SSLNoSet to false for self-signed certificatestrue

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
opnsense_dns_list_overridesA

List all DNS host overrides (A/AAAA/CNAME records) configured in Unbound

opnsense_dns_add_overrideA

Add a DNS host override (A/AAAA/CNAME record) to Unbound. Run opnsense_dns_apply afterwards to activate.

opnsense_dns_delete_overrideA

Delete a DNS host override by UUID. Run opnsense_dns_apply afterwards to activate.

opnsense_dns_list_forwardsA

List all DNS-over-TLS forwarding servers configured in Unbound

opnsense_dns_add_forwardA

Add a DNS forwarding server (DNS-over-TLS). Run opnsense_dns_apply afterwards to activate.

opnsense_dns_delete_forwardA

Delete a DNS forwarding entry by UUID. Run opnsense_dns_apply afterwards to activate.

opnsense_dns_list_blocklistA

List all domain overrides (used for domain blocking) in Unbound

opnsense_dns_block_domainA

Block a domain by adding a domain override with an empty server. Run opnsense_dns_apply afterwards to activate.

opnsense_dns_unblock_domainA

Unblock a domain by deleting its domain override. Run opnsense_dns_apply afterwards to activate.

opnsense_dns_flush_cacheB

Flush the Unbound DNS resolver cache

opnsense_dns_diagnosticsB

Dump the current Unbound DNS cache for diagnostic purposes

opnsense_dns_applyA

Apply pending DNS/Unbound configuration changes (reconfigure service)

opnsense_dns_flush_zoneA

Flush all cached DNS entries for a specific domain/zone. Use this to clear stale SERVFAIL or outdated records for a domain. Restarts Unbound to ensure complete cache clearing.

opnsense_dns_cache_searchA

Search the Unbound DNS cache for entries matching a domain. Useful for diagnosing cached SERVFAIL, stale records, or verifying cache state.

opnsense_dns_statsA

Get Unbound DNS resolver statistics: query counts, cache hits/misses, uptime, and memory usage

opnsense_dns_infraA

Dump the Unbound infrastructure cache showing upstream server RTT, EDNS support, and lame delegation status. Useful for diagnosing upstream DNS connectivity issues.

opnsense_dns_blocklist_getA

Get the Unbound DNSBL (DNS blocklist) configuration: enabled flag, selected built-in source IDs, custom URLs, NX-domain mode, allowlist. Read-only.

opnsense_dns_blocklist_sources_listA

List all available built-in DNSBL block-list sources (curated feeds like AdGuard, EasyList, hagezi, Steven Black, etc.) with their internal IDs and selected state. Read-only.

opnsense_dns_blocklist_setA

Update the Unbound DNSBL configuration: enable/disable, select multiple built-in source IDs, set custom blocklist URLs, configure NX-domain mode. After this, call opnsense_dns_apply to activate. DESTRUCTIVE: requires explicit confirmation.

opnsense_fw_list_rulesA

List all firewall filter rules

opnsense_fw_add_ruleA

Add a new firewall filter rule. Run opnsense_fw_apply afterwards to activate.

opnsense_fw_update_ruleA

Update an existing firewall filter rule by UUID. Run opnsense_fw_apply afterwards to activate.

opnsense_fw_delete_ruleA

Delete a firewall filter rule by UUID. Run opnsense_fw_apply afterwards to activate.

opnsense_fw_toggle_ruleA

Enable or disable a firewall rule by UUID. Run opnsense_fw_apply afterwards to activate.

opnsense_fw_list_aliasesA

List all firewall aliases (host groups, networks, ports, URLs)

opnsense_fw_manage_aliasA

Create, update, or delete a firewall alias. Run opnsense_fw_apply afterwards to activate.

opnsense_fw_applyA

Apply pending firewall configuration changes

opnsense_fw_reorder_rulesA

Change the sequence (ordering) of a firewall filter rule by UUID. Rules with lower sequence values are evaluated first. Use this to enforce whitelist-before-deny ordering. Run opnsense_fw_apply afterwards to activate.

opnsense_fw_drift_checkA

Audit firewall filter rules for description hygiene. Returns rules whose description does not match the given regex (default: '^#\d+:' — issue-reference prefix) and rules with empty descriptions. Read-only.

opnsense_diag_arp_tableA

Show the ARP table (IP-to-MAC mappings). Optionally filter by IP, MAC, or interface.

opnsense_diag_routesA

Show the routing table

opnsense_diag_pingB

Ping a host from the OPNsense firewall

opnsense_diag_tracerouteB

Run a traceroute from the OPNsense firewall to a destination

opnsense_diag_dns_lookupB

Perform a DNS lookup from the OPNsense firewall

opnsense_diag_reverse_dnsA

Perform a reverse DNS lookup (IP to hostname) from the OPNsense firewall

opnsense_diag_fw_statesA

List active firewall connection tracking states

opnsense_diag_fw_logsB

Retrieve recent firewall log entries

opnsense_diag_system_infoA

Get system status information (CPU, memory, uptime, disk, versions)

opnsense_diag_log_systemA

Retrieve recent OPNsense system log entries (kernel, generic system events).

opnsense_diag_log_gatewaysA

Retrieve recent OPNsense gateway monitoring (dpinger) log entries — useful for WAN/gateway health debugging.

opnsense_diag_log_routingB

Retrieve recent OPNsense routing daemon log entries.

opnsense_diag_log_resolverB

Retrieve recent Unbound DNS resolver log entries.

opnsense_if_listA

List all network interface names and their device mappings

opnsense_if_getA

Get detailed configuration for a specific network interface (IP addresses, status, MTU, etc.)

opnsense_if_statsA

Get traffic statistics for all interfaces (bytes, packets, errors, collisions)

opnsense_if_assignA

Assign an existing VLAN or NIC device to a free optN slot via SSH. Requires OPNSENSE_SSH_ENABLED=true and the opnsense-helpers/if_assign.php script installed on the target host. Fills the gap where the OPNsense REST API has no 'Interfaces → Assignments' endpoint.

opnsense_if_configureA

Configure IPv4/IPv6 on an already-assigned optN slot via SSH. Supports static, dhcp, dhcp6, track6, and 'none'. Requires OPNSENSE_SSH_ENABLED=true and the opnsense-helpers/if_configure.php script installed on the target host.

opnsense_dhcp_list_leasesA

List all current DHCPv4 leases. Supports both Kea DHCP (default on modern OPNsense) and ISC DHCP (legacy) backends — auto-detects which is active.

opnsense_dhcp_find_leaseA

Search DHCPv4 leases by IP address, MAC address, or hostname. Supports both Kea DHCP and ISC DHCP (legacy) backends — auto-detects which is active.

opnsense_dhcp_list_staticA

List all static DHCP mappings (MAC-to-IP reservations). Supports both Kea DHCP and ISC DHCP (legacy) backends — auto-detected.

opnsense_dhcp_add_staticA

Add a static DHCP mapping (MAC-to-IP reservation). Supports both Kea DHCP and ISC DHCP (legacy) backends — auto-detected. Requires DHCP service restart to take effect.

opnsense_dhcp_delete_staticA

Delete a static DHCP mapping by UUID. Supports both Kea DHCP and ISC DHCP (legacy) backends — auto-detected.

opnsense_kea_subnet_listA

List all Kea DHCPv4 subnets with their pools, options, and reservation counts.

opnsense_kea_subnet_getA

Get detailed configuration of a specific Kea DHCPv4 subnet by UUID.

opnsense_kea_subnet_createA

Create a new Kea DHCPv4 subnet. Run opnsense_kea_apply afterwards to activate.

opnsense_kea_subnet_updateA

Update an existing Kea DHCPv4 subnet. Run opnsense_kea_apply afterwards to activate.

opnsense_kea_subnet_deleteA

Delete a Kea DHCPv4 subnet by UUID. Run opnsense_kea_apply afterwards to activate.

opnsense_kea_applyA

Apply pending Kea DHCP configuration changes (reconfigure service). Run after subnet or reservation changes.

opnsense_sys_infoA

Get system status information (hostname, versions, CPU, memory, uptime, disk usage)

opnsense_sys_backup_listA

List all configuration backups stored on the OPNsense filesystem with timestamps, descriptions, and file sizes

opnsense_sys_backup_downloadA

Download an OPNsense configuration backup as XML. Downloads the current running config if no backup_id is specified.

opnsense_sys_backup_revertA

Revert OPNsense configuration to a previous backup. DESTRUCTIVE: replaces the running config with the specified backup.

opnsense_sys_list_certsA

List all certificates in the OPNsense trust store with their refids, descriptions, and validity dates

opnsense_svc_listA

List all services and their running status

opnsense_svc_controlB

Start, stop, or restart a service by name

opnsense_acme_list_accountsA

List all ACME accounts (Let's Encrypt, ZeroSSL, etc.) configured in the os-acme-client plugin

opnsense_acme_add_accountB

Register a new ACME account with a certificate authority (Let's Encrypt, ZeroSSL, etc.). Run opnsense_acme_apply afterwards.

opnsense_acme_delete_accountA

Delete an ACME account by UUID. Run opnsense_acme_apply afterwards.

opnsense_acme_register_accountA

Trigger registration of an ACME account with its certificate authority. Use after adding an account to verify it registers successfully.

opnsense_acme_list_challengesA

List all configured ACME challenge/validation methods (DNS-01, HTTP-01, etc.)

opnsense_acme_add_challengeA

Add a DNS-01 challenge configuration for automated certificate validation. For Cloudflare, use the dedicated dns_cf_* fields instead of dns_environment. Run opnsense_acme_apply afterwards.

opnsense_acme_update_challengeA

Update an existing ACME challenge/validation by UUID. Use to change credentials or settings. Run opnsense_acme_apply afterwards.

opnsense_acme_delete_challengeA

Delete an ACME challenge/validation method by UUID. Run opnsense_acme_apply afterwards.

opnsense_acme_list_certsA

List all ACME certificates and their status (issued, pending, expired)

opnsense_acme_create_certA

Create a new ACME certificate request. Requires an account and challenge to be configured first. Run opnsense_acme_apply afterwards.

opnsense_acme_delete_certA

Delete an ACME certificate by UUID. Run opnsense_acme_apply afterwards.

opnsense_acme_renew_certA

Trigger immediate renewal/signing of an ACME certificate by UUID

opnsense_acme_settingsA

Get or update ACME service settings (enable/disable, environment, auto-renewal, log level). When called with no parameters, returns current settings. Run opnsense_acme_apply afterwards when updating.

opnsense_acme_applyA

Apply pending ACME configuration changes (reconfigure service)

opnsense_firmware_infoA

Get firmware version, architecture, and update status of the OPNsense system

opnsense_firmware_statusA

Check for available firmware upgrades and their status (running, pending, done). Reads the cached state — call 'opnsense_firmware_check' first if the cache may be stale.

opnsense_firmware_checkA

Trigger a background firmware repository check to refresh the cached upgrade status. After calling this, wait briefly and then call 'opnsense_firmware_status' to see fresh upgrade info.

opnsense_firmware_list_pluginsA

List all available and installed OPNsense plugins with their versions and status

opnsense_firmware_installA

Install an OPNsense plugin package by name (e.g. 'os-acme-client'). May require a service restart.

opnsense_firmware_removeA

Remove an installed OPNsense plugin package. DESTRUCTIVE: requires explicit confirmation.

opnsense_firmware_upgradeA

Trigger an OPNsense system upgrade based on what 'opnsense_firmware_status' reports (minor packages, or a major-series jump such as 24.7 → 25.1). Long-running: poll progress with 'opnsense_firmware_upgrade_status'. A reboot is typically required afterwards. DESTRUCTIVE: requires explicit confirmation.

opnsense_firmware_upgrade_statusA

Get the progress/log of a currently running or last completed firmware upgrade (long-running operation status).

opnsense_firmware_rebootA

Reboot the OPNsense system. Causes a network outage on the firewall and any services it provides (DNS, DHCP, VPN). DESTRUCTIVE: requires explicit confirmation.

opnsense_route_listA

List all configured static routes

opnsense_route_addA

Add a static route. The gateway parameter must be a gateway name from opnsense_route_gateway_list. Run opnsense_route_apply afterwards to activate.

opnsense_route_updateB

Update an existing static route. Run opnsense_route_apply afterwards to activate.

opnsense_route_deleteA

Delete a static route. Run opnsense_route_apply afterwards to activate.

opnsense_route_applyA

Apply static route configuration changes (reconfigure routing)

opnsense_route_gateway_listA

List all available gateways (used as targets for static routes)

opnsense_route_gateway_statusA

Get live gateway monitor status: per-gateway online/offline state, RTT (delay), packet loss, stddev, monitor IP, and monitor_disable flag. Read-only — complements opnsense_route_gateway_list (which only returns config).

opnsense_route_gateway_updateA

Update an existing gateway's settings (toggle monitoring, set monitor IP, change weight/priority, enable/disable). Round-trips current config and only overrides explicitly provided fields. After updating, call opnsense_route_gateway_apply to activate the change. DESTRUCTIVE: requires explicit confirmation.

opnsense_route_gateway_applyA

Apply pending gateway configuration changes (calls /api/routing/settings/reconfigure). Required after opnsense_route_gateway_update for changes to take effect. May briefly affect WAN connectivity. DESTRUCTIVE: requires explicit confirmation.

opnsense_vlan_listA

List all configured 802.1Q VLAN interfaces (parent interface, VLAN tag, description, priority)

opnsense_vlan_createA

Create a new 802.1Q VLAN interface on a parent interface. After create, run opnsense_if_assign to bind the VLAN to a logical interface (opt1, opt2, ...) and opnsense_if_configure to assign an IP.

opnsense_vlan_updateA

Update an existing VLAN interface by UUID. Only provided fields are changed.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/itunified-io/mcp-opnsense'

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