MCP Hub
Back to servers

zapret2-mcp

MCP server for managing zapret2 network packet processing tool on OpenWrt routers and Linux desktops via Docker, SSH, or locally

Updated
Feb 19, 2026

Quick Install

npx -y zapret2-mcp

zapret2-mcp

MCP-сервер для управления zapret2 — инструментом обработки сетевых пакетов. Позволяет AI-агентам автоматизировать установку, настройку и диагностику zapret2 через Model Context Protocol.

Поддерживаемые платформы

ПлатформаСтатусТранспорт
OpenWrt (роутер)Полная поддержкаssh
Linux (десктоп/сервер)Полная поддержкаlocal
Docker (разработка/тестирование)Полная поддержкаdocker
macOSНе поддерживается
Windows (нативно)Не поддерживается
Windows (WSL2)Работает через locallocal

zapret2 поддерживает Windows нативно через zapret-win-bundle, но архитектура (WinDivert, .cmd-скрипты, другие пути) полностью отличается от Linux. Наш MCP-сервер работает только с Linux/OpenWrt-окружениями. Подробнее: docs/windows-support.md.

Установка

npm install -g zapret2-mcp

Или запуск без установки:

npx zapret2-mcp

Настройка MCP-клиента

Claude Desktop

Добавить в ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "zapret2": {
      "command": "npx",
      "args": ["zapret2-mcp"],
      "env": {
        "ZAPRET2_MODE": "ssh",
        "ZAPRET2_SSH_HOST": "192.168.1.1"
      }
    }
  }
}

Claude Code

Добавить в .mcp.json в корне проекта или в ~/.claude/mcp.json глобально:

{
  "mcpServers": {
    "zapret2": {
      "command": "npx",
      "args": ["zapret2-mcp"],
      "env": {
        "ZAPRET2_MODE": "ssh",
        "ZAPRET2_SSH_HOST": "192.168.1.1"
      }
    }
  }
}

Cursor

Добавить в настройки MCP:

{
  "zapret2": {
    "command": "npx",
    "args": ["zapret2-mcp"],
    "env": {
      "ZAPRET2_MODE": "docker"
    }
  }
}

Режимы транспорта

Сервер выполняет команды на целевой машине через один из трёх транспортов.

ssh — удалённый роутер (продакшн)

Подключение по SSH к OpenWrt-роутеру. Основной режим для реального использования.

{ "ZAPRET2_MODE": "ssh", "ZAPRET2_SSH_HOST": "192.168.1.1" }

local — локальная машина

Выполнение команд через bash -c на той же машине, где запущен MCP-сервер. Для Linux-десктопов и WSL2.

{ "ZAPRET2_MODE": "local" }

docker — контейнер (по умолчанию)

Выполнение через docker exec в контейнере с OpenWrt. Для разработки и тестирования.

{ "ZAPRET2_MODE": "docker" }

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

ПеременнаяПо умолчаниюОписание
ZAPRET2_MODEdockerТранспорт: local, docker, ssh
ZAPRET2_CONTAINER_NAMEzapret2-openwrtИмя контейнера (режим docker)
ZAPRET2_SSH_HOST— (обязательно для ssh)SSH-хост
ZAPRET2_SSH_USERrootSSH-пользователь
ZAPRET2_SSH_KEY— (опционально)Путь к SSH-ключу
ZAPRET2_SSH_PORT22SSH-порт

Tools (13)

Определение системы

ToolОписание
detectSystemОпределение окружения: ОС, архитектура, init-система, WAN-интерфейс, DNS, NFQUEUE, контейнер

Управление сервисом

ToolОписание
getStatusСтатус сервиса: запущен ли, PID, количество nftables-правил, флаг enabled
startServiceЗапуск zapret2 (логи сохраняются в resources)
stopServiceОстановка zapret2 (логи сохраняются в resources)
restartServiceПерезапуск zapret2 (логи сохраняются в resources)

Конфигурация

ToolОписание
getConfigЧтение конфига zapret2 (целиком или по ключу)
updateConfigОбновление параметра конфига (key=value, снапшот сохраняется в resources)
configureDnsНастройка DNS-резолвера (resolv.conf или systemd-resolved)

Установка и диагностика

ToolОписание
checkPrerequisitesПроверка окружения: инструменты, ОС, init-система, NFQUEUE, сеть
installZapretПолная установка: клонирование, скачивание бинарников, базовый конфиг
runBlockcheckЗапуск blockcheck2.sh для поиска рабочих сетевых стратегий (~5 мин, лог в resources)
verifyBypassПроверка сетевой связности: DNS, HTTP, статус nfqws2

Интеграция с десктопом

ToolОписание
createSystemdServiceСоздание systemd unit для автозапуска zapret2 на Linux-десктопе

Prompts (5)

MCP-промпты — пошаговые инструкции для типичных сценариев:

PromptОписание
setup-zapretУстановка с нуля (универсальная)
setup-desktopУстановка на Linux-десктоп с systemd, DNS и автозапуском
find-bypass-strategyПоиск рабочей сетевой стратегии через blockcheck
troubleshootДиагностика проблем
overviewСправочник по всем tools, resources и workflows

MCP Resources

Tools сохраняют вывод в файлы для персистентной истории. Агент может возвращаться к предыдущим результатам и сравнивать прогоны.

  • URI: zapret2://logs/{type}/{timestamp}
  • Типы логов: blockcheck, service, config
  • Хранение: ~/.zapret2-mcp/logs/

Сценарии использования

Роутер (OpenWrt по SSH)

detectSystem → checkPrerequisites → installZapret → updateConfig(NFQWS2_ENABLE=1)
→ startService → verifyBypass

Linux-десктоп

detectSystem → checkPrerequisites → installZapret → configureDns
→ createSystemdService → updateConfig(NFQWS2_ENABLE=1) → startService → verifyBypass

Поиск сетевой стратегии

stopService → runBlockcheck(domain) → прочитать лог resource
→ updateConfig(NFQWS2_OPT=...) → restartService → verifyBypass(domain)

Диагностика

detectSystem → getStatus → getConfig → checkPrerequisites → verifyBypass(domain)
→ анализ результатов

Разработка

git clone https://github.com/your-org/zapret2-mcp.git
cd zapret2-mcp
npm install
npm run build      # TypeScript → build/
npm run dev        # MCP Inspector
npm test           # Unit-тесты (vitest)
npm run test:integration  # Интеграционные тесты (требуется Docker)

Docker-окружение для разработки

cd docker
docker compose build && docker compose up -d

Контейнер zapret2-openwrt: OpenWrt SNAPSHOT, privileged: true, network_mode: host.

Лицензия

MIT

Reviews

No reviews yet

Sign in to write a review