Skip to main content
Glama

netdiag-mcp

English | 日本語

MCP-Server für On-Demand-Netzwerkdiagnosen – DNS-Abfragen (mit DNSSEC-AD-Bit-Prüfung), Ping, ein mtr-basierter Pfadbericht, TCP-Portprüfungen, HTTP-Status-/Weiterleitungsprüfungen, TLS-Zertifikatsprüfung und WHOIS, alles von einem Server aus.

Entwickelt für die Bearbeitung von Meldungen wie „X nicht erreichbar“ / „Ist DNS bereits propagiert?“, ohne sich für jedes einzelne dig/ping/curl auf einen Sprungserver einloggen zu müssen.

Tools

Tool

Zweck

dns_lookup

Löst einen DNS-Eintrag über dig auf (A/AAAA/MX/TXT/NS/CNAME/SOA/PTR/CAA), optional gegen einen bestimmten Resolver und über normales DNS/DoT/DoH

dnssec_check

Fragt einen bekannten validierenden Resolver ab und meldet, ob das AD-Bit gesetzt ist (normal/DoT/DoH) – der einzige zuverlässige Weg, die DNSSEC-Validierung zu bestätigen, da ein in einer normalen dig-Antwort vorhandenes RRSIG für sich genommen nicht beweist, dass es von irgendetwas validiert wurde

ping_host

ICMP-Ping (Anzahl auf 1–10 begrenzt)

traceroute_path

Hop-für-Hop-Pfad-/Verlustbericht über mtr --report (feste Zyklen, kein Live-/Dauerlauf)

tcp_port_check

Ist ein TCP-Port offen – eine einfache Socket-Verbindung, kein Portscan

http_check

HEAD/GET auf eine URL und Bericht über Status, Weiterleitungskette und Latenz

tls_cert_check

Ruft das von einem Host präsentierte Zertifikat ab und meldet Subject/Issuer/Gültigkeit/SANs

whois_lookup

WHOIS-Abfrage für eine Domain

asn_lookup

ASN- und Ländercode-Abfrage für eine IP oder Organisationsinfo für eine AS-Nummer über den WHOIS-Dienst von Team Cymru – kein API-Schlüssel oder GeoIP-Datenbank nötig

health_check

Version und welche gekapselten Binaries (dig/ping/mtr/whois) im PATH vorhanden sind

Alle Tools sind schreibgeschützt und auf ein einzelnes Ziel ausgerichtet (kein Stapel-/Scanmodus) – dies ist ein Komfort-Wrapper um Prüfungen, die ein Operator von Hand ausführen würde, kein Scan-Tool. nmap-artiges Multi-Host-/Multi-Port-Scannen ist bewusst nicht Teil des Umfangs; das absichtliche Sondieren vieler Hosts oder Ports ist eine andere Aktion mit größerem Schadensradius, die eine eigene Tool-Unterstützung und einen eigenen Genehmigungsablauf verdient.

tcp_port_check, http_check und tls_cert_check verwenden Pythons eigenen Socket/ssl/httpx-Stack, anstatt nc/curl/openssl als externe Prozesse aufzurufen. Diese drei Tools funktionieren daher auch auf einem Host, auf dem nur die Binaries dig/ping/mtr/whois installiert sind (oder gar keine – health_check meldet, welche fehlen, ohne den gesamten Server zu stoppen).

dns_lookup/dnssec_check unterstützen DNS-over-TLS und DNS-over-HTTPS über transport="dot"/"doh" (die +tls-/+https-Optionen von dig). Dafür wird dig aus BIND 9.18+ benötigt – ein älteres dig lehnt das Flag komplett ab, anstatt still auf normales DNS zurückzufallen. Ein veraltetes Binary schlägt also deutlich fehl, statt ein falsches Gefühl zu vermitteln, über einen verschlüsselten Transport geprüft zu haben.

tls_cert_check/http_check können bei einer reinen IP-Adresse auf SNI-gehosteten bzw. hinter einem CDN liegenden Origins (z. B. bei Cloudflare) mit einem „handshake failure“ oder einem ähnlichen Fehler im TLS-Handshake fehlschlagen – die SNI-Erweiterung von TLS überträgt nur Hostnamen, daher kann ein IP-Literal an einem gemeinsam genutzten Edge nicht zum richtigen Zertifikat führen. Das ist normales TLS-Verhalten und kein Tool-Fehler; prüfen Sie über den Hostnamen, wenn das Ziel hinter einem CDN liegt.

Einrichtung

1. Systemabhängigkeiten

dns_lookup, dnssec_check, ping_host, traceroute_path und whois_lookup rufen dig, ping, mtr bzw. whois als externe Prozesse auf. Installieren Sie, welche davon Sie benötigen:

# Debian/Ubuntu
sudo apt install dnsutils iputils-ping mtr-tiny whois

mtr benötigt Zugriff auf Raw-Sockets. Das Debian/Ubuntu-Paket mtr-tiny gewährt dem Helfer mtr-packet bei der Installation cap_net_raw, sodass es normalerweise ohne weitere Einrichtung für einen unprivilegierten Dienstbenutzer funktioniert – überprüfen Sie es mit getcap "$(command -v mtr-packet)", wenn traceroute_path einen Socket-Berechtigungsfehler meldet. Ohne diese Fähigkeit schlägt traceroute_path sauber mit einem ToolError fehl, anstatt den Server zum Absturz zu bringen.

2. Installation

pip install netdiag-mcp
# or
uv tool install netdiag-mcp

3. Claude Code (manuell)

claude mcp add netdiag -- netdiag-mcp

Es sind keine Umgebungsvariablen erforderlich.

CLI

netdiag-mcp --version   # print version
netdiag-mcp --check     # report which wrapped binaries are present (exit 0 when all are)

Sicherheitshinweise

  • Jeder Aufruf eines externen Binaries übergibt eine argv-Liste (niemals einen Shell-String), sodass kein Tool-Argument in die Shell-Syntax ausbrechen kann.

  • Hostname/IP- und Port-Argumente werden vor der Verwendung validiert und in Größe/Bereich begrenzt – Tool-Eingaben sind modellgesteuert und werden als nicht vertrauenswürdig behandelt, genau wie bei jeder anderen Tool-Aufruffläche.

  • tcp_port_check verbindet sich pro Aufruf mit genau einem Host:Port; es gibt bewusst kein Schleifen- oder Bereichsargument.

Entwicklung

Live-Smoke-Test

Unit-Tests prüfen die Logik anhand von Fixtures; sie können Ihnen nicht sagen, dass ein Tool aufgehört hat, echte Daten zurückzugeben (ein defektes dig/ping/mtr/whois-Binary, ein defekter TLS-Trust-Store, ein Netzwerk, das ausgehenden ICMP-Verkehr blockiert). scripts/ smoke_test.py führt jedes registrierte Tool gegen echte öffentliche Endpunkte aus und schlägt bei leeren, fehlerhaften oder Fehlerantworten fehl:

uv run python scripts/smoke_test.py
uv run python scripts/smoke_test.py --only ping --traceback
  • Kein Inventar, daher ist jedes Ziel ein fester öffentlicher Endpunkt – Cloudflares 1.1.1.1 und IANAs example.com (für Dokumentations-/Testzwecke reserviert, RFC 2606). Dieser Server akzeptiert keine Konfiguration und hat nichts, woraus es ein Ziel ermitteln könnte, anders als ein MCP-Server für Geräteflotten in dieser Familie.

  • tests/test_smoke_probes.py ist die Offline-Hälfte: Es prüft nur, dass jedes registrierte Tool eine Probe-Spezifikation hat (und umgekehrt), sodass die CI ein hinzugefügtes Tool erkennt, für das nicht entschieden wurde, wie man erkennen kann, dass es funktioniert – ganz ohne Netzwerkzugriff.

Lizenz

MIT

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

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/shigechika/netdiag-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server