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.

D
Caution
50/100

OPNsense MCP Server

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

Code Verified⚡ Live Monitored: not connected

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

Is this your MCP?

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.

// key findings
⚠️
Known vulnerabilities in dependencies: 15 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 7 credentials: OPNSENSE_API_KEY, OPNSENSE_API_SECRET, OPNSENSE_SSH_PASSWORD, POSTGRES_PASSWORD, REDIS_PASSWORD, SSH_PASSWORD, STATE_ENCRYPTION_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes196 tools

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.

configure

Configure OPNsense connection

list_vlans

List all VLANs

get_vlan

Get VLAN details

create_vlan

Create a new VLAN

delete_vlan

Delete a VLAN

update_vlan

Update VLAN description

list_firewall_rules

List all firewall rules

get_firewall_rule

Get firewall rule details

create_firewall_rule

Create a new firewall rule

create_firewall_preset

Create a firewall rule from a preset

update_firewall_rule

Update a firewall rule

delete_firewall_rule

Delete a firewall rule

toggle_firewall_rule

Toggle firewall rule enabled/disabled

toggle_firewall_rule_log

Toggle logging on/off for a firewall rule, or set it explicitly with the "enable" argument

find_firewall_rules

Find firewall rules by description

create_backup

Create a configuration backup

list_backups

List available backups

restore_backup

Restore a configuration backup

test_connection

Test API connection and authentication

get_interfaces

List available network interfaces

list_dhcp_leases

List all DHCP leases

find_device_by_name

Find devices by hostname pattern

find_device_by_mac

Find device by MAC address

get_guest_devices

Get all devices on guest network (VLAN 4)

get_devices_by_interface

Group devices by network interface

list_arp_entries

List all ARP table entries

find_arp_by_ip

Find ARP entries by IP address or subnet

find_arp_by_mac

Find ARP entries by MAC address

find_arp_by_interface

Find ARP entries on specific interface

find_arp_by_hostname

Find ARP entries by hostname pattern

get_arp_stats

Get ARP table statistics

find_devices_on_vlan

Find devices on specific VLAN

list_dns_blocklist

List all DNS blocklist entries

block_domain

Add a domain to the DNS blocklist

unblock_domain

Remove a domain from the DNS blocklist

block_multiple_domains

Block multiple domains at once

apply_blocklist_category

Apply a predefined category of domain blocks

search_dns_blocklist

Search DNS blocklist entries

toggle_blocklist_entry

Enable/disable a DNS blocklist entry

list_available_dnsbl

List all available DNSBL subscription lists (e.g. OISD, Hagezi, Abuse.ch)

add_dnsbl_subscription

Add a DNSBL subscription list (e.g. OISD, Hagezi, Abuse.ch ThreatFox)

remove_dnsbl_subscription

Remove a DNSBL subscription list. Deletes the entry if no lists remain.

update_dnsbl_subscription

Update a DNSBL subscription entry (change lists, enable/disable, update description)

haproxy_service_control

Control HAProxy service (start, stop, restart, reload)

monit_status

Get Monit live status — shows if Monit is running and the state of all monitored services

monit_get_settings

Get full Monit configuration (general settings, services, tests, alerts)

monit_add_service

Add a new Monit monitored service (process, host, custom script, filesystem, network, etc.)

monit_update_service

Update an existing Monit service

monit_delete_service

Delete a Monit monitored service

monit_add_test

Add a new Monit test condition (CPU, memory, disk, custom, etc.)

monit_update_test

Update an existing Monit test

monit_delete_test

Delete a Monit test

monit_add_alert

Add a new Monit alert recipient (email address for notifications)

monit_update_alert

Update an existing Monit alert recipient

monit_delete_alert

Delete a Monit alert recipient

acme_get_settings

Get full ACME/Let's Encrypt configuration — certificates, accounts, validations, automation actions

acme_update_certificate

Update certificate settings (renewal interval, restart actions, enable/disable, description)

acme_renew_certificate

Trigger manual renewal of a specific certificate

acme_sign_certificate

Issue/sign a certificate (initial creation or re-issue)

acme_revoke_certificate

Revoke a certificate

acme_add_action

Create a new ACME automation action (restart HAProxy, restart web UI, SFTP upload, SSH command, etc.)

acme_delete_action

Delete an ACME automation action

system_get_settings

Get system-level firewall and routing settings

system_enable_intervlan_routing

Enable inter-VLAN routing at the system level

system_update_firewall_settings

Update system firewall settings

interface_list_overview

List all network interfaces with their overview

interface_get_config

Get detailed configuration for a specific interface

interface_enable_intervlan_routing

Enable inter-VLAN routing on a specific interface

interface_enable_intervlan_all

Enable inter-VLAN routing on all interfaces

interface_configure_dmz

Configure DMZ interface for inter-VLAN routing

interface_update_config

Update interface configuration

routing_diagnostics

Run comprehensive inter-VLAN routing diagnostics

routing_fix_all

Automatically fix all detected inter-VLAN routing issues

routing_fix_dmz

Quick fix for DMZ to LAN routing (includes NFS rules)

routing_create_intervlan_rules

Create firewall rules for inter-VLAN routing

cli_execute

Execute a CLI command on OPNsense for advanced configuration

cli_fix_interface_blocking

Fix interface blocking settings via CLI (for DMZ routing issues)

cli_reload_firewall

Reload firewall rules via CLI

cli_show_routing

Show routing table via CLI

cli_fix_dmz_routing

Comprehensive DMZ routing fix via CLI

cli_check_nfs

Check NFS connectivity from DMZ

cli_apply_changes

Apply all configuration changes via CLI

haproxy_backend_create

Create a new HAProxy backend

haproxy_backend_list

List all HAProxy backends

haproxy_backend_delete

Delete an HAProxy backend

haproxy_frontend_create

Create a new HAProxy frontend

haproxy_frontend_list

List all HAProxy frontends

haproxy_frontend_delete

Delete an HAProxy frontend

haproxy_certificate_list

List available certificates for HAProxy

haproxy_certificate_create

Create a certificate for HAProxy

haproxy_acl_create

Create an ACL for HAProxy frontend. Supports all OPNsense HAProxy ACL expression types including SNI matching for TCP/SSL passthrough.

haproxy_action_create

Create an action for HAProxy frontend. Supports all OPNsense HAProxy action types including tcp-request for SNI routing.

haproxy_stats

Get HAProxy statistics

haproxy_backend_health

Get health status of a specific backend

haproxy_backend_update

Update an existing HAProxy backend configuration

haproxy_backend_get

Get detailed information about a specific HAProxy backend by UUID

haproxy_frontend_update

Update an existing HAProxy frontend configuration

haproxy_frontend_get

Get detailed information about a specific HAProxy frontend by UUID

haproxy_server_add

Add a server to an HAProxy backend

haproxy_server_update

Update an existing HAProxy server

96 further tools are not listed here. The complete surface is in the source.

// known CVEs in dependencies15 high4 medium11 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.24.3GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.24.3GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

highaxios@1.6.0GHSA-35jp-ww65-95wh

axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`

highaxios@1.6.0GHSA-3g43-6gmg-66jw

axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge

highaxios@1.6.0GHSA-43fc-jf86-j433

Axios is Vulnerable to Denial of Service via __proto__ Key in mergeConfig

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configBACKUP_ENABLED
configBACKUP_PATH
configCACHE_TTL
configDMZ_INTERFACE
configENABLE_CACHE
configIAC_ENABLED
configLOG_FILE
configLOG_LEVEL
configLOG_MAX_FILES
configLOG_MAX_SIZE
configMACRO_STORAGE_PATH
configMCP_CORS_ORIGIN
configMCP_DEBUG
configMCP_SSE_HOST
configMCP_SSE_PORT
configMCP_TRANSPORT
🔐 secretOPNSENSE_API_KEYyour-api-key
🔐 secretOPNSENSE_API_SECRETyour-api-secret
configOPNSENSE_API_URL
configOPNSENSE_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.
configOPNSENSE_HOST"": "https://your-opnsense:port",
configOPNSENSE_INTERFACE_MAPPINGS
configOPNSENSE_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.
configOPNSENSE_SSH_HOSTyour-opnsense-host
configOPNSENSE_SSH_KEEPALIVE
configOPNSENSE_SSH_KEY_PATH=~/.ssh/id_rsa
configOPNSENSE_SSH_PASSPHRASE
🔐 secretOPNSENSE_SSH_PASSWORDyour-password
configOPNSENSE_SSH_PORT
configOPNSENSE_SSH_READY_TIMEOUT
configOPNSENSE_SSH_TIMEOUT
configOPNSENSE_SSH_USERNAME
configOPNSENSE_VERIFY_SSL"": "false"
configPLUGINS_ENABLED
configPOSTGRES_DB
configPOSTGRES_HOST
🔐 secretPOSTGRES_PASSWORD
configPOSTGRES_PORT
configPOSTGRES_SCHEMA
configPOSTGRES_SSL
configPOSTGRES_USER
configREDIS_DB
configREDIS_HOST
configREDIS_KEY_PREFIX
🔐 secretREDIS_PASSWORD
configREDIS_PORT
configSERVER_HOST
configSERVER_PORT
configSSH_ENABLED
🔐 secretSSH_PASSWORD
configSSH_PORT
configSSH_USER
🔐 secretSTATE_ENCRYPTION_KEY
configTRANSPORT
// quality suggestions

Tool 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.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/smaniktahla/opnsensemcp?variant=verified)](https://m8ven.ai/mcp/smaniktahla/opnsensemcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 6cafcbd4aa08c86dfc107abdcf536a4e218691c1
code hash: e9e0b5860eb0b86289de9a9112a0992555ccf92f60f2ff4757963e688e99259d
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

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
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client