sheridan-lab-jack
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 |
| Gibt Hostname, Softwareversion, Gehäusetyp und Betriebszeit zurück |
| Listet alle Schnittstellen mit Admin-/Oper-Status und IP-Adressen auf |
| Zeigt die vollständige Routing-Tabelle an |
| Ruft die laufende Konfiguration ab (vollständig oder nach Abschnitt) |
| Listet alle VRFs/Netzwerkinstanzen und deren Schnittstellen auf |
Schreib-Tools (1)
Tool | Beschreibung |
| 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.ymlWarten 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 running3. Python-Abhängigkeiten installieren
pip install -r requirements.txt
sudo apt install sshpass -y4. 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
claudeClaude 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 deviceUmgebungsvariablen
Variable | Standardwert | Beschreibung |
|
| Hostname oder IP des SR Linux-Containers |
|
| SSH-Benutzername |
|
| 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.ymlBeispiel 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
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