Skip to main content
Glama
bowling233

Network Operator MCP

by bowling233

Network Operator MCP

network-operator-mcp permite que un agente opere interfaces de gestión de dispositivos de red mientras mantiene las credenciales de los dispositivos dentro del servidor MCP.

El servidor admite estos backends de dispositivos:

  • ssh-terminal: una PTY SSH persistente para CLIs de red interactivas.

  • ssh-exec: una solicitud SSH exec estándar por llamada de herramienta.

  • http-tplink-switch: APIs WebUI de switches TP-Link.

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

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

El servidor no interpreta comandos, indicaciones ni respuestas de API. Transporta solicitudes y respuestas entre el agente y el dispositivo seleccionado.

Dispositivos probados

Vendedor y modelo

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

Dispositivos OpenWrt e ImmortalWrt

Varios

ssh-exec

TP-Link TL-SG2226

WebUI 2023

http-tplink-switch

TP-Link TL-SG2024D

WebUI 2023

http-tplink-switch

TP-Link TL-SE2206

WebUI 2024

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

Configuración

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

Las cuentas pueden compartirse entre varios dispositivos. Las cuentas SSH pueden usar password, una private_key en línea y una private_key_passphrase opcional. El backend ZTE acepta una cuenta solo con contraseña porque ese producto tiene un nombre de usuario WebUI fijo.

HTTP usa el puerto 80 por defecto, excepto para http-mellanox-onyx, que usa el puerto HTTPS 443. Establezca scheme, port y verify_tls en un dispositivo cuando su configuración difiera de esos valores predeterminados. La configuración de ejemplo completa está en config/devices.example.yaml.

Herramientas MCP

Herramienta

Backend de dispositivo

Propósito

list_devices

Todos

Lista los nombres de dispositivos configurados y los tipos de backend.

ssh_execute

ssh-exec

Ejecuta una solicitud SSH exec.

open_session

ssh-terminal

Abre o reutiliza la terminal de un dispositivo.

list_sessions

ssh-terminal

Lista las terminales abiertas.

exchange

ssh-terminal

Escribe entrada en la terminal y lee la salida.

read_session

ssh-terminal

Lee la salida desde un cursor de bytes.

close_session

ssh-terminal

Cierra la terminal de un dispositivo.

http_request

Backends HTTP

Envía una solicitud de API WebUI autenticada.

Solicitudes HTTP

http_request acepta un device configurado, un method HTTP y un path relativo al dispositivo. Los argumentos opcionales son query, headers, body, body_base64, form y timeout_seconds. Proporcione como máximo uno de body, body_base64 y form.

El servidor MCP gestiona credenciales, cookies y tokens de dispositivo. Los llamadores no pueden proporcionar encabezados con credenciales, y los encabezados de autenticación sensibles no se devuelven. Las redirecciones de las solicitudes del agente se devuelven al agente en lugar de seguirse automáticamente. Las respuestas de texto se devuelven directamente; las respuestas binarias usan base64 y establecen body_encoding en base64.

Ejemplo:

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

Terminales SSH

Cada terminal tiene un lector en segundo plano que agrega la salida del dispositivo a una transcripción temporal. Lleve initial_output.next_cursor al primer exchange y luego lleve cada next_cursor devuelto hacia adelante. Un tiempo de espera silencioso solo significa que no llegaron nuevos bytes durante ese intervalo; no prueba que un comando haya finalizado.

Un reinicio del servidor MCP necesariamente cierra las conexiones SSH activas y descarta sus transcripciones. Llame a open_session nuevamente para el dispositivo y continúe con el nuevo cursor inicial.

Estado

Las terminales SSH se identifican por nombre de dispositivo y no pertenecen a una sesión de cliente MCP. Las herramientas no exponen ni aceptan un identificador de sesión de terminal. El transporte HTTP transmisible también es sin estado, por lo que reiniciar el servidor MCP no deja al cliente con un identificador de sesión MCP obsoleto.

Ejecutar el servidor

Valide una configuración:

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

Ejecute sobre stdio:

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

Ejecute con Streamable HTTP:

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

El servidor también admite el transporte sse.

Notas de seguridad

  • Proteja los archivos de configuración porque contienen credenciales en texto plano.

  • Las claves de host del servidor SSH no se verifican.

  • Mantenga la verificación TLS habilitada cuando un dispositivo tenga un certificado de confianza. Use verify_tls: false solo para dispositivos cuyo certificado WebUI no pueda validarse.

  • Exponga el transporte MCP solo a agentes y usuarios de confianza. Las llamadas a la API HTTP pueden cambiar la configuración del dispositivo.

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