Nornir MCP Server
🌐 Сервер MCP Nornir
Сервер FastMCP , предоставляющий инструменты сетевой автоматизации на базе Nornir и NAPALM .
Этот сервер действует как мост, предоставляя сетевые операции Nornir/NAPALM в качестве инструментов MCP (Massively Concurrent Processing), что делает их легкодоступными из совместимых клиентов MCP (например, FastMCP Web UI).
✨ Основные характеристики
Использует Nornir для управления запасами и параллельного выполнения задач на сетевых устройствах.
Использует NAPALM для взаимодействия устройств разных производителей (сбор информации, выполнение команд).
Создан с использованием FastMCP для бесшовной интеграции с клиентами MCP, использующими различные транспорты (SSE в этой конфигурации).
Контейнеризация с Docker 🐳 для легкой настройки и развертывания.
Использует
uvдля быстрого управления зависимостями Python внутри контейнера ⚡.
Related MCP server: nornir-mcp-server
🔧 Предварительные условия
Прежде чем начать, убедитесь, что у вас установлено следующее:
Docker Compose (обычно входит в состав Docker Desktop)
⚙️ Конфигурация
Перед запуском сервера необходимо настроить сетевой инвентарь и учетные данные устройства:
Перейдите в каталог
conf/в проекте.Редактировать
hosts.yaml: Определите свои сетевые устройства. Укажите их IP-адрес управления/имя хоста, платформу (например,ios,junos,eos), учетные данные (если не используются значения по умолчанию) и при необходимости назначьте их группам.Редактировать
groups.yaml: Определить группы устройств с общими свойствами (например, платформа или параметры подключения). Настройки здесь могут переопределять значения по умолчанию.Отредактируйте
defaults.yaml: установите учетные данные по умолчанию (username,password) и параметры подключения (например,secretNAPALM для включения паролей илиplatformпо умолчанию).⚠️ Важное примечание по безопасности: конфигурация по умолчанию использует учетные данные в виде открытого текста в файлах YAML. Это подходит для тестовых/лабораторных сред. Для производства настоятельно рекомендуется использовать встроенные функции управления секретами Nornir (например, переменные среды, плагин HashiCorp Vault), чтобы избежать хранения конфиденциальной информации непосредственно в файлах конфигурации. Измените
nornir_ops.pyи свою конфигурацию, если вы реализуете поставщика секретов.
Проверьте
config.yaml: убедитесь, что пути к файлам инвентаризации (host_file,group_file,defaults_file) правильно указывают на файлы в каталогеconf/(они должны быть такими по умолчанию). При необходимости настройте параметры исполнителя (num_workers).
▶️ Запуск сервера
После настройки вы сможете легко запустить сервер с помощью Docker Compose:
Убедитесь, что вы настроили каталог
conf/как описано выше.Откройте терминал или командную строку в корневом каталоге проекта (том же каталоге, где находятся файлы
Dockerfileиdocker-compose.yml).Выполните следующую команду:
docker-compose up --build -dФлаг
--buildсообщает Docker Compose о необходимости создания образа на основеDockerfileв первый раз или в случае изменения каких-либо файлов проекта (например, файлов.pyилиpyproject.toml).Эта команда запустит сервер Nornir MCP в контейнере Docker.
Журналы сервера будут отображаться в вашем терминале. По умолчанию он должен быть доступен на порту
8000вашего хост-компьютера (localhost).Чтобы остановить сервер, нажмите
Ctrl+Cв терминале, где запущенdocker-compose. Чтобы удалить контейнер после этого, запуститеdocker-compose down.
🔌 Добавление в MCP Client
Чтобы использовать инструменты, предоставляемые этим сервером, в клиенте MCP (например, официальном веб-интерфейсе FastMCP или других совместимых клиентах):
Убедитесь, что сервер Nornir MCP запущен (с помощью
docker-compose up).Откройте клиентское приложение MCP.
Найдите возможность добавлять или управлять подключениями к серверу MCP.
Добавьте новое соединение со следующими данными:
URL-адрес сервера : поскольку этот сервер использует транспорт SSE (Server-Sent Events) и по умолчанию работает на порту 8000, URL-адрес будет следующим:
http://localhost:8000/sse(Если у вашего хоста Docker другой IP-адрес, доступный клиенту, замените
localhostна этот IP-адрес, например,http://192.168.1.100:8000/sse)
Имя подключения : дайте ему описательное имя, например,
Nornir Lab Server.
Сохраните и подключитесь к недавно добавленному серверу.
Клиент MCP должен обнаружить службу
Nornir_MCPи перечислить все доступные инструменты (например,get_facts,send_commandи т. д.). Теперь вы можете использовать эти инструменты через интерфейс клиента! 🎉
Примеры DSL Dify
Nornir MCP.yml — простой пример для общения с вашими устройствами.
Device Check.yml — пример запуска отчета об оценке устройства.
🛠️ Доступные инструменты и ресурсы
После подключения через клиент MCP обычно должны быть доступны следующие инструменты (под именем службы «Nornir_MCP»):
Инвентарь:
list_all_hosts: выводит список устройств, настроенных в вашем инвентаре Nornir (conf/hosts.yaml).
Получатели NAPALM: (Получить информацию)
get_factsget_interfacesget_interfaces_ipget_interfaces_countersget_config(с опциейretrieve: запущено, запущено, кандидат)get_arp_tableget_mac_address_tableget_usersget_vlansget_snmp_informationget_bgp_neighbors(Доступность зависит от платформы устройства и поддержки драйвера NAPALM)
Исполнение:
send_command: отправить на устройство одну команду, доступную только для чтения, и получить вывод.
Ресурс потоковой передачи:
sse://updates: предоставляет простой поток событий heartbeat. (На него могут подписываться клиенты, поддерживающие ресурсы SSE).
📄 Лицензия
Данный проект лицензирован по лицензии MIT.
🙌 Вклад
Вклады, проблемы и запросы на функции приветствуются! Пожалуйста, не стесняйтесь отправлять их через репозиторий проекта.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceFastMCP is a comprehensive MCP server allowing secure and standardized data and functionality exposure to LLM applications, offering resources, tools, and prompt management for efficient LLM interactions.3MIT
- FlicenseAqualityFmaintenanceAn MCP server that integrates Nornir with NAPALM and Netmiko, enabling LLMs to orchestrate multi-vendor network infrastructure through natural language.52
- FlicenseBqualityDmaintenanceAsynchronous MCP server for unified multi-platform network infrastructure management, providing 97 tools across 10 connectors including SSH, MikroTik, Palo Alto, Aruba, Graylog, LibreNMS, Cisco APIC/NDFC, and Panorama.9722
- Alicense-qualityCmaintenanceMCP server for network operations that lets AI assistants interact with Cisco/Juniper network devices through safe, well-defined tools like compliance audits and configuration backups.MIT
Related MCP Connectors
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yhvh-chen/nornir_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server