Cyclops MCP

Gestiona aplicaciones de Kubernetes de forma segura creando y actualizando Módulos Cyclops para agentes de IA.

Documentación

Cyclops MCP (Model Context Protocol)

Cyclops MCP permite que tu agente de IA favorito gestione tus aplicaciones de Kubernetes. Los servidores Cyclops MCP proporcionan herramientas para que los agentes creen y actualicen aplicaciones existentes de forma segura.

https://github.com/user-attachments/assets/0c675c33-1e36-4fdb-bf8c-2fd7fb491e6b

Esto significa que puede verificar todas tus plantillas existentes y el esquema de esas plantillas para crear aplicaciones precisas y listas para producción. Tu agente ahora tiene mucho menos margen para cometer errores de configuración, ya que crea recursos de alto nivel (Módulos Cyclops) en lugar de tocar cada línea de tus recursos de Kubernetes (Deployments, Services e Ingresses).

Te permite avanzar rápido y garantizar que no haya configuraciones erróneas no detectadas que lleguen a tu entorno de producción.

Con Cyclops y nuestro MCP, ahora puedes abstraer la complejidad de Kubernetes de tus desarrolladores Y de tus agentes de IA

Instalar mediante la interfaz de usuario

La forma más sencilla de instalar el servidor Cyclops MCP es a través de la interfaz de usuario de Cyclops. A continuación se presentan instrucciones sobre cómo instalarlo mediante binario y kubectl, pero la forma recomendada de instalarlo es a través de la interfaz de usuario.

⚠️ Para instalar Cyclops MCP a través de la interfaz de usuario, debes ejecutar Cyclops en una versión v0.20.1 o superior

  1. Instala Cyclops MCP yendo a la barra lateral “Addon” > "MCP server". Ahora puedes hacer clic en "Install Cyclops MCP server" y tu servidor Cyclops MCP estará en funcionamiento en unos segundos.
addon-install
  1. Ahora que tu servidor MCP está en funcionamiento, todo lo que queda es exponerlo fuera de tu clúster y conectar tu agente de IA a él.

    Para exponer el servidor MCP en localhost, simplemente puedes reenviar el puerto con el siguiente comando:

    kubectl port-forward -n cyclops svc/cyclops-mcp 8000:8000
    

    Tu servidor ahora está disponible en localhost:8000.

  2. Para conectarlo a un agente de IA, solo tendrás que proporcionar el servidor Cyclops MCP en su configuración. Por ejemplo, para agregarlo a Cursor, simplemente puedes añadirlo con el siguiente JSON:

    {
      "mcpServers": {
        "cyclops-kubernetes": {
          "url": "http://localhost:8000/sse"
        }
      }
    }
    

Ahora puedes iniciar una conversación nueva con tu compañero de IA. Arriba se muestra un ejemplo de cómo lo usamos con Cursor.

Instalar binario stdin

1. Asegúrate de que Cyclops esté instalado en tu clúster de Kubernetes

Consulta nuestra documentación sobre cómo instalarlo con un solo comando - https://cyclops-ui.com/docs/installation/install/manifest

2. Descargar el servidor MCP

Puedes descargar el binario del servidor Cyclops MCP con el siguiente comando:

GOBIN="$HOME/go/bin" go install github.com/cyclops-ui/mcp-cyclops/cmd/mcp-cyclops@latest

3. Agregar configuración del servidor

⚠️ Por defecto, Cyclops MCP utilizará el archivo .kube/config para conectarse a tu clúster

Configura tu servidor MCP Cyclops:

{
  "mcpServers": {
    "mcp-cyclops": {
      "command": "mcp-cyclops"
    }
  }
}

Configuración

Puedes configurar el servidor Cyclops MCP mediante variables de entorno. A continuación se muestra un ejemplo de cómo agregar la configuración para especificar el archivo kubeconfig que el servidor Cyclops MCP debe usar al gestionar tus aplicaciones Cyclops.

{
  "mcpServers": {
    "mcp-cyclops": {
      "command": "mcp-cyclops",
      "env": {
        "KUBECONFIG": "/path/to/your/kubeconfig"
      }
    }
  }
}

Variables de entorno

A continuación se muestra la lista de variables de entorno utilizadas para configurar tu servidor Cyclops MCP:

Variable de entornoDescripción
KUBECONFIGRuta al archivo kubeconfig (opcional, por defecto usa configuración dentro del clúster o $HOME/.kube/config)
CYCLOPS_KUBE_CONTEXTContexto de Kubernetes a usar (opcional)
CYCLOPS_MODULE_NAMESPACENamespace donde se almacenan los módulos
CYCLOPS_HELM_RELEASE_NAMESPACENamespace para los lanzamientos de Helm
CYCLOPS_MODULE_TARGET_NAMESPACENamespace de destino para los módulos

Instalar en un clúster de Kubernetes manualmente

En lugar de que cada desarrollador instale el binario mcp-cyclops, puedes instalar el servidor Cyclops MCP con SSE como tipo de transporte en tu clúster de Kubernetes y permitir que todos tus desarrolladores se conecten al mismo servidor.

  1. Antes de instalar, asegúrate de que Cyclops y todos sus CRDs estén instalados en tu clúster:

    1. Verifica que los pods de Cyclops estén en ejecución:

      kubectl get pods -n cyclops
      

      Debería mostrar:

      NAME                            READY   STATUS    RESTARTS   AGE
      cyclops-ctrl-676b5d9789-ntcls   1/1     Running   0          94s
      cyclops-ui-7798655f97-xdg29     1/1     Running   0          94s
      
    2. Verifica si los CRDs están instalados

      kubectl get crds | grep cyclops-ui
      

      Debería mostrar:

      modules.cyclops-ui.com             2025-04-26T15:28:18Z
      templateauthrules.cyclops-ui.com   2025-04-26T15:28:18Z
      templatestores.cyclops-ui.com      2025-04-26T15:28:18Z
      
  2. Instala el servidor Cyclops MCP con el siguiente comando:

    kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/mcp-cyclops/refs/heads/main/install/mcp-server.yaml
    
  3. Ahora puedes exponer el servicio cyclops-mcp. Para probar tu servidor MCP, puedes reenviar el puerto:

    kubectl port-forward svc/cyclops-mcp -n cyclops 8000:8000
    
  4. Agrega el host de tu servidor Cyclops MCP, o en caso de que lo estés probando, la dirección localhost donde reenviaste el puerto del servicio MCP:

    {
      "mcpServers": {
        "mcp-cyclops": {
          "url": "http://localhost:8000/sse"
        }
      }
    }
    

Herramientas

HerramientaDescripción
create_moduleCrear un nuevo Módulo. Antes de llamar a esta herramienta, asegúrate de llamar a get_template_schema para validar los valores de la plantilla dada
get_moduleObtener Módulo por nombre
list_modulesListar todos los Módulos Cyclops
update_moduleActualizar Módulo por nombre. Antes de llamar a esta herramienta, asegúrate de llamar a get_template_schema para validar los valores de la plantilla dada
get_template_schemaDevuelve el esquema JSON para la plantilla dada. Debe verificarse antes de llamar a la herramienta create_module
get_template_storeObtener Tienda de Plantillas por nombre
list_template_storeListar Tiendas de Plantillas del clúster