Token导航 LogoToken导航

MCP Server · 安全风控

pfSense MCP Server

pfSense MCP Server 是一个通过自然语言管理 pfSense 防火墙的服务,提供327种工具和9层安全保障,支持对话式操作。

stdio官方级别未说明来源级核验工具 19
安全PythonClaude自然语言处理

快速开始

作者 / 组织
gensecaihq
提供方
gensecaihq

工具数量

19

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

69

仓库热度

收录来源

3 个

MCP World

选型结论

pfSense MCP Server 属于安全风控类 MCP Server,公开资料标注 19 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

安全风控

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 19 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

pfSense MCP服务器

使用自然语言管理pfSense防火墙。327工具。9层安全。一个启动命令。
You: "Block all traffic from 203.0.113.5 on WAN"
Claude: Creates block rule → applies changes → confirms with rollback instructions

为什么存在

管理pfSense防火墙意味着点击web UI选项卡,记住字段名称,并希望您不要错过一条将您拒之门外的规则。有了这个MCP服务器,你可以用简明的英语描述你想要什么,AI处理REST API调用,验证输入,并在任何破坏性的事情发生之前警告你。

是什么让它与众不同:

  • 每一次破坏性操作都需要明确的确认,并向您准确显示会发生什么
  • 每次删除/重新启动之前自动进行配置备份——使用一行回滚命令
  • 速率限制可防止失控的AI循环用规则淹没防火墙
  • 输入净化会阻止每个参数中的命令注入、路径遍历和XSS

快速开始

先决条件: Python 3.10+,pfSense REST API v2软件包 安装

git clone https://github.com/gensecaihq/pfsense-mcp-server.git
cd pfsense-mcp-server
pip install -r requirements.txt
cp .env.example .env
# Edit .env: set PFSENSE_URL, AUTH_METHOD, and credentials

连接到克劳德桌面 --添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "pfsense": {
      "command": "python3",
      "args": ["-m", "src.main"],
      "cwd": "/path/to/pfsense-mcp-server",
      "env": {
        "PFSENSE_URL": "https://192.168.1.1",
        "AUTH_METHOD": "basic",
        "PFSENSE_USERNAME": "admin",
        "PFSENSE_PASSWORD": "your-password",
        "PFSENSE_VERSION": "CE_2_8_0",
        "VERIFY_SSL": "false"
      }
    }
  }
}

开始与防火墙对话。 打开克劳德桌面并询问:

  • *“显示过去一小时内所有堵塞的交通”*
  • *“正在运行哪些服务?”*
  • *“为端口443创建一个端口转发到192.168.1.50”*
  • *“运行完整的系统健康检查”*

你能做什么

每个主要pfSense子系统都有327个工具:

领域工具你能做什么
防火墙规则9创建、更新、删除、重新排序规则。批量阻止IP。查看已编译的规则集。
别名5管理主机/网络/端口/URL别名。添加和删除地址。
网络地址转换16端口转发、出站NAT、1:1 NAT——全生命周期管理。
虚拟专用网络51OpenVPN服务器和客户端、IPsec隧道、WireGuard对等端——CRUD、状态、应用。
路由16网关、网关组、静态路由、默认网关管理。
域名系统24未绑定的解析器和dnsmasq转发器:主机覆盖、域覆盖、访问列表。
动态主机配置协议17租约、静态映射、地址池、自定义选项、服务器配置。
证书15证书、CA、CRL——生成、续订、导出PKCS12。
用户12用户帐户、组、LDAP/RADIUS身份验证服务器配置。
接口14接口配置、VLAN、网桥、组。
系统44状态、设置、诊断、配置历史、重新启动、ping。
服务14启动/停止/重新启动服务。NTP、cron、SSH、服务监视器。
日志3使用解析的IPv4/IPv6过滤日志数据进行防火墙日志分析。
流量整形12用于带宽管理的整形器、队列和限制器。
日程表8基于时间的防火墙规则调度。
虚拟IPS5CARP、ProxyARP和IP别名管理。
故障排除10诊断连接、阻塞流量、VPN、DHCP、DNS、HA。完整的健康报告。
包裹43HAProxy、ACME/Let’s Encrypt、BIND DNS、FreeRADIUS。
效用9HATEOAS导航、对象ID管理、护栏状态。

安全第一

人工智能管理生产防火墙需要护栏。此服务器有9层:

"Delete firewall rule 5"

  1. CLASSIFY    → HIGH risk (destructive)
  2. ALLOWLIST   → tool is permitted
  3. SANITIZE    → parameters clean (no injection)
  4. RATE LIMIT  → under 10 deletes/minute
  5. DRY RUN?    → user can preview first
  6. CONFIRM     → blocked until confirm=True
  7. BACKUP      → config revision captured
  8. EXECUTE     → API call made
  9. AUDIT LOG   → action recorded with redacted params

Response includes:
  "config_backup": {
    "pre_change_revision_id": 42,
    "rollback_instruction": "restore_config_backup(revision_id=42, confirm=True)"
  }

每 破坏性操作(52个删除/重新启动/停止工具)需要 confirm=True. 每 创建和更新操作(112个工具)受到速率限制和净化。 每 敏感参数(密码、密钥、令牌)在日志和输出中被编辑。

您还可以:

  • 通过 dry_run=True 预览任何破坏性操作而不执行
  • 通过 verify_descr="Allow HTTPS" 验证您是否删除了正确的规则(防止ID转换)
  • 集 MCP_READ_ONLY=true 仅公开118个只读工具(搜索、获取、诊断)
  • 集 MCP_ALLOWED_TOOLS=search_firewall_rules,get_firewall_log 仅限于特定工具

支持的pfSense版本

版本REST API状态
pfSense CE 2.8.1v2.7.3已验证
pfSense Plus 25.11v2.7.3已验证
pfSense CE 2.8.0v2.6.0+支持
pfSense Plus 24.11v2.6.0+支持

认证

支持三种方法(在中配置 .env):

方法配置最适合
基本认证AUTH_METHOD=basic +用户名/密码快速设置,本地用户
API密钥AUTH_METHOD=api_key +系统中的密钥>REST API>密钥自动化,服务帐户
JWTAUTH_METHOD=jwt +用户名/密码短期令牌,自动刷新

部署选项

标准 (默认)--对于克劳德桌面和克劳德代码:

python3 -m src.main

超文本传输协议 --对于远程访问和多客户端设置:

python3 -m src.main -t streamable-http --port 3000

码头工人 --具有只读文件系统的强化容器:

docker compose up

容器安全:非root用户(mcp:1000)只读文件系统,所有功能均已删除, noexec tmpfs, no-new-privileges.

配置

变量必填默认描述
PFSENSE_URL是--pfSense URL(例如。, https://192.168.1.1)
AUTH_METHODapi_keyapi_key, basic,或 jwt
PFSENSE_API_KEY\*-REST API密钥
PFSENSE_USERNAME\*--pfSense用户名(用于基本/jwt)
PFSENSE_PASSWORD\*--pfSense密码(用于基本/jwt)
PFSENSE_VERSIONCE_2_8_0CE_2_8_0, CE_2_8_1, CE_26_03, PLUS_24_11, PLUS_25_11
VERIFY_SSLtruefalse 用于自签名证书
API_TIMEOUT30请求超时(秒)
MCP_READ_ONLYfalse仅公开只读工具

All configuration options

变量默认值描述
ENABLE_HATEOASfalse在API响应中启用HAEOAS链接
LOG_LEVELINFODEBUG, INFO, WARNING, ERROR
MCP_TRANSPORTstdiostdio 或 streamable-http
MCP_HOST127.0.0.1HTTP模式的绑定地址
MCP_PORT3000HTTP模式端口
MCP_API_KEY--HTTP传输的承载令牌(必需)
MCP_ALLOWED_ORIGINSlocalhost允许使用逗号分隔的源
MCP_AUDIT_LOG--审计日志文件的路径(JSON行)
MCP_RATE_LIMIT_DELETE10每60秒的最大删除次数
MCP_RATE_LIMIT_CREATE20每60秒的最大创建次数
MCP_RATE_LIMIT_CRITICAL2每300秒的最大关键操作数
MCP_ALLOWED_TOOLSall逗号分隔的工具列表
MCP_ROLLBACK_BUFFER50回滚条目保存在内存中

测试

python3 -m pytest tests/ -v          # 308 tests
python3 -m pytest tests/ --cov=src   # with coverage

MCP规范合规性

符合 MCP 2025-11-25 (最新):

  • ToolAnnotations 在所有327个工具上(readOnlyHint、destructiveHint、幂等Hint)
  • serverInfo.version 和 instructions 提供
  • 源标头验证(必须要求)
  • 带有定时安全比较的承载令牌认证
  • 根据规范,应默认绑定到localhost
  • stdio和流式HTTP传输

项目结构

src/
  main.py              Entry point
  server.py            FastMCP instance + API client
  client.py            pfSense REST API v2 HTTP client
  guardrails.py        9-layer defense-in-depth system
  helpers.py           Validation, parsing, safety guards
  models.py            Data models
  middleware.py        HTTP auth + Origin validation
  tools/               34 tool modules (327 tools)
tests/                 308 tests

贡献

我们需要在不同的pfSense环境中进行真实世界的测试。看 贡献 或者:

  1. 分叉并创建特征分支
  2. 跑 python3 -m pytest tests/ -v
  3. 提交PR

思想: 针对真实pfSense的集成测试、额外的包支持(Snort、Suricata)、Ollama本地LLM桥、多实例管理。

许可证

麻省理工学院

致谢

工具与能力

工具数量

19

资源数量

0

提示词数量

0

能力标签

防火墙管理Python本地部署自然语言处理网络安全自动化工具pfSense

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 工具数量 19 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 3 个目录同时收录,信息可以交叉核对。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
pfSense MCP Server

MCP World · 本页

19stdio有3 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

pfSense MCP Server 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

pfSense MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

pfSense MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

pfSense MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

pfSense MCP Server 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP