项目简介

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'文件。
  • 从源代码安装:
    1. 克隆仓库: 'git clone https://github.com/amittell/firewalla-mcp-server.git'
    2. 进入目录: 'cd firewalla-mcp-server'
    3. 安装依赖: 'npm install'
    4. 构建项目: '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"'

信息

分类

商业系统