A Model Context Protocol (MCP) server for comprehensive OPNsense firewall management. This server enables AI assistants like Claude to directly manage firewall configurations, diagnose network issues, and automate complex networking tasks. - Complete CRUD operations for firewall rules - Proper handling of API-created "automation rules" - Inter-VLAN routing configuration - Batch rule creation and m
Add this skill
npx mdskills install vespo92/opnsensemcpComprehensive MCP server with 50+ well-documented tools for OPNsense firewall management and diagnostics
A Model Context Protocol (MCP) server for comprehensive OPNsense firewall management. This server enables AI assistants like Claude to directly manage firewall configurations, diagnose network issues, and automate complex networking tasks.
npm install -g opnsense-mcp-server
.env file with your credentials:# Required
OPNSENSE_HOST=https://your-opnsense-host:port
OPNSENSE_API_KEY=your-api-key
OPNSENSE_API_SECRET=your-api-secret
OPNSENSE_VERIFY_SSL=false
# Optional - for SSH features
OPNSENSE_SSH_HOST=your-opnsense-host
OPNSENSE_SSH_USERNAME=root
OPNSENSE_SSH_PASSWORD=your-password
# Or use SSH key
# OPNSENSE_SSH_KEY_PATH=~/.ssh/id_rsa
opnsense-mcp-server
Bun provides significantly faster startup times and better performance.
curl -fsSL https://bun.sh/install | bash
git clone https://github.com/vespo92/OPNSenseMCP.git
cd OPNSenseMCP
bun install
Create your .env file (same as npm version above)
Run with Bun:
# Development with hot reload
bun run dev:bun
# Production
bun run start:bun
{
"mcpServers": {
"opnsense": {
"command": "bun",
"args": ["run", "/path/to/OPNSenseMCP/src/index.ts"],
"env": {
"OPNSENSE_HOST": "https://your-opnsense:port",
"OPNSENSE_API_KEY": "your-key",
"OPNSENSE_API_SECRET": "your-secret",
"OPNSENSE_VERIFY_SSL": "false"
}
}
}
}
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"opnsense": {
"command": "npx",
"args": ["opnsense-mcp-server"],
"env": {
"OPNSENSE_HOST": "https://your-opnsense:port",
"OPNSENSE_API_KEY": "your-key",
"OPNSENSE_API_SECRET": "your-secret",
"OPNSENSE_VERIFY_SSL": "false"
}
}
}
}
// Automatically fix DMZ to LAN routing
await mcp.call('nat_fix_dmz', {
dmzNetwork: '10.0.6.0/24',
lanNetwork: '10.0.0.0/24'
});
// Allow NFS from DMZ to NAS
await mcp.call('firewall_create_rule', {
action: 'pass',
interface: 'opt8',
source: '10.0.6.0/24',
destination: '10.0.0.14/32',
protocol: 'tcp',
destination_port: '2049',
description: 'Allow NFS from DMZ'
});
// Run comprehensive routing diagnostics
await mcp.call('routing_diagnostics', {
sourceNetwork: '10.0.6.0/24',
destNetwork: '10.0.0.0/24'
});
// Run any OPNsense CLI command
await mcp.call('system_execute_command', {
command: 'pfctl -s state | grep 10.0.6'
});
The server provides 50+ MCP tools organized by category:
firewall_list_rules - List all firewall rulesfirewall_create_rule - Create a new rulefirewall_update_rule - Update existing rulefirewall_delete_rule - Delete a rulefirewall_apply_changes - Apply pending changesnat_list_outbound - List outbound NAT rulesnat_set_mode - Set NAT modenat_create_outbound_rule - Create NAT rulenat_fix_dmz - Fix DMZ NAT issuesnat_analyze_config - Analyze NAT configurationarp_list - List ARP table entriesrouting_diagnostics - Diagnose routing issuesrouting_fix_all - Auto-fix routing problemsinterface_list - List network interfacesvlan_create - Create VLANsystem_execute_command - Execute CLI commandbackup_create - Create configuration backupservice_restart - Restart a serviceFor a complete list, see docs/api/mcp-tools.md.
The repository includes comprehensive testing utilities:
# Test NAT functionality
npx tsx scripts/test/test-nat-ssh.ts
# Test firewall rules
npx tsx scripts/test/test-rules.ts
# Test routing diagnostics
npx tsx scripts/test/test-routing.ts
# Run all tests
npm test
git clone https://github.com/vespo92/OPNSenseMCP.git
cd OPNSenseMCP
npm install
npm run build
OPNSenseMCP/
├── src/ # Source code
│ ├── api/ # API client
│ ├── resources/ # Resource implementations
│ └── index.ts # MCP server entry
├── docs/ # Documentation
├── scripts/ # Utility scripts
│ ├── test/ # Test scripts
│ ├── debug/ # Debug utilities
│ └── fixes/ # Fix scripts
└── dist/ # Build output
.envnpx tsx scripts/test/test-nat-ssh.tsContributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
Version: 0.8.2 | Status: Production Ready | Last Updated: August 2025
Install via CLI
npx mdskills install vespo92/opnsensemcpOPNsense MCP Server is a free, open-source AI agent skill. A Model Context Protocol (MCP) server for comprehensive OPNsense firewall management. This server enables AI assistants like Claude to directly manage firewall configurations, diagnose network issues, and automate complex networking tasks. - Complete CRUD operations for firewall rules - Proper handling of API-created "automation rules" - Inter-VLAN routing configuration - Batch rule creation and m
Install OPNsense MCP Server with a single command:
npx mdskills install vespo92/opnsensemcpThis downloads the skill files into your project and your AI agent picks them up automatically.
OPNsense MCP Server works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Codex, Gemini Cli, Amp, Roo Code, Goose, Opencode, Trae, Qodo, Command Code. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.