Skip to main content
Glama
JackG27

sheridan-lab-jack

by JackG27

sheridan-lab-jack — Servidor MCP de red

Un servidor del Protocolo de Contexto de Modelo (MCP) que expone 6 herramientas de gestión de red para un dispositivo Nokia SR Linux ejecutándose en ContainerLab. Diseñado para ser utilizado con Claude Code como agente de IA.

Arquitectura

┌──────────────┐      MCP (stdio)      ┌──────────────────┐      SSH       ┌──────────────┐
│  Claude Code │ ◄──────────────────► │  sheridan-lab-jack │ ◄──────────► │  Nokia SR    │
│  (AI Agent)  │                      │  (MCP Server)      │              │  Linux       │
└──────────────┘                      └──────────────────┘              │  (ContainerLab)│
                                                                        └──────────────┘

Herramientas (6 en total)

Herramientas de lectura (5)

Herramienta

Descripción

get_device_info

Devuelve el nombre de host, la versión de software, el tipo de chasis y el tiempo de actividad

get_interfaces

Enumera todas las interfaces con estado administrativo/operativo y direcciones IP

get_routes

Muestra la tabla de enrutamiento completa

get_running_config

Recupera la configuración en ejecución (completa o por sección)

get_network_instances

Enumera todas las VRF/instancias de red y sus interfaces

Herramientas de escritura (1)

Herramienta

Descripción

configure_interface

Establece la dirección IP, el estado administrativo y la descripción en una interfaz

Requisitos previos

  • Linux (se recomienda Ubuntu 20.04+)

  • Docker (20.10+)

  • ContainerLab (0.44+)

  • Python 3.10+

  • Claude Code CLI (requiere suscripción a Anthropic Pro)

  • sshpass (sudo apt install sshpass)

Inicio rápido

1. Instalar ContainerLab

sudo bash -c "$(curl -sL https://get.containerlab.dev)"

2. Iniciar el laboratorio

cd sheridan-lab-jack
sudo containerlab deploy --topo topology.yml

Espere unos 60 segundos a que SR Linux arranque por completo. Verifique con:

sudo docker ps  # should show clab-sheridan-lab-jack-srl running

3. Instalar dependencias de Python

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

4. Probar la conectividad SSH

sshpass -p 'NokiaSrl1!' ssh -o StrictHostKeyChecking=no admin@clab-sheridan-lab-jack-srl -- "info from state /system information"

5. Conectar Claude Code

cd sheridan-lab-jack
claude

Claude Code lee automáticamente .mcp.json desde el directorio del proyecto. Una vez dentro de Claude Code, verifique con:

> use get_device_info to check the device

Variables de entorno

Variable

Predeterminado

Descripción

DEVICE_HOST

clab-sheridan-lab-jack-srl

Nombre de host o IP del contenedor SR Linux

DEVICE_USERNAME

admin

Nombre de usuario SSH

DEVICE_PASSWORD

NokiaSrl1!

Contraseña SSH

Las credenciales nunca están codificadas en el código del servidor. Se leen de las variables de entorno en tiempo de ejecución y se pasan a través de .mcp.json.

Validación de entrada

Todas las herramientas de escritura validan las entradas antes de la ejecución:

  • Direcciones IP: Validación mediante expresión regular de decimales con puntos

  • Longitudes de prefijo: Verificación de rango (0-32)

  • Nombres de interfaz: Coincidencia de patrones para el formato de SR Linux (ethernet-X/Y, lo0, mgmt0, system0)

  • Nombres de host: Alfanuméricos + guiones que cumplen con RFC, 1-63 caracteres

  • Descripciones: Alfanuméricas con puntuación básica, máx. 80 caracteres

  • Nombres de sección de configuración: Solo alfanuméricos y guiones

Limpieza

sudo containerlab destroy --topo topology.yml

Ejemplo de sesión de 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...

Licencia

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