Skip to main content
Glama
JackG27

sheridan-lab-jack

by JackG27

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)

Инструмент

Описание

get_device_info

Возвращает имя хоста, версию ПО, тип шасси, время работы

get_interfaces

Выводит список всех интерфейсов с их административным/операционным состоянием и IP-адресами

get_routes

Показывает полную таблицу маршрутизации

get_running_config

Получает текущую конфигурацию (полностью или по разделам)

get_network_instances

Выводит список всех VRF/сетевых экземпляров и их интерфейсов

Инструменты записи (1)

Инструмент

Описание

configure_interface

Устанавливает 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 running

3. Установка зависимостей Python

pip install -r requirements.txt
sudo apt install sshpass -y

4. Проверка 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
claude

Claude Code автоматически считывает .mcp.json из каталога проекта. Находясь в Claude Code, проверьте с помощью:

> use get_device_info to check the device

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

Переменная

По умолчанию

Описание

DEVICE_HOST

clab-sheridan-lab-jack-srl

Имя хоста или IP-адрес контейнера SR Linux

DEVICE_USERNAME

admin

Имя пользователя SSH

DEVICE_PASSWORD

NokiaSrl1!

Пароль 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

-
security - not tested
F
license - not found
-
quality - not tested

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