项目简介
Firewalla MCP 服务器是一个强大的后端应用,旨在将您的Firewalla防火墙设备与各种支持MCP协议的LLM客户端(如Claude Desktop, VS Code等)连接起来。它通过标准化的JSON-RPC协议,将LLM的请求转换为Firewalla API调用,并以LLM易于理解的格式返回数据,从而实现智能化的网络安全监控、分析和管理。
主要功能点
- 实时防火墙数据: 查询安全警报、网络流量和设备状态。
- 安全分析: 获取威胁洞察、被阻止的攻击和网络异常信息。
- 带宽监控: 跟踪带宽消耗大户和使用模式。
- 规则管理: 查看和临时暂停防火墙规则。
- 目标列表管理: 管理自定义安全目标列表和类别。
- 高级搜索工具: 支持查询语法、过滤器和逻辑运算符,进行多维度数据检索。
安装步骤
推荐使用npm进行全局安装,或通过Docker部署。
- 使用 npm (推荐): 在终端运行命令 'npm install -g firewalla-mcp-server'
- 使用 Docker: 在终端运行命令 'docker run -it --rm --env-file .env amittell/firewalla-mcp-server'。请注意,Docker方式需要预先创建包含Firewalla凭据的'.env'文件。
- 从源代码安装:
- 克隆仓库: 'git clone https://github.com/amittell/firewalla-mcp-server.git'
- 进入目录: 'cd firewalla-mcp-server'
- 安装依赖: 'npm install'
- 构建项目: 'npm run build'
服务器配置 (MCP客户端使用)
MCP客户端(例如Claude Desktop)需要配置MCP服务器的启动信息。在配置前,请确保您已在项目根目录创建 '.env' 文件,并正确填写以下Firewalla凭据:
FIREWALLA_MSP_TOKEN=您的Firewalla MSP访问令牌 FIREWALLA_MSP_ID=您的Firewalla MSP域名(例如:yourdomain.firewalla.net) # 可选 - 过滤所有查询到特定盒子 # FIREWALLA_BOX_ID=您的Firewalla Box GID
以下是根据您的安装方式,可以在MCP客户端配置中使用的示例JSON片段。您的MCP客户端至少需要配置服务器的 'command'(命令)和 'args'(参数)才能与MCP服务器建立连接。
如果您通过 npm 安装:
{ "mcpServers": { "firewalla": { "command": "npx", "args": ["firewalla-mcp-server"], "env": { "FIREWALLA_MSP_TOKEN": "您的Firewalla MSP访问令牌", "FIREWALLA_MSP_ID": "您的Firewalla MSP域名", "FIREWALLA_BOX_ID": "您的Firewalla Box GID(可选)" } } } }
如果您通过 Docker 安装:
{ "mcpServers": { "firewalla": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "FIREWALLA_MSP_TOKEN=您的Firewalla MSP访问令牌", "-e", "FIREWALLA_MSP_ID=您的Firewalla MSP域名", "-e", "FIREWALLA_BOX_ID=您的Firewalla Box GID(可选)", "amittell/firewalla-mcp-server" ] } } }
如果您从源代码安装:
{ "mcpServers": { "firewalla": { "command": "node", "args": ["/full/path/to/firewalla-mcp-server/dist/server.js"], "env": { "FIREWALLA_MSP_TOKEN": "您的Firewalla MSP访问令牌", "FIREWALLA_MSP_ID": "您的Firewalla MSP域名", "FIREWALLA_BOX_ID": "您的Firewalla Box GID(可选)" } } } }
基本使用方法
启动MCP服务器后(例如,在项目目录运行 'npm run mcp:start'),打开您的MCP客户端(如Claude Desktop),并尝试以下LLM提示:
- 检查Firewalla状态: '"Can you check my Firewalla status and show me a summary?"'
- 安全警报: '"What security alerts do I have? Show me the 5 most recent ones."'
- 日常安全报告: '"Give me today's security report. Include: 1. Any new security alerts 2. Top 3 devices using bandwidth 3. Any devices that went offline 4. Status of critical firewall rules"'
- 带宽调查: '"Our internet is slow. Help me find the cause: 1. Show top 10 bandwidth users in the last hour 2. Look for any devices with unusual upload/download patterns 3. Check for any streaming or video traffic"'
信息
分类
商业系统