pfSense MCP Server

MCP-сервер для управления файрволом pfSense через REST API: 332 инструмента, подтверждение опасных операций и откатная ревизия

  • 121 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Широкий доступ

Почему такой уровень

  • Инструменты создают, меняют и удаляют правила файрвола, VPN, пользователей и сертификаты на рабочем сетевом узле
  • Есть перезагрузка и остановка устройства, откат конфигурации делается вручную
Все причины и проверки

gensecaihq/pfsense-mcp-server

Установка

Ручная установка

{
  "mcpServers": {
    "pfsense": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/gensecaihq/pfsense-mcp-server@v1.1.0", "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_1",
        "PFSENSE_CA_FILE": "/path/to/pfsense-ca.pem"
      }
    }
  }
}

Фрагмент для claude_desktop_config.json. Уберите PFSENSE_CA_FILE, если сертификат подписан публичным CA.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Инструменты создают, меняют и удаляют правила файрвола, VPN, пользователей и сертификаты на рабочем сетевом узле
  • Есть перезагрузка и остановка устройства, откат конфигурации делается вручную

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

pfSense MCP Server подключает Claude Desktop, Claude Code и другие MCP-клиенты к файрволу pfSense. Агент смотрит и меняет правила, алиасы, NAT, маршруты, DNS и DHCP, настраивает OpenVPN, IPsec и WireGuard, управляет сертификатами, пользователями и службами, читает журналы и ищет причину недоступности узла. Всего 332 инструмента, 131 из них только читают. Каждое изменение проходит девять проверок: оценка опасности операции, список разрешенных инструментов, очистка параметров, лимит частоты, пробный запуск `dry_run`, подтверждение `confirm=True`, запись ревизии конфигурации, вызов API и журнал аудита с вычеркнутыми секретами. Ответ называет номер ревизии, которую можно восстановить в веб-интерфейсе pfSense. Режим `MCP_READ_ONLY=true` оставляет только читающие инструменты, а `MCP_ALLOWED_TOOLS` разрешает перечисленные записывающие. Нужен пакет REST API для pfSense и Python 3.11 или новее.

Для кого. Сетевым администраторам, которые ведут pfSense и хотят описывать изменения правил и VPN словами, не открывая вкладки веб-интерфейса.

Подходит, если

  • Сайт перестал открываться с одного узла, и агент ищет заблокировавшее правило и упавший шлюз
  • Нужно заблокировать адрес на WAN и получить ревизию конфигурации для отката
  • Пользователю надо добавить пир WireGuard и получить клиентскую конфигурацию
  • Свежая установка pfSense проверяется в режиме `MCP_READ_ONLY` перед тем, как разрешать правки агенту

Не подходит, если

  • Боевой файрвол без резервной копии и без окна обслуживания: откат делается вручную в веб-интерфейсе
  • Нужно управлять несколькими pfSense сразу: один процесс обслуживает один экземпляр
  • Нужен OPNsense или другая платформа: инструмент рассчитан только на REST API v2 для pfSense

Пример запроса к агенту

Почему 192.168.1.50 не выходит в интернет? Проверь шлюзы и правила LAN, ничего не меняй.

MCP

Транспорт
stdio
Авторизация
ключ необязателен

Переменные окружения

PFSENSE_URL обязательная
Адрес pfSense, например https://192.168.1.1.
AUTH_METHOD обязательная
Способ входа: basic, api_key или jwt.
PFSENSE_PASSWORD секрет
Пароль пользователя для basic и jwt.
MCP_READ_ONLY
Значение true оставляет только читающие инструменты.

Ограничения

Нужен пакет pfSense REST API v2 на самом файрволе и Python 3.11 или новее. На PyPI проекта нет, имя `pfsense-mcp-server` там занято другим пакетом: ставить следует из Git командой с `uvx`. Откат ручной: REST API не умеет восстанавливать конфигурацию, сервер лишь возвращает номер ревизии. Флаг `confirm=True` передает клиент, это не отдельное подтверждение человеком, поэтому оставьте включенными запросы подтверждения инструментов. Около 11 инструментов для вложенных объектов, например пулов DHCP и очередей шейпера, не отправляют `parent_id` и падают.

Как отключить. Удалите запись pfsense из claude_desktop_config.json и остановите процесс сервера. Если создали ключ API или отдельного пользователя для агента, отзовите их в pfSense.

Частые вопросы

Можно ли поставить пакет через pip?

Нет. На PyPI другой, не связанный проект с таким же именем, поэтому `pip install pfsense-mcp-server` ставить нельзя. Используйте `uvx --from git+https://github.com/gensecaihq/pfsense-mcp-server@v1.1.0 pfsense-mcp-server` или файлы релиза.

Как оставить агенту только чтение?

Задайте переменную `MCP_READ_ONLY=true`: останутся 131 читающий инструмент. Для точечной записи используйте `MCP_ALLOWED_TOOLS`, например `create_firewall_rule_advanced,delete_firewall_rule`.

Как откатить изменение?

Ответ защищенного инструмента содержит `pre_change_revision_id`. Откройте в веб-интерфейсе pfSense раздел Diagnostics, Backup and Restore, Config History и восстановите эту ревизию вручную.

Какие способы входа поддерживает сервер?

Три: `basic` с логином и паролем, `api_key` с ключом из System, REST API, Keys и `jwt` с автоматическим обновлением токена. Метод задает переменная `AUTH_METHOD`.

Почему не проходит проверка сертификата?

pfSense выдает самоподписанный сертификат своего CA, а Python не читает системное хранилище. Экспортируйте CA в System, Cert. Manager, CAs и укажите файл в `PFSENSE_CA_FILE`; при пропуске или битом файле сервер не запустится.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы
Официальный

Официальный MCP-сервер Cloudflare: агент управляет всем API Cloudflare через поиск по спецификации и выполнение кода

MCP-серверШирокий доступ1,1 тыс.Звезды репозитория

MCP-сервер для SSH: агент выполняет команды, читает и пишет файлы по SFTP, передает файлы и запускает долгие задачи, а пароли остаются у вас

MCP-серверШирокий доступ1 тыс.Звезды репозитория

MCP-сервер подключает агента к сети UniFi для диагностики устройств, проверки настроек и согласованных изменений

MCP-серверШирокий доступ351Звезды репозитория
Официальный

MCP-сервер Perforce для P4: файлы, списки изменений, шелфы, ревью и стримы доступны агенту, запись можно отключить флагом.

MCP-серверРасширенный доступ126Звезды репозитория

MCP Slim Guard стоит между агентом и вашими MCP-серверами: проверяет вызовы по схеме и отдает большие ответы частями.

MCP-серверРасширенный доступ180Звезды репозитория
Официальный

Официальный MCP-сервер TrueNAS: вопросы о пулах, снимках, виртуальных машинах и приложениях на обычном языке.

MCP-серверШирокий доступ117Звезды репозитория

Коротко о README

README начинается с примеров разговоров с файрволом и объясняет, зачем нужны защитные слои при управлении боевым pfSense. Дальше идут быстрый старт через uvx или клон, таблица из 332 инструментов по областям, девять проверок перед изменением, поддерживаемые версии, способы входа, развертывание и известные ограничения.

Бейдж для README

Сообщить о проблеме