返回 MCP 目录
public公开dns本地运行

pfsense-mcp-server

一个生产级的pfSense防火墙自然语言交互服务器,通过MCP协议实现与Claude Desktop等GenAI应用的安全控制接口。

article

README

🚀 pfSense MCP 服务器

pfSense MCP 服务器是一款生产级的模型上下文协议(MCP)服务器,它能让你通过 Claude Desktop 等生成式人工智能(GenAI)应用与 pfSense 防火墙进行自然语言交互。

版本 许可证 MCP

✨ 主要特性

  • 自然语言接口:使用简单的英语来控制 pfSense。
  • 5 种访问级别:从只读监控到应急响应,满足不同场景需求。
  • 多种连接方式:支持 REST API、XML - RPC 和 SSH 连接。
  • 6 大功能类别:全面覆盖安全操作。
  • GenAI 集成:可与 Claude Desktop、Continue 等 MCP 客户端协同工作。
  • 生产就绪:具备审计日志、速率限制和缓存功能。

🚀 快速开始

1. 安装与配置

# 克隆仓库
git clone https://github.com/gensecaihq/pfsense-mcp-server.git
cd pfsense-mcp-server

# 复制环境模板
cp .env.example .env

# 编辑配置
nano .env  # 添加你的 pfSense 详细信息

2. 使用 Docker 运行

# 构建并启动
docker-compose up -d

# 检查健康状态
curl http://localhost:8000/health

3. 配置 Claude Desktop

在你的 Claude Desktop 配置文件(macOS 系统路径为 ~/Library/Application Support/Claude/claude_desktop_config.json)中添加以下内容:

{
  "mcpServers": {
    "pfsense": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--env-file", "/path/to/.env", "pfsense-mcp:latest"],
      "env": {
        "MCP_MODE": "stdio"
      }
    }
  }
}

或者在本地运行:

{
  "mcpServers": {
    "pfsense": {
      "command": "python",
      "args": ["/path/to/pfsense-mcp-server/main.py"],
      "env": {
        "PFSENSE_URL": "https://your-pfsense.local",
        "PFSENSE_API_KEY": "your-api-key"
      }
    }
  }
}

🔐 访问级别

| 级别 | 描述 | 示例用户 | | ---- | ---- | ---- | | READ_ONLY | 监控和查看 | 安全分析师 | | SECURITY_WRITE | 修改安全规则 | 安全工程师 | | ADMIN_WRITE | 完全系统访问 | 管理员 | | COMPLIANCE_READ | 审计和合规检查 | 合规专员 | | EMERGENCY_WRITE | 应急响应 | 事件响应人员 |

💻 使用示例

基础用法

以下是一些使用自然语言与 pfSense 交互的示例提示:

"Show me the system status"(显示系统状态)
"What IPs are currently blocked?"(当前哪些 IP 被阻止了?)
"Block IP 192.168.1.100"(阻止 IP 192.168.1.100)
"Run a PCI compliance check"(运行 PCI 合规性检查)
"Analyze threats from the last hour"(分析过去一小时的威胁)
"EMERGENCY: Block all traffic from Russia"(紧急情况:阻止来自俄罗斯的所有流量)

📚 详细文档

🧪 测试

# 测试连接
python scripts/test_connection.py

# 运行测试
pytest tests/

# 生成令牌
python scripts/generate_token.py alice READ_ONLY

📄 许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端