OPNsense MCP Server (smaniktahla/OPNSenseMCP) is an MCP server listed on the M8ven Trust Index. It scores 50 out of 100, grade D. It declares 196 tools. No publisher has claimed this listing.
An MCP server for comprehensive OPNsense firewall management, enabling AI assistants to manage firewall rules, NAT, VLANs, and network diagnostics, plus execute SSH/CLI commands. Supports safety modes like read-only and dry-run for safe operation.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
smaniktahla
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
configureConfigure OPNsense connection
list_vlansList all VLANs
get_vlanGet VLAN details
create_vlanCreate a new VLAN
delete_vlanDelete a VLAN
update_vlanUpdate VLAN description
list_firewall_rulesList all firewall rules
get_firewall_ruleGet firewall rule details
create_firewall_ruleCreate a new firewall rule
create_firewall_presetCreate a firewall rule from a preset
update_firewall_ruleUpdate a firewall rule
delete_firewall_ruleDelete a firewall rule
toggle_firewall_ruleToggle firewall rule enabled/disabled
toggle_firewall_rule_logToggle logging on/off for a firewall rule, or set it explicitly with the "enable" argument
find_firewall_rulesFind firewall rules by description
create_backupCreate a configuration backup
list_backupsList available backups
restore_backupRestore a configuration backup
test_connectionTest API connection and authentication
get_interfacesList available network interfaces
list_dhcp_leasesList all DHCP leases
find_device_by_nameFind devices by hostname pattern
find_device_by_macFind device by MAC address
get_guest_devicesGet all devices on guest network (VLAN 4)
get_devices_by_interfaceGroup devices by network interface
list_arp_entriesList all ARP table entries
find_arp_by_ipFind ARP entries by IP address or subnet
find_arp_by_macFind ARP entries by MAC address
find_arp_by_interfaceFind ARP entries on specific interface
find_arp_by_hostnameFind ARP entries by hostname pattern
get_arp_statsGet ARP table statistics
find_devices_on_vlanFind devices on specific VLAN
list_dns_blocklistList all DNS blocklist entries
block_domainAdd a domain to the DNS blocklist
unblock_domainRemove a domain from the DNS blocklist
block_multiple_domainsBlock multiple domains at once
apply_blocklist_categoryApply a predefined category of domain blocks
search_dns_blocklistSearch DNS blocklist entries
toggle_blocklist_entryEnable/disable a DNS blocklist entry
list_available_dnsblList all available DNSBL subscription lists (e.g. OISD, Hagezi, Abuse.ch)
add_dnsbl_subscriptionAdd a DNSBL subscription list (e.g. OISD, Hagezi, Abuse.ch ThreatFox)
remove_dnsbl_subscriptionRemove a DNSBL subscription list. Deletes the entry if no lists remain.
update_dnsbl_subscriptionUpdate a DNSBL subscription entry (change lists, enable/disable, update description)
haproxy_service_controlControl HAProxy service (start, stop, restart, reload)
monit_statusGet Monit live status — shows if Monit is running and the state of all monitored services
monit_get_settingsGet full Monit configuration (general settings, services, tests, alerts)
monit_add_serviceAdd a new Monit monitored service (process, host, custom script, filesystem, network, etc.)
monit_update_serviceUpdate an existing Monit service
monit_delete_serviceDelete a Monit monitored service
monit_add_testAdd a new Monit test condition (CPU, memory, disk, custom, etc.)
monit_update_testUpdate an existing Monit test
monit_delete_testDelete a Monit test
monit_add_alertAdd a new Monit alert recipient (email address for notifications)
monit_update_alertUpdate an existing Monit alert recipient
monit_delete_alertDelete a Monit alert recipient
acme_get_settingsGet full ACME/Let's Encrypt configuration — certificates, accounts, validations, automation actions
acme_update_certificateUpdate certificate settings (renewal interval, restart actions, enable/disable, description)
acme_renew_certificateTrigger manual renewal of a specific certificate
acme_sign_certificateIssue/sign a certificate (initial creation or re-issue)
acme_revoke_certificateRevoke a certificate
acme_add_actionCreate a new ACME automation action (restart HAProxy, restart web UI, SFTP upload, SSH command, etc.)
acme_delete_actionDelete an ACME automation action
system_get_settingsGet system-level firewall and routing settings
system_enable_intervlan_routingEnable inter-VLAN routing at the system level
system_update_firewall_settingsUpdate system firewall settings
interface_list_overviewList all network interfaces with their overview
interface_get_configGet detailed configuration for a specific interface
interface_enable_intervlan_routingEnable inter-VLAN routing on a specific interface
interface_enable_intervlan_allEnable inter-VLAN routing on all interfaces
interface_configure_dmzConfigure DMZ interface for inter-VLAN routing
interface_update_configUpdate interface configuration
routing_diagnosticsRun comprehensive inter-VLAN routing diagnostics
routing_fix_allAutomatically fix all detected inter-VLAN routing issues
routing_fix_dmzQuick fix for DMZ to LAN routing (includes NFS rules)
routing_create_intervlan_rulesCreate firewall rules for inter-VLAN routing
cli_executeExecute a CLI command on OPNsense for advanced configuration
cli_fix_interface_blockingFix interface blocking settings via CLI (for DMZ routing issues)
cli_reload_firewallReload firewall rules via CLI
cli_show_routingShow routing table via CLI
cli_fix_dmz_routingComprehensive DMZ routing fix via CLI
cli_check_nfsCheck NFS connectivity from DMZ
cli_apply_changesApply all configuration changes via CLI
haproxy_backend_createCreate a new HAProxy backend
haproxy_backend_listList all HAProxy backends
haproxy_backend_deleteDelete an HAProxy backend
haproxy_frontend_createCreate a new HAProxy frontend
haproxy_frontend_listList all HAProxy frontends
haproxy_frontend_deleteDelete an HAProxy frontend
haproxy_certificate_listList available certificates for HAProxy
haproxy_certificate_createCreate a certificate for HAProxy
haproxy_acl_createCreate an ACL for HAProxy frontend. Supports all OPNsense HAProxy ACL expression types including SNI matching for TCP/SSL passthrough.
haproxy_action_createCreate an action for HAProxy frontend. Supports all OPNsense HAProxy action types including tcp-request for SNI routing.
haproxy_statsGet HAProxy statistics
haproxy_backend_healthGet health status of a specific backend
haproxy_backend_updateUpdate an existing HAProxy backend configuration
haproxy_backend_getGet detailed information about a specific HAProxy backend by UUID
haproxy_frontend_updateUpdate an existing HAProxy frontend configuration
haproxy_frontend_getGet detailed information about a specific HAProxy frontend by UUID
haproxy_server_addAdd a server to an HAProxy backend
haproxy_server_updateUpdate an existing HAProxy server
96 further tools are not listed here. The complete surface is in the source.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`
axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge
Axios is Vulnerable to Denial of Service via __proto__ Key in mergeConfig
BACKUP_ENABLEDBACKUP_PATHCACHE_TTLDMZ_INTERFACEENABLE_CACHEIAC_ENABLEDLOG_FILELOG_LEVELLOG_MAX_FILESLOG_MAX_SIZEMACRO_STORAGE_PATHMCP_CORS_ORIGINMCP_DEBUGMCP_SSE_HOSTMCP_SSE_PORTMCP_TRANSPORTOPNSENSE_API_KEYyour-api-keyOPNSENSE_API_SECRETyour-api-secretOPNSENSE_API_URLOPNSENSE_DRY_RUNtrue Mutating calls are simulated instead of sent — you get a log line and a synthetic success response describing what would have happened, with no request reaching the router.OPNSENSE_HOST"": "https://your-opnsense:port",OPNSENSE_INTERFACE_MAPPINGSOPNSENSE_READ_ONLYtrue Every mutating API call and every non-read-only SSH command is rejected before it's sent. Write-capable tools are also hidden from the tool list, so the model never sees them as an option.OPNSENSE_SSH_HOSTyour-opnsense-hostOPNSENSE_SSH_KEEPALIVEOPNSENSE_SSH_KEY_PATH=~/.ssh/id_rsaOPNSENSE_SSH_PASSPHRASEOPNSENSE_SSH_PASSWORDyour-passwordOPNSENSE_SSH_PORTOPNSENSE_SSH_READY_TIMEOUTOPNSENSE_SSH_TIMEOUTOPNSENSE_SSH_USERNAMEOPNSENSE_VERIFY_SSL"": "false"PLUGINS_ENABLEDPOSTGRES_DBPOSTGRES_HOSTPOSTGRES_PASSWORDPOSTGRES_PORTPOSTGRES_SCHEMAPOSTGRES_SSLPOSTGRES_USERREDIS_DBREDIS_HOSTREDIS_KEY_PREFIXREDIS_PASSWORDREDIS_PORTSERVER_HOSTSERVER_PORTSSH_ENABLEDSSH_PASSWORDSSH_PORTSSH_USERSTATE_ENCRYPTION_KEYTRANSPORTTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
196/196 tools missing one or more hints — configure (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list_vlans (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_vlan (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +193 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool test coverage
Only 3/196 tools referenced in tests (2%)
Write tests that reference each tool by name so every tool has at least one test.
Secrets not logged
53 secret values sent to console.log
Redact or omit secret values from log output.
Production dependencies are patched
0 critical, 15 high severity in production deps — @modelcontextprotocol/sdk@1.24.3 (high), @modelcontextprotocol/sdk@1.24.3 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dependency freshness
2/18 production deps stale: ssh2-promise@2022-06-19 (4.2y), xml2js@2024-05-31 (2.2y)
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/smaniktahla/opnsensemcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check