Network Operator MCP
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) |
|
Huawei S5720-28P-LI-AC | VRP 5.170 (V200R011C10SPC600) |
|
Huawei S5720S-52P-LI-AC | VRP 5.170 (V200R011C10SPC600) |
|
Huawei FutureMatrix S6720S-S24S28X-A | VRP 5.170 (V200R022C00SPC500) |
|
MikroTik CCR2004-1G-12S+2XS (r3) | RouterOS 7.23.1 stable |
|
OpenWrt und ImmortalWrt-Geräte | Verschiedene |
|
TP-Link TL-SG2226 | 2023 WebUI |
|
TP-Link TL-SG2024D | 2023 WebUI |
|
TP-Link TL-SE2206 | 2024 WebUI |
|
ZTE BE7200 Pro+ | V1.0.0.4B8.8000 |
|
Mellanox SN2700 | Onyx 3.7.1134 |
|
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: falseKonten 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 |
| Alle | Listet konfigurierte Gerätenamen und Backend-Typen auf. |
|
| Führt eine SSH-Exec-Anfrage aus. |
|
| Öffnet oder verwendet das Terminal eines Geräts erneut. |
|
| Listet offene Terminals auf. |
|
| Schreibt Terminaleingaben und liest Ausgaben. |
|
| Liest Ausgaben ab einem Byte-Cursor. |
|
| Schließt das Terminal eines Geräts. |
| 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 serveMit Streamable HTTP ausführen:
network-operator-mcp --config config/devices.local.yaml serve \
--transport streamable-http --host 127.0.0.1 --port 8000Der 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: falsenur 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.
This server cannot be installed
Maintenance
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
Scoped, audited SSH exec, sessions, and SFTP on your saved servers without exposing credentials
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Issue, rotate and revoke scoped API-key passes for 25+ providers — the agent never sees a real key
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables 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
- AlicenseAqualityCmaintenanceEnables 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.11194MIT
- AlicenseBqualityDmaintenanceEnables 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.4210MIT
- AlicenseAqualityCmaintenanceBridges AI agents with network infrastructure, enabling secure read-only access to multiple vendor routers via SSH for natural language queries and troubleshooting.581MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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