项目简介
OPNsense MCP 服务器是一个基于Python的应用,它实现了 Model Context Protocol (MCP)。这个服务器作为AI客户端(如Claude Desktop)和OPNsense防火墙API之间的桥梁,让您可以通过自然语言指令来管理OPNsense防火墙。
主要功能点
您可以使用此服务器执行多种OPNsense管理任务,包括:
- 管理防火墙规则(查看、添加、删除、启用/禁用)
- 监控网络接口状态
- 查看DHCP租约
- 管理防火墙别名
- 检查系统状态和健康度(CPU、内存、磁盘、温度)
- 重启系统服务
- 查看VPN连接状态
- 列出和安装插件
- 执行自定义API调用
- 进行基本的防火墙安全审计
安装步骤
- 克隆仓库:
git clone https://github.com/floriangrousset/opnsense-mcp-server cd opnsense-mcp-server - 安装 'uv': 确保您已安装 'uv',这是一个快速的Python包管理器。请参照其官方文档进行安装。
- 创建并激活虚拟环境:
uv venv # Linux/macOS source .venv/bin/activate # Windows .venv\Scripts\activate - 安装依赖: 在激活的虚拟环境中,使用 'uv pip install -r requirements.txt' 安装项目依赖。
OPNsense API 设置
在使用服务器之前,您需要在OPNsense防火墙的网页界面中创建API访问凭证:导航至 System → Access → Users,选择或创建一个用户,在其API keys部分生成并下载API密钥文件。
MCP 客户端配置 (以Claude Desktop为例)
您需要将此MCP服务器添加到您的AI客户端配置中。对于Claude Desktop,您可以在其设置的“开发者”选项中手动编辑配置文件(通常是您的用户配置目录下的 'config.json' 文件)。找到或添加 'mcpServers' 部分,然后添加一个条目。以下是一个配置示例所需的信息:
- 服务器名称: 您可以为服务器指定一个名称,例如 '"opnsense"'。
- 启动命令 (command): 用于启动服务器的命令,通常是 '"python"'。
- 命令参数 (args): 一个字符串列表,包含传递给启动命令的参数。第一个参数应是 'opnsense_mcp_server.py' 文件的绝对路径。例如:'["/home/youruser/opnsense-mcp-server/opnsense_mcp_server.py"]'。请将 '/home/youruser/opnsense-mcp-server/' 替换为您实际克隆仓库的绝对路径。
您也可以尝试使用仓库提供的 'setup-claude.sh' 脚本来自动化此配置过程,该脚本需要安装 'jq' 工具。
完成配置后,保存文件并重启Claude Desktop。
基本使用方法
确保您的MCP服务器已正确配置并在后台(通常由AI客户端通过 'command'/'args' 启动)运行。在AI客户端的对话中,您可以直接使用自然语言发出指令。AI客户端会利用其工具调用能力与MCP服务器交互。
首先,您需要提供OPNsense的连接信息:
- “连接到我的OPNsense防火墙,URL是 https://192.168.1.1,API密钥是 [您的API密钥],API秘密是 [您的API秘密]”
连接成功后,您就可以使用其他指令:
- “告诉我OPNsense当前的系统状态”
- “列出所有防火墙规则”
- “删除UUID为 [某个UUID] 的防火墙规则”
- “对我的防火墙配置进行一次安全审计”
- “重启DHCP服务”
AI客户端会根据您的指令调用相应的MCP工具来与OPNsense交互并返回结果。
信息
分类
AI与计算