mcp-ntopng

by marcoeg
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables querying the ntopng Clickhouse database to access historical network flows and alerts for network monitoring data analysis.

servidor mcp-ntopng

Servidor de protocolo de contexto del modelo NTOPNG

Una implementación de servidor de protocolo de contexto de modelo para NTOPNG que permite a los agentes de IA consultar datos de monitoreo de redes utilizando la base de datos NTOPNG.

Este servidor MCP asume que ntopng utiliza ClickHouse para almacenar flujos históricos y alertas. Compruebe ntopng Clickhouse.

Herramientas

  • fetch_ntopng_all_ifids
  • Recupere todos los ID de interfaz disponibles de ntopng.
  • get_ntopng_hosts_location
  • Obtenga la ubicación geográfica e información adicional de los anfitriones.
  • fetch_ntopng_top_local_talkers
  • Recupere los 10 principales hablantes locales para una interfaz específica.
  • fetch_ntopng_top_remote_talkers
  • Recupere los 10 principales hablantes remotos para una interfaz específica.
  • get_ntopng_all_alert_stats
  • Recupere estadísticas de todas las alertas.
  • get_ntopng_flow_alert_stats
  • Recupere estadísticas para alertas de flujo.
  • get_ntopng_host_alert_stats
  • Recupere estadísticas para alertas del host.
  • get_ntopng_interface_alert_stats
  • Recupere estadísticas para las alertas de la interfaz.
  • get_ntopng_mac_alert_stats
  • Recupere estadísticas para alertas MAC.
  • get_ntopng_network_alert_stats
  • Recupere estadísticas para alertas de red.
  • get_ntopng_snmp_device_alert_list
  • Recupere una lista de alertas de dispositivos SNMP.
  • get_ntopng_snmp_device_alert_stats
  • Recupere estadísticas de alertas de dispositivos SNMP.
  • get_ntopng_system_alert_stats
  • Recupere estadísticas de alertas del sistema.
  • query_ntopng_flows_data
  • Recupere datos de flujos detallados de la base de datos de flujos ntopng.
  • get_ntopng_top-k_flows
  • Recupere datos de flujos top-k de la base de datos de flujos ntopng.
  • get_ntopng_user_alert_stats
  • Recupere estadísticas para alertas de usuario.
  • get_ntopng_flow_devices_stats
  • Recupere estadísticas para todos los dispositivos de flujo.
  • get_ntopng_sflow_devices_stats
  • Recupere estadísticas de todos los dispositivos sFlow.
  • list_tables_ntopng_database
  • Estructura de tablas de lista de la base de datos ntopng.
  • query_ntopng_database
  • Consulta la base de datos ntopng de Clickhouse.

Estado

Funciona con la aplicación Claude Desktop y otros hosts y clientes compatibles con MCP.

Aún no hay soporte para recursos o indicaciones de MCP.

Configuración

  1. Cree o edite el archivo de configuración de Claude Desktop ubicado en:
    • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • En Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Añade lo siguiente:
{ "mcpServers": { "mcp-ntopng": { "command": "/path/to/your/uv-binary", "args": ["run", "--with", "mcp-ntopng", "--python", "3.13", "mcp-ntopng"] "env": { "NTOPNG_HOST": "<ntopng-host>", "NTOPNG_DBPORT": "<ntopng-dbport>", "NTOPNG_DBUSER": "<ntopng-dbuser>", "NTOPNG_DBPASSWORD": "<ntopng-dbpassword>", "NTOPNG_SECURE": "true", "NTOPNG_VERIFY": "true", "NTOPNG_CONNECT_TIMEOUT": "30", "NTOPNG_SEND_RECEIVE_TIMEOUT": "300", "NTOPNG_API_KEY": "NTOPNG_TOKEN" } } } }
  1. Reemplace /path/to/your/uv-binary con la ruta absoluta al ejecutable uv . Encuentre la ruta con which uv ejecuta. Esto garantiza que se use la versión correcta de uv al iniciar el servidor.
  2. Reinicie Claude Desktop para aplicar los cambios.

Desarrollo

  1. Establezca las variables ambientales en el archivo claude_desktop_config.json o en un archivo .env en la raíz del repositorio.
NTOPNG_HOST=localhost NTOPNG_PORT=9000 NTOPNG_USER=default NTOPNG_PASSWORD=
  1. Ejecute uv sync para instalar las dependencias. Para instalar uv , siga las instrucciones aquí . Luego, ejecute source .venv/bin/activate .
  2. Instale el paquete mcp-ntopng con uv pip install -e . desde el directorio principal del proyecto.
  3. Para facilitar las pruebas, puede ejecutar mcp dev mcp_ntopng/mcp_server.py para iniciar el servidor MCP. CAMBIE CON UN CLIENTE DE CHAT ADECUADO.

Variables de entorno

Las siguientes variables de entorno se utilizan para configurar la conexión a la base de datos:

  • NTOPNG_HOST : El nombre de host del servidor ntopng
  • NTOPNG_DBUSER : El nombre de usuario para la autenticación de Clickhouse DB
  • NTOPNG_DBPASSWORD : La contraseña para la autenticación de Clickhouse DB
  • NTOPNG_API_KEY : El token de autenticación ntopng .

Opcional

  • NTOPNG_DBPORT : El número de puerto de la base de datos Clickhouse en el servidor ntopng
    • Predeterminado: 9000 si HTTPS está habilitado, 8123 si está deshabilitado
    • Generalmente no es necesario configurarlo a menos que se utilice un puerto no estándar
  • NTOPNG_SECURE : Habilitar/deshabilitar una conexión TLS
    • Predeterminado: false
    • Establezca como true para conexiones TLS seguras
  • NTOPNG_VERIFY : Habilitar/deshabilitar la verificación del certificado SSL
    • Predeterminado: true
    • Establezca en `false` para deshabilitar la verificación del certificado (no recomendado para producción)
  • NTOPNG_CONNECT_TIMEOUT : Tiempo de espera de conexión en segundos
    • Predeterminado: `30
    • Aumente este valor si experimenta tiempos de espera de conexión
  • NTOPNG_SEND_RECEIVE_TIMEOUT : Tiempo de espera de envío/recepción en segundos
    • Predeterminado: 300
    • Aumente este valor para consultas de larga duración

Consulte la configuración de TLS en la documentación ntopng para obtener detalles sobre cómo configurar una conexión TLS a Clickhouse.

Desarrollo

Instalar el paquete en la máquina local:

$ uv sync $ uv pip install -e .

Ejecutar el inspector MCP

$ cd mcp_ntopng $ source .env $ CLIENT_PORT=8077 SERVER_PORT=8078 mcp dev run_mcp_ntopng.py --with clickhouse-driver --with python-dotenv --with uvicorn --with pip-system-certs

Utilice la biblioteca local en Claude Desktop.

Buscar: /Usuarios/marco/Library/Application\ Support/Claude/claude_desktop_config.json

Edite claude_desktop_config.json cambiando las rutas locales:

{ "mcpServers": { "mcp-ntopng": { "command": "/Users/marco/Development/claude/mcp-server-ntopng/.venv/bin/python", "args": [ "/Users/marco/Development/claude/mcp-server-ntopng/run_mcp_ntopng.py" ], "env": { "NTOPNG_HOST": "marcoeg-nod004.ntoplink.com", "NTOPNG_DBPORT": "9000", "NTOPNG_DBUSER": "default", "NTOPNG_DBPASSWORD": "", "NTOPNG_SECURE": "false", "NTOPNG_VERIFY": "false", "NTOPNG_CONNECT_TIMEOUT": "30", "NTOPNG_SEND_RECEIVE_TIMEOUT": "300", "SELECT_QUERY_TIMEOUT_SECS": "30", "NTOPNG_API_KEY": "NTOPNG_TOKEN" } } } }
-
security - not tested
A
license - permissive license
-
quality - not tested

Servidor MCP para software de monitorización de red ntopng.

  1. Tools
    1. Status
      1. Configuration
        1. Development
          1. Environment Variables
          2. Development
        ID: bahb2ut908