Skip to main content
Glama

Pingo – MCP-Server für lokales LAN-Debugging

Ein MCP-Server, der ein vollständiges Toolkit für das Debugging deines lokalen Netzwerks bereitstellt – aufgebaut auf einer sauberen Architektur mit je einem Service pro Zuständigkeit, sodass er leicht zu erweitern ist.

Verfügbare Tools

Tool

Beschreibung

get_network_interfaces

Listet lokale IPv4-Schnittstellen auf (Name, IP, Netzmaske, MAC)

ping_device

Pingt eine einzelne IPv4-Adresse und meldet Erreichbarkeit/Latenz

ping_sweep

Durchsucht ein /24-/32-CIDR, um aktive Hosts zu finden (parallelitätsbegrenzt)

traceroute

Führt OS-natives traceroute/tracert zu einem Host oder einer IP aus

dns_lookup

Löst einen Hostnamen in seine IPv4/IPv6-Adressen auf

reverse_dns_lookup

Löst eine IP zurück zu Hostname(s) auf

check_port

Prüft, ob ein einzelner TCP-Port offen ist

scan_port_range

Scannt einen Bereich von TCP-Ports (maximale Spannweite 1024) über Raw-Sockets

get_arp_table

Liest den ARP-Cache des OS und liefert IP-zu-MAC-Zuordnungen im LAN

get_active_connections

Listet aktive Verbindungen über netstat auf, optional mit Portfilter

check_http_reachability

Prüft, ob ein HTTP(S)-Endpunkt antwortet, mit Status und Latenz

Related MCP server: Network Ops MCP

Design-Hinweise

  • Ein Service pro Zuständigkeit (src/services/*) – jeder Service erledigt genau eine Aufgabe und wird in den Controller injiziert. Eine neue Diagnosefunktion (z. B. MTU-Erkennung, Bandbreitentest) hinzuzufügen bedeutet also nur, einen neuen Service plus einen registerTool-Aufruf zu ergänzen – sonst ändert sich nichts.

  • Keine Shell-Injection-Angriffsfläche. Jeder OS-Befehl läuft über execFile (argv-Array, niemals ein Shell-String), und jede Eingabe wird vor Erreichen eines Befehls oder Sockets gegen eine strenge Zulassungsliste (src/utils/validators.ts) validiert.

  • Standardmäßig begrenzt. Portscans sind auf eine Spannweite von 1024 Ports begrenzt, Sweeps auf /24, und alles hat einen Timeout – so kann eine schlechte Eingabe den Prozess nicht blockieren oder zu einem unbegrenzten Netzwerkscan führen.

  • DNS verwendet Nodes natives dns/promises und überhaupt keinen Shell-Befehl – eine exec-Angriffsfläche weniger für das am riskantesten klingende Tool.

Ausführen

pnpm install
pnpm dev        # tsx src/index.ts, hot-reload dev mode
pnpm build && pnpm start   # compiled prod run

Der Server lauscht auf http://localhost:3000/mcp.

Erweitern

  1. Füge src/services/YourService.ts hinzu, das ein IYourService-Interface implementiert (analog zu den bestehenden Services – ohne Konstruktor, eine fokussierte Methode oder zwei).

  2. Füge es zu PingoServices in PingoMcpController.ts hinzu und instanziiere es in src/index.ts.

  3. Füge in registerTools() einen server.registerTool(...)-Block hinzu.

Das ist die gesamte Erweiterungsschnittstelle – keine anderen Dateien müssen geändert werden.

Related MCP Connectors

Related MCP Servers