sheridan-lab-jack
sheridan-lab-jack — MCP-сервер для управления сетью
Сервер протокола контекста модели (MCP), предоставляющий 6 инструментов управления сетью для устройства Nokia SR Linux, работающего в ContainerLab. Разработан для использования с Claude Code в качестве ИИ-агента.
Архитектура
┌──────────────┐ MCP (stdio) ┌──────────────────┐ SSH ┌──────────────┐
│ Claude Code │ ◄──────────────────► │ sheridan-lab-jack │ ◄──────────► │ Nokia SR │
│ (AI Agent) │ │ (MCP Server) │ │ Linux │
└──────────────┘ └──────────────────┘ │ (ContainerLab)│
└──────────────┘Инструменты (всего 6)
Инструменты чтения (5)
Инструмент | Описание |
| Возвращает имя хоста, версию ПО, тип шасси, время работы |
| Выводит список всех интерфейсов с их административным/операционным состоянием и IP-адресами |
| Показывает полную таблицу маршрутизации |
| Получает текущую конфигурацию (полностью или по разделам) |
| Выводит список всех VRF/сетевых экземпляров и их интерфейсов |
Инструменты записи (1)
Инструмент | Описание |
| Устанавливает IP-адрес, административное состояние и описание интерфейса |
Предварительные требования
Linux (рекомендуется Ubuntu 20.04+)
Docker (20.10+)
ContainerLab (0.44+)
Python 3.10+
Claude Code CLI (требуется подписка Anthropic Pro)
sshpass (
sudo apt install sshpass)
Быстрый старт
1. Установка ContainerLab
sudo bash -c "$(curl -sL https://get.containerlab.dev)"2. Запуск лаборатории
cd sheridan-lab-jack
sudo containerlab deploy --topo topology.ymlПодождите около 60 секунд, пока SR Linux полностью загрузится. Проверьте с помощью:
sudo docker ps # should show clab-sheridan-lab-jack-srl running3. Установка зависимостей Python
pip install -r requirements.txt
sudo apt install sshpass -y4. Проверка SSH-соединения
sshpass -p 'NokiaSrl1!' ssh -o StrictHostKeyChecking=no admin@clab-sheridan-lab-jack-srl -- "info from state /system information"5. Подключение Claude Code
cd sheridan-lab-jack
claudeClaude Code автоматически считывает .mcp.json из каталога проекта. Находясь в Claude Code, проверьте с помощью:
> use get_device_info to check the deviceПеременные окружения
Переменная | По умолчанию | Описание |
|
| Имя хоста или IP-адрес контейнера SR Linux |
|
| Имя пользователя SSH |
|
| Пароль SSH |
Учетные данные никогда не прописываются жестко в коде сервера. Они считываются из переменных окружения во время выполнения и передаются через .mcp.json.
Проверка входных данных
Все инструменты записи проверяют входные данные перед выполнением:
IP-адреса: проверка регулярным выражением для точечно-десятичной нотации
Длина префикса: проверка диапазона (0-32)
Имена интерфейсов: сопоставление с шаблоном для формата SR Linux (
ethernet-X/Y,lo0,mgmt0,system0)Имена хостов: буквенно-цифровые символы + дефисы, соответствующие RFC, 1-63 символа
Описания: буквенно-цифровые символы с базовой пунктуацией, макс. 80 символов
Имена разделов конфигурации: только буквенно-цифровые символы и дефисы
Очистка
sudo containerlab destroy --topo topology.ymlПример сессии Claude Code
You: get device info
Claude: [calls get_device_info] The device is a Nokia SR Linux running version...
You: show me all interfaces
Claude: [calls get_interfaces] Here are the interfaces...
You: configure ethernet-1/1 with IP 192.168.50.1/24 and description "uplink"
Claude: [calls configure_interface] Successfully configured ethernet-1/1...
You: verify the change by showing interfaces again
Claude: [calls get_interfaces] Confirmed — ethernet-1/1 now has IP 192.168.50.1/24...Лицензия
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/JackG27/sheridan-lab-jack'
If you have feedback or need assistance with the MCP directory API, please join our Discord server