一个用于全面管理 OPNsense 防火墙的模型上下文协议(MCP)服务器。此服务器使像 Claude 这样的AI助手能够直接管理防火墙配置、诊断网络问题并自动化复杂的网络任务。
npm install -g opnsense-mcp-server
.env文件:# 必需
OPNSENSE_HOST=https://your-opnsense-host:port
OPNSENSE_API_KEY=your-api-key
OPNSENSE_API_SECRET=your-api-secret
OPNSENSE_VERIFY_SSL=false
# 可选 - 用于SSH功能
OPNSENSE_SSH_HOST=your-opnsense-host
OPNSENSE_SSH_USERNAME=root
OPNSENSE_SSH_PASSWORD=your-password
# 或使用SSH密钥
# OPNSENSE_SSH_KEY_PATH=~/.ssh/id_rsa
opnsense-mcp-server
添加到您的Claude Desktop配置(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"
}
}
}
}
// 自动修复DMZ到LAN的路由
await mcp.call('nat_fix_dmz', {
dmzNetwork: '10.0.6.0/24',
lanNetwork: '10.0.0.0/24'
});
// 允许从DMZ到NAS的NFS
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: '允许从DMZ的NFS'
});
// 运行全面的路由诊断
await mcp.call('routing_diagnostics', {
sourceNetwork: '10.0.6.0/24',
destNetwork: '10.0.0.0/24'
});
// 运行任何OPNsense CLI命令
await mcp.call('system_execute_command', {
command: 'pfctl -s state | grep 10.0.6'
});
该服务器提供了按类别组织的50多种MCP工具:
firewall_list_rules - 列出所有防火墙规则firewall_create_rule - 创建新规则firewall_update_rule - 更新现有规则firewall_delete_rule - 删除规则firewall_apply_changes - 应用待处理更改nat_list_outbound - 列出出站NAT规则nat_set_mode - 设置NAT模式nat_create_outbound_rule - 创建NAT规则nat_fix_dmz - 解决DMZ NAT问题nat_analyze_config - 分析NAT配置arp_list - 列出ARP表条目routing_diagnostics - 诊断路由问题routing_fix_all - 自动修复路由问题interface_list - 列出网络接口vlan_create - 创建VLANsystem_execute_command - 执行CLI命令backup_create - 创建配置备份service_restart - 重启服务完整的列表,请参阅docs/api/mcp-tools.md。
仓库包括全面的测试工具:
# 测试NAT功能
npx tsx scripts/test/test-nat-ssh.ts
# 测试防火墙规则
npx tsx scripts/test/test-rules.ts
# 测试路由诊断
npx tsx scripts/test/test-routing.ts
# 运行所有测试
npm test
git clone https://github.com/vespo92/OPNSenseMCP.git
cd OPNSenseMCP
npm install
npm run build
OPNSenseMCP/
├── src/ # 源代码
│ ├── api/ # API客户端
│ ├── resources/ # 资源实现
│ └── index.ts # MCP服务器入口
├── docs/ # 文档
├── scripts/ # 实用脚本
│ ├── test/ # 测试脚本
│ ├── debug/ # 调试工具
│ └── fixes/ # 修复脚本
└── dist/ # 构建输出
.env中的SSH凭据npx tsx scripts/test/test-nat-ssh.ts欢迎贡献!请参阅CONTRIBUTING.md获取指南。
该项目采用MIT许可证 - 详情请参阅LICENSE文件。
版本:0.8.2 | 状态:生产就绪 | 最后更新:2025年8月