Skip to main content
Glama
JackG27

sheridan-lab-jack

by JackG27

sheridan-lab-jack — Netzwerk-MCP-Server

Ein Model Context Protocol (MCP)-Server, der 6 Netzwerkverwaltungstools für ein Nokia SR Linux-Gerät bereitstellt, das in ContainerLab läuft. Entwickelt für die Verwendung mit Claude Code als KI-Agent.

Architektur

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

Tools (insgesamt 6)

Lese-Tools (5)

Tool

Beschreibung

get_device_info

Gibt Hostname, Softwareversion, Gehäusetyp und Betriebszeit zurück

get_interfaces

Listet alle Schnittstellen mit Admin-/Oper-Status und IP-Adressen auf

get_routes

Zeigt die vollständige Routing-Tabelle an

get_running_config

Ruft die laufende Konfiguration ab (vollständig oder nach Abschnitt)

get_network_instances

Listet alle VRFs/Netzwerkinstanzen und deren Schnittstellen auf

Schreib-Tools (1)

Tool

Beschreibung

configure_interface

Legt IP-Adresse, Admin-Status und Beschreibung für eine Schnittstelle fest

Voraussetzungen

  • Linux (Ubuntu 20.04+ empfohlen)

  • Docker (20.10+)

  • ContainerLab (0.44+)

  • Python 3.10+

  • Claude Code CLI (erfordert Anthropic Pro-Abonnement)

  • sshpass (sudo apt install sshpass)

Schnellstart

1. ContainerLab installieren

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

2. Das Lab starten

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

Warten Sie ca. 60 Sekunden, bis SR Linux vollständig hochgefahren ist. Überprüfen Sie dies mit:

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

3. Python-Abhängigkeiten installieren

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

4. SSH-Konnektivität testen

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

5. Claude Code verbinden

cd sheridan-lab-jack
claude

Claude Code liest automatisch die .mcp.json aus dem Projektverzeichnis. Sobald Sie sich in Claude Code befinden, überprüfen Sie dies mit:

> use get_device_info to check the device

Umgebungsvariablen

Variable

Standardwert

Beschreibung

DEVICE_HOST

clab-sheridan-lab-jack-srl

Hostname oder IP des SR Linux-Containers

DEVICE_USERNAME

admin

SSH-Benutzername

DEVICE_PASSWORD

NokiaSrl1!

SSH-Passwort

Anmeldedaten sind niemals fest im Server-Code hinterlegt. Sie werden zur Laufzeit aus Umgebungsvariablen gelesen und über .mcp.json übergeben.

Eingabevalidierung

Alle Schreib-Tools validieren Eingaben vor der Ausführung:

  • IP-Adressen: Regex-Validierung im punktierten Dezimalformat

  • Präfixlängen: Bereichsprüfung (0-32)

  • Schnittstellennamen: Musterabgleich für das SR Linux-Format (ethernet-X/Y, lo0, mgmt0, system0)

  • Hostnamen: RFC-konform, alphanumerisch + Bindestriche, 1-63 Zeichen

  • Beschreibungen: Alphanumerisch mit grundlegender Interpunktion, max. 80 Zeichen

  • Konfigurationsabschnittsnamen: Nur alphanumerisch und Bindestriche

Bereinigung

sudo containerlab destroy --topo topology.yml

Beispiel für eine Claude Code-Sitzung

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...

Lizenz

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