POX MCP Server

Un servidor MCP para el controlador SDN POX, que permite el control, la gestión y el análisis de redes utilizando Python y OpenFlow.

Documentación

POX MCP Server

Resumen

Una implementación de servidor de Model Context Protocol (MCP) que proporciona capacidades de control y gestión de red a través del controlador POX SDN. Este servidor permite la programación de red basada en Python, la gestión de dispositivos OpenFlow y el análisis de red automatizado a través de la arquitectura modular de POX. Perfecto para entornos educativos, prototipado de redes e investigación en SDN.

Componentes

Recursos

El servidor expone dos recursos dinámicos:

  • pox://network-config: Una nota completa de configuración del controlador POX
    • Realiza un seguimiento de los componentes POX activos y sus configuraciones
    • Registra la topología de red y las reglas de flujo
    • Mantiene la información de red descubierta
  • pox://topology: Vista de topología de red en tiempo real
    • Muestra los datapaths OpenFlow activos (conmutadores)
    • Mapea ubicaciones y conexiones de hosts
    • Muestra el estado de los enlaces y los mapeos de puertos

Prompts

El servidor proporciona tres prompts especializados:

  • pox-network-manager: Prompt interactivo para la gestión del controlador POX

    • Argumento requerido: topic - El aspecto de control de red en el que centrarse
    • Ayuda a configurar componentes y módulos de POX
    • Guía a través de la implementación de políticas de red
    • Se integra con la nota de configuración de red
  • simple-hub: Implementación básica de hub L2 usando POX

    • Argumento requerido: dpid - El identificador de datapath
    • Demuestra la programación basada en eventos de POX
    • Muestra el manejo básico de paquetes y la inundación
    • Explica los mecanismos centrales de POX
  • learning-switch: Implementación de conmutador de aprendizaje L2

    • Argumento requerido: dpid - El identificador de datapath
    • Muestra la gestión de tablas de POX
    • Implementa el aprendizaje y reenvío MAC
    • Demuestra las capacidades de manejo de paquetes de POX

Herramientas

El servidor ofrece cinco herramientas principales:

Herramientas de Gestión de Datapath

  • get_switches

    • Listar todos los datapaths OpenFlow conectados
    • No se requiere entrada
    • Devuelve: Arreglo de conmutadores activos controlados por POX
    • Incluye estado de conexión y capacidades
  • get_switch_desc

    • Obtener información detallada del datapath
    • Entrada:
      • dpid (string): Identificador de datapath
    • Devuelve: Detalles y características del conmutador gestionado por POX

Herramientas de Gestión de Flujo

  • get_flow_stats

    • Recuperar estadísticas de flujo de POX
    • Entrada:
      • dpid (string): Identificador de datapath
      • match (object, opcional): Estructura de coincidencia de POX
      • table_id (string, opcional): ID de tabla OpenFlow
      • out_port (string, opcional): Filtro de puerto de salida
    • Devuelve: Estadísticas de flujo de POX incluyendo contadores de paquetes
  • set_table

    • Configurar tablas de flujo de POX
    • Entrada:
      • dpid (string): Identificador de datapath
      • flows (array): Especificaciones de flujo de POX
    • Devuelve: Confirmación de actualización de la tabla de flujo

Herramientas de Análisis

  • append_insight
    • Agregar información de red a la nota de configuración de POX
    • Entrada:
      • insight (string): Observación o análisis de red
    • Devuelve: Confirmación de adición de información
    • Actualiza el recurso pox://network-config

Uso con Claude Desktop

uv

{
  "mcpServers": {
    "pox": {
      "command": "uv",
      "args": [
        "--directory",
        "parent_of_servers_repo/servers/src/mcp_server_pox",
        "run",
        "server.py"
      ],
      "env": {
        "POX_SERVER_URL": "http://localhost:8000"
      }
    }
  }
}

Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar pull requests, reportar errores o sugerir nuevas funciones.