Skip to main content
Glama
bowling233

Network Operator MCP

by bowling233

Network Operator MCP

network-operator-mcp ermöglicht einem Agenten, Netzwerkgeräte-Verwaltungsschnittstellen zu bedienen, während die Geräteanmeldedaten im MCP-Server verbleiben.

Der Server unterstützt die folgenden Geräte-Backends:

  • ssh-terminal: eine persistente SSH-PTY für interaktive Netzwerk-CLIs.

  • ssh-exec: eine standardmäßige SSH-Exec-Anfrage pro Tool-Aufruf.

  • http-tplink-switch: TP-Link-Switch-WebUI-APIs.

  • http-zte-be7200: ZTE-BE7200-Pro+-WebUI-APIs.

  • http-mellanox-onyx: Mellanox-Onyx-WebUI-APIs.

Der Server interpretiert keine Befehle, Eingabeaufforderungen oder API-Antworten. Er überträgt Anfragen und Antworten zwischen dem Agenten und dem ausgewählten Gerät.

Getestete Geräte

Hersteller und Modell

Software

Backend

Huawei S1730S-S48T4X-A1

VRP 5.170 (V200R022C00SPC500)

ssh-terminal

Huawei S5720-28P-LI-AC

VRP 5.170 (V200R011C10SPC600)

ssh-terminal

Huawei S5720S-52P-LI-AC

VRP 5.170 (V200R011C10SPC600)

ssh-terminal

Huawei FutureMatrix S6720S-S24S28X-A

VRP 5.170 (V200R022C00SPC500)

ssh-terminal

MikroTik CCR2004-1G-12S+2XS (r3)

RouterOS 7.23.1 stable

ssh-exec

OpenWrt und ImmortalWrt-Geräte

Verschiedene

ssh-exec

TP-Link TL-SG2226

2023 WebUI

http-tplink-switch

TP-Link TL-SG2024D

2023 WebUI

http-tplink-switch

TP-Link TL-SE2206

2024 WebUI

http-tplink-switch

ZTE BE7200 Pro+

V1.0.0.4B8.8000

http-zte-be7200

Mellanox SN2700

Onyx 3.7.1134

http-mellanox-onyx

Related MCP server: SSH MCP Server

Konfiguration

backends:
  ssh-terminal:
    connect_timeout_seconds: 15
    default_quiet_timeout_ms: 1000
    default_deadline_ms: 15000
    default_response_limit_bytes: 200000
    max_sessions: 10
    session_idle_ttl_seconds: 600
    max_session_lifetime_seconds: 3600
  ssh-exec:
    connect_timeout_seconds: 15
    default_command_timeout_seconds: 60
  http:
    connect_timeout_seconds: 10
    default_request_timeout_seconds: 30
    max_response_bytes: 2000000

accounts:
  ssh-operator:
    username: netadmin
    password: plaintext-password

  web-operator:
    username: webadmin
    password: plaintext-password

  zte-password:
    password: plaintext-password

devices:
  example-huawei:
    type: ssh-terminal
    host: 192.0.2.10
    account: ssh-operator

  example-tplink:
    type: http-tplink-switch
    host: 192.0.2.20
    account: web-operator

  example-zte:
    type: http-zte-be7200
    host: 192.0.2.30
    account: zte-password

  example-onyx:
    type: http-mellanox-onyx
    host: 192.0.2.40
    account: web-operator
    verify_tls: false

Konten können von mehreren Geräten gemeinsam genutzt werden. SSH-Konten können password, einen Inline-private_key und optional eine private_key_passphrase verwenden. Das ZTE-Backend akzeptiert ein reines Passwortkonto, da dieses Produkt einen festen WebUI-Benutzernamen hat.

HTTP verwendet standardmäßig Port 80, außer für http-mellanox-onyx, das standardmäßig HTTPS-Port 443 verwendet. Setzen Sie scheme, port und verify_tls auf einem Gerät, wenn dessen Einrichtung von diesen Standardwerten abweicht. Die vollständige Platzhalterkonfiguration finden Sie in config/devices.example.yaml.

MCP-Tools

Tool

Geräte-Backend

Zweck

list_devices

Alle

Listet konfigurierte Gerätenamen und Backend-Typen auf.

ssh_execute

ssh-exec

Führt eine SSH-Exec-Anfrage aus.

open_session

ssh-terminal

Öffnet oder verwendet das Terminal eines Geräts erneut.

list_sessions

ssh-terminal

Listet offene Terminals auf.

exchange

ssh-terminal

Schreibt Terminaleingaben und liest Ausgaben.

read_session

ssh-terminal

Liest Ausgaben ab einem Byte-Cursor.

close_session

ssh-terminal

Schließt das Terminal eines Geräts.

http_request

HTTP-Backends

Sendet eine authentifizierte WebUI-API-Anfrage.

HTTP-Anfragen

http_request akzeptiert ein konfiguriertes device, eine HTTP-method und einen gerätebezogenen path. Optionale Argumente sind query, headers, body, body_base64, form und timeout_seconds. Geben Sie höchstens eines von body, body_base64 und form an.

Der MCP-Server verwaltet Anmeldedaten, Cookies und Geräte-Tokens. Aufrufer können keine Header mit Anmeldedaten bereitstellen, und sensible Authentifizierungs-Header werden nicht zurückgegeben. Weiterleitungen von Agentenanfragen werden an den Agenten zurückgegeben, anstatt automatisch verfolgt zu werden. Textantworten werden direkt zurückgegeben; binäre Antworten verwenden base64 und setzen body_encoding auf base64.

Beispiel:

{
  "device": "example-zte",
  "method": "POST",
  "path": "/?_type=vueData&_tag=vuecfg_data",
  "form": {
    "IF_ACTION": "Get"
  }
}

SSH-Terminals

Jedes Terminal verfügt über einen Hintergrundleser, der Geräteausgaben an ein temporäres Transkript anhängt. Übernehmen Sie initial_output.next_cursor in den ersten exchange und führen Sie dann jeden zurückgegebenen next_cursor weiter. Ein ruhiges Timeout bedeutet nur, dass in diesem Intervall keine neuen Bytes angekommen sind; es beweist nicht, dass ein Befehl abgeschlossen wurde.

Ein Neustart des MCP-Servers schließt zwangsläufig aktive SSH-Verbindungen und verwirft deren Transkripte. Rufen Sie open_session erneut für das Gerät auf und fahren Sie mit dem neuen anfänglichen Cursor fort.

Zustand

SSH-Terminals sind nach Gerätenamen verschlüsselt und gehören keiner MCP-Client-Sitzung. Die Tools legen keine Terminal-Sitzungskennung offen und akzeptieren keine. Streamable-HTTP-Transport ist ebenfalls zustandslos, sodass ein Neustart des MCP-Servers den Client nicht mit einer veralteten MCP-Sitzungskennung zurücklässt.

Server ausführen

Konfiguration validieren:

network-operator-mcp --config config/devices.local.yaml validate-config

Über stdio ausführen:

network-operator-mcp --config config/devices.local.yaml serve

Mit Streamable HTTP ausführen:

network-operator-mcp --config config/devices.local.yaml serve \
  --transport streamable-http --host 127.0.0.1 --port 8000

Der Server unterstützt auch den sse-Transport.

Sicherheitshinweise

  • Schützen Sie Konfigurationsdateien, da sie Klartext-Anmeldedaten enthalten.

  • SSH-Server-Hostschlüssel werden nicht überprüft.

  • Lassen Sie die TLS-Überprüfung aktiviert, wenn ein Gerät über ein vertrauenswürdiges Zertifikat verfügt. Verwenden Sie verify_tls: false nur für Geräte, deren WebUI-Zertifikat nicht validiert werden kann.

  • Setzen Sie den MCP-Transport nur für vertrauenswürdige Agenten und Benutzer ein. HTTP-API-Aufrufe können die Gerätekonfiguration ändern.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables seamless SSH operations including secure connections, file transfers, interactive shell sessions, and Docker container management on remote servers. Supports both password and SSH key authentication with credential management and connection pooling.
    18
  • A
    license
    A
    quality
    C
    maintenance
    Enables remote server management through SSH and SFTP, supporting command execution, file transfers, and interactive shell sessions. It allows for multiple concurrent connections using either password or SSH key authentication.
    11
    19
    4
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables secure SSH connections to remote servers for executing shell commands and managing active sessions. It supports authentication via passwords or private keys and provides optional host-based access control.
    4
    210
    MIT

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/bowling233/network-operator-mcp'

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