auth_manage
Authentication management - 19 available methods including: groupAdd, groupDel, groupGet, groupSet, privGet...
Reach the whole OPNsense API through 24 dispatch tools — you pass a subsystem's method name and its params instead of hunting through hundreds of separate tool definitions.
LABSCO SUMMARY
Because the method list stays out of the tool schema, adding this server costs a fixed and small amount of context no matter how much of OPNsense you end up using. The bill comes due at call time: the descriptions name only the first few methods per subsystem, so any other method name has to come from OPNsense's own API reference before you can invoke it.
A thin wrapper over the OPNsense API arranged as one tool per subsystem: 24 tools, each taking a method and params.
An OPNsense URL with an API key and secret, and npx on your PATH. Each call also needs the exact method name for its subsystem; the tool descriptions name the first five of each.
One command plus a key — npm install -g @richard-stovall/opnsense-mcp-server, then supply credentials
USE CASES
One subsystem covers the whole firmware question — audit, changelog, check — so what is pending and what it changes are read before anything is applied.
Diagnostics runs from CPU usage streams to reverse DNS lookups, and Monit reports what the service checks are saying — between them they answer whether the problem is load, a service, or the network.
Alias item add and delete, alias reads and GeoIP aliases are all methods on one dispatch tool, so a change to an address group is a single call with the method name and its params.
Each VPN technology has its own dispatcher, so the client-add method you need depends on which one the peer speaks — WireGuard, OpenVPN or IPsec.
Backups live with the rest of core system management: list them, diff two of them, download one, and see which providers are configured — all through the same tool with a different method.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
auth_manageAuthentication management - 19 available methods including: groupAdd, groupDel, groupGet, groupSet, privGet...
captiveportal_manageCaptiveportal management - 27 available methods including: accessApi, accessLogoff, accessLogon, serviceDelTemplate, serviceGetTemplate...
core_manageCore system management - 46 available methods including: backupBackups, backupDeleteBackup, backupDiff, backupDownload, backupProviders...
cron_manageCron management - 8 available methods including: serviceReconfigure, settingsAddJob, settingsDelJob, settingsGet, settingsGetJob...
dhcpv4_manageDhcpv4 management - 7 available methods including: leasesDelLease, leasesSearchLease, serviceReconfigure, serviceRestart, serviceStart...
dhcpv6_manageDhcpv6 management - 8 available methods including: leasesDelLease, leasesSearchLease, leasesSearchPrefix, serviceReconfigure, serviceRestart...
dhcrelay_manageDhcrelay management - 12 available methods including: serviceReconfigure, settingsAddDest, settingsAddRelay, settingsDelDest, settingsDelRelay...
diagnostics_manageDiagnostics management - 90 available methods including: activityGetActivity, cpuUsageGetCPUType, cpuUsageStream, dnsReverseLookup, dnsDiagnosticsGet...
dnsmasq_manageDnsmasq management - 35 available methods including: leasesSearch, serviceReconfigure, serviceRestart, serviceStart, serviceStatus...
firewall_manageFirewall management - 67 available methods including: aliasAddItem, aliasDelItem, aliasGet, aliasGetAliasUUID, aliasGetGeoIP...
firmware_manageFirmware management - 26 available methods including: firmwareAudit, firmwareChangelog, firmwareCheck, firmwareConnection, firmwareGet...
ids_manageIds management - 40 available methods including: serviceDropAlertLog, serviceGetAlertInfo, serviceGetAlertLogs, serviceQueryAlerts, serviceReconfigure...
interfaces_manageNetwork interfaces management - 63 available methods including: gifSettingsAddItem, gifSettingsDelItem, gifSettingsGet, gifSettingsGetIfOptions, gifSettingsGetItem...
ipsec_manageIpsec management - 80 available methods including: connectionsAddChild, connectionsAddConnection, connectionsAddLocal, connectionsAddRemote, connectionsConnectionExists...
kea_manageKea management - 24 available methods including: ctrlAgentGet, ctrlAgentSet, dhcpv4AddPeer, dhcpv4AddReservation, dhcpv4AddSubnet...
monit_manageMonit management - 25 available methods including: serviceCheck, serviceReconfigure, serviceRestart, serviceStart, serviceStatus...
openvpn_manageOpenvpn management - 28 available methods including: clientOverwritesAdd, clientOverwritesDel, clientOverwritesGet, clientOverwritesSet, clientOverwritesToggle...
routes_manageRoutes management - 9 available methods including: gatewayStatus, routesAddroute, routesDelroute, routesGet, routesGetroute...
routing_manageRouting management - 9 available methods including: settingsAddGateway, settingsDelGateway, settingsGet, settingsGetGateway, settingsReconfigure...
syslog_manageSyslog management - 14 available methods including: serviceReconfigure, serviceReset, serviceRestart, serviceStart, serviceStats...
trafficshaper_manageTrafficshaper management - 20 available methods including: serviceFlushreload, serviceReconfigure, serviceStatistics, settingsAddPipe, settingsAddQueue...
trust_manageTrust management - 25 available methods including: caCaInfo, caCaList, caDel, caGenerateFile, caGet...
unbound_manageUnbound management - 42 available methods including: diagnosticsDumpcache, diagnosticsDumpinfra, diagnosticsListinsecure, diagnosticsListlocaldata, diagnosticsListlocalzones...
wireguard_manageWireguard management - 28 available methods including: clientAddClient, clientAddClientBuilder, clientDelClient, clientGet, clientGetClient...
BEFORE YOU INSTALL
24 tools when we connected; the project documents 88. The 64 plugin module tools, such as plugin_nginx_manage and plugin_haproxy_manage, load only with --plugins or INCLUDE_PLUGINS set to true, for 88 in total. Each tool is a module that takes a method parameter.
Both documented clients run the server on your machine.
INSTALLATION
npm install -g @richard-stovall/opnsense-mcp-server{
"mcpServers": {
"opnsense": {
"command": "npx",
"args": [
"-y",
"@richard-stovall/opnsense-mcp-server"
],
"env": {
"OPNSENSE_URL": "https://192.168.1.1",
"OPNSENSE_API_KEY": "<YOUR_OPNSENSE_API_KEY>",
"OPNSENSE_API_SECRET": "<YOUR_OPNSENSE_API_SECRET>",
"OPNSENSE_VERIFY_SSL": "false"
}
}
}
}