Skip to main content
Glama

Illumio MCP Server

by alexgoller

Servidor MCP de Illumio

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona una interfaz para interactuar con Illumio PCE (Motor de Cómputo de Políticas). Este servidor permite el acceso programático a la gestión de cargas de trabajo de Illumio, las operaciones de etiquetado y el análisis del flujo de tráfico.

¿Qué puede hacer?

Utilice IA conversacional para hablar con su PCE:

  • Crear, actualizar y eliminar cargas de trabajo
  • Crear, actualizar y eliminar etiquetas
  • Obtenga resúmenes de tráfico y realice análisis de seguridad sobre ellos
  • Obtenga salud PCE

Prerrequisitos

  • Python 3.8+
  • Acceso a una instancia de Illumio PCE
  • Credenciales API válidas para el PCE

Instalación

  1. Clonar el repositorio:
git clone [repository-url] cd illumio-mcp
  1. Instalar dependencias:
pip install -r requirements.txt

Configuración

Debes ejecutarlo usando el comando uv , que hace que sea más fácil pasar variables de entorno y ejecutarlo en segundo plano.

Uso de uv y Claude Desktop

En MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json En Windows: %APPDATA%/Claude/claude_desktop_config.json

Agregue lo siguiente a la sección custom_settings :

"mcpServers": { "illumio-mcp": { "command": "uv", "args": [ "--directory", "/Users/alex.goller/git/illumio-mcp", "run", "illumio-mcp" ], "env": { "PCE_HOST": "your-pce-host", "PCE_PORT": "your-pce-port", "PCE_ORG_ID": "1", # your org id "API_KEY": "api_key", "API_SECRET": "api_secret" } } } }

Características

Recursos

Los recursos aún no están terminados y lo revisaré más adelante.

  • illumio://workloads - Obtener cargas de trabajo del PCE
  • illumio://labels - Obtener todas las etiquetas de PCE

Herramientas

Gestión de la carga de trabajo
  • get-workloads - Recupera todas las cargas de trabajo de PCE
  • create-workload : crea una carga de trabajo no administrada con un nombre, direcciones IP y etiquetas especificados
  • update-workload : actualiza las propiedades de una carga de trabajo existente
  • delete-workload - Eliminar una carga de trabajo de PCE por nombre
Operaciones de etiquetas
  • create-label - Crea una nueva etiqueta con un par clave-valor
  • delete-label : elimina una etiqueta existente por par clave-valor
  • get-labels - Recupera todas las etiquetas de PCE
Análisis de tráfico
  • get-traffic-flows : obtenga datos detallados del flujo de tráfico con opciones de filtrado integrales:
    • Filtrado de rango de fechas
    • Filtrado de origen/destino
    • Filtrado de servicios (puertos/protocolos)
    • Filtrado de decisiones políticas
    • Opciones de consulta de lista de IP y carga de trabajo
    • Resultados limitantes
  • get-traffic-flows-summary : obtenga información resumida del flujo de tráfico con las mismas capacidades de filtrado que get-traffic-flows
Gestión de políticas
  • get-rulesets - Obtener conjuntos de reglas del PCE con filtrado opcional:
    • Filtrar por nombre
    • Filtrar por estado habilitado
Gestión de listas de IP
  • get-iplists - Obtener listas de IP del PCE con filtrado opcional:
    • Filtrar por nombre
    • Filtrar por descripción
    • Filtrar por rangos de IP
Prueba de conexión
  • check-pce-connection : verificar la conectividad y las credenciales del PCE
Gestión de eventos
  • get-events - Obtener eventos del PCE con filtrado opcional:
    • Filtrar por tipo de evento (por ejemplo, 'system_task.expire_service_account_api_keys')
    • Filtrar por gravedad (emergencia, alerta, crítica, error, advertencia, aviso, información, depuración)
    • Filtrar por estado (éxito, fracaso)
    • Limitar el número de resultados devueltos

Manejo de errores

El servidor implementa un manejo y registro de errores integral:

  • Problemas de conexión de PCE
  • Errores de autenticación de API
  • Errores de creación/actualización de recursos
  • Validación de entrada no válida

Todos los errores se registran con seguimientos de pila completos y se devuelven como mensajes de error formateados al cliente.

Desarrollo

Ejecución de pruebas

Las pruebas aún no están implementadas.

python -m pytest tests/

Modo de depuración

Establezca el nivel de registro en DEBUG en el código o entorno para obtener registros de operaciones detallados.

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la GPL-3.0. Consulte el archivo de LICENCIA para más detalles.

Apoyo

Para obtener ayuda, cree un problema .

Ejemplos

Ejemplos visuales

Todos los ejemplos a continuación fueron generados por Claude Desktop 3.5 Sonnet y con datos obtenidos a través de este servidor MCP. Descubrí que renderizar los datos a los componentes de React genera visualizaciones y resultados excelentes.

Análisis de aplicaciones

Análisis de aplicaciones Vista detallada de los patrones de comunicación y dependencias de la aplicación

Análisis de niveles de aplicación Análisis de patrones de tráfico entre diferentes niveles de aplicación

Perspectivas de infraestructura

Panel de análisis de infraestructura Panel de descripción general que muestra las métricas y el estado clave de la infraestructura

Servicios de infraestructura Análisis detallado de las comunicaciones del servicio de infraestructura

Evaluación de seguridad

Informe de análisis de seguridad Informe de análisis de seguridad completo

Hallazgos de alto riesgo Resultados de la evaluación de seguridad para vulnerabilidades de alto riesgo

Cumplimiento de PCI Resultados de la evaluación de cumplimiento de PCI

Cumplimiento de SWIFT Resultados de la evaluación de cumplimiento de SWIFT

Planificación de la remediación

Descripción general del plan de remediaciónDescripción general de la planificación de la remediación de seguridad

Pasos detallados de remediación Pasos detallados para la implementación de la remediación de seguridad

Gestión de políticas

Descripción general de las listas de IP Interfaz de gestión para listas de IP

Categorías de conjuntos de reglas Descripción general de las categorías y la organización del conjunto de reglas

Ordenación del conjunto de reglas de la aplicación Configuración del ordenamiento de reglas de la aplicación

Gestión de la carga de trabajo

Análisis de la carga de trabajo Análisis detallado de la carga de trabajo y métricas

Tráfico de carga de trabajo Identificación y análisis de patrones de tráfico de carga de trabajo

Gestión de etiquetas

Etiquetas PCE por tipo Organización de las etiquetas PCE por tipo y categoría

Análisis de servicios

Inferencia de roles de servicio Inferencia automática de roles de servicio según patrones de tráfico

Principales fuentes y destinos Análisis de las 5 principales fuentes y destinos de tráfico

Planificación de proyectos

Plan del proyecto Cronograma y hitos de implementación del proyecto

Indicaciones disponibles

Aplicación Ringfence

El mensaje de ringfence-application ayuda a crear políticas de seguridad para aislar y proteger las aplicaciones controlando el tráfico entrante y saliente.

Argumentos requeridos:

  • application_name : Nombre de la aplicación a proteger
  • application_environment : Entorno de la aplicación a delimitar

Características:

  • Crea reglas para la comunicación entre niveles dentro de la aplicación.
  • Utiliza flujos de tráfico para identificar las conexiones externas necesarias
  • Implementa restricciones de tráfico entrante según las aplicaciones de origen
  • Crea reglas de tráfico saliente para las comunicaciones externas necesarias
  • Maneja conexiones tanto dentro del ámbito (misma aplicación/entorno) como fuera del ámbito (externas)
  • Crea conjuntos de reglas separados para conexiones de aplicaciones remotas

Analizar el tráfico de aplicaciones

El mensaje de solicitud analyze-application-traffic proporciona un análisis detallado de los patrones de tráfico y la conectividad de las aplicaciones.

Argumentos requeridos:

  • application_name : Nombre de la aplicación a analizar
  • application_environment : Entorno de la aplicación a analizar

Características del análisis:

  • Ordena el tráfico por flujos entrantes y salientes
  • Grupos por combinaciones de aplicación/entorno/rol
  • Identifica tipos y patrones de etiquetas relevantes
  • Muestra los resultados en un formato de componente React
  • Muestra información del protocolo y del puerto.
  • Intenta identificar patrones de servicio conocidos (por ejemplo, Nagios en el puerto 5666)
  • Clasifica el tráfico en tipos de infraestructura y aplicaciones.
  • Determina la exposición a Internet
  • Muestra las etiquetas de roles, aplicaciones y entornos de Illumio

Cómo utilizar las indicaciones de MCP

Paso 1: Haga clic en el botón "Adjuntar desde MCP" en la interfaz

Flujo de trabajo de avisos de MCP

Paso 2: Elija entre los servidores MCP instalados

Flujo de trabajo de avisos de MCP

Paso 3: Complete los argumentos solicitados:

Flujo de trabajo de avisos de MCP

Paso 4: Haga clic en Enviar para enviar el mensaje configurado

Cómo funcionan las indicaciones

  • El servidor MCP envía el mensaje configurado a Claude
  • Claude recibe contexto a través del Protocolo de Contexto Modelo
  • Permite el manejo especializado de tareas específicas de Illumio

Este flujo de trabajo permite compartir contexto automatizado entre los sistemas Illumio y Claude para el análisis del tráfico de aplicaciones y tareas de delimitación.

Estibador

La aplicación está disponible como un contenedor Docker desde el Registro de contenedores de GitHub.

Tire del contenedor

docker pull ghcr.io/alexgoller/illumio-mcp-server:latest

También puedes usar una versión específica reemplazando latest con un número de versión:

docker pull ghcr.io/alexgoller/illumio-mcp-server:1.0.0

Ejecutar con Claude Desktop

Para utilizar el contenedor con Claude Desktop, necesitarás:

  1. Cree un archivo de entorno (por ejemplo ~/.illumio-mcp.env ) con sus credenciales de PCE:
PCE_HOST=your-pce-host PCE_PORT=your-pce-port PCE_ORG_ID=1 API_KEY=your-api-key API_SECRET=your-api-secret
  1. Agregue la siguiente configuración a su archivo de configuración de Claude Desktop:

En MacOS ( ~/Library/Application Support/Claude/claude_desktop_config.json ):

{ "mcpServers": { "illumio-mcp-docker": { "command": "docker", "args": [ "run", "-i", "--init", "--rm", "-v", "/Users/YOUR_USERNAME/tmp:/var/log/illumio-mcp", "-e", "DOCKER_CONTAINER=true", "-e", "PYTHONWARNINGS=ignore", "--env-file", "/Users/YOUR_USERNAME/.illumio-mcp.env", "illumio-mcp:latest" ] } } }

Asegúrese de:

  • Reemplace YOUR_USERNAME con su nombre de usuario real
  • Crea el directorio de registro (por ejemplo, ~/tmp )
  • Ajuste las rutas según su sistema

Ejecutar de forma independiente

También puedes ejecutar el contenedor directamente:

docker run -i --init --rm \ -v /path/to/logs:/var/log/illumio-mcp \ -e DOCKER_CONTAINER=true \ -e PYTHONWARNINGS=ignore \ --env-file ~/.illumio-mcp.env \ ghcr.io/alexgoller/illumio-mcp-server:latest

Docker Compose

Para desarrollo o pruebas, puedes usar Docker Compose. Crea un archivo docker-compose.yml :

version: '3' services: illumio-mcp: image: ghcr.io/alexgoller/illumio-mcp-server:latest init: true volumes: - ./logs:/var/log/illumio-mcp environment: - DOCKER_CONTAINER=true - PYTHONWARNINGS=ignore env_file: - ~/.illumio-mcp.env

Luego ejecuta:

docker-compose up

Problemas conocidos

Al ejecutar el contenedor, es posible que vea advertencias de sintaxis de las expresiones regulares del SDK de Illumio. Estas advertencias no afectan la funcionalidad y se eliminan automáticamente del contenedor.

Si ve advertencias al ejecutar el contenedor, puede eliminarlas manualmente agregando:

docker run \ -e PYTHONWARNINGS=ignore \ ... other environment variables ... ghcr.io/alexgoller/illumio-mcp-server:latest

O en docker-compose.yml:

services: illumio-mcp: environment: - PYTHONWARNINGS=ignore # ... other environment variables ...

Configuración del escritorio de Claude

Para los usuarios de Claude Desktop, agregue esta configuración a su archivo de configuración de Claude Desktop:

{ "mcpServers": { "illumio-mcp-docker": { "command": "docker", "args": [ "run", "-i", "--init", "--rm", "-v", "/Users/YOUR_USERNAME/tmp:/var/log/illumio-mcp", "-e", "DOCKER_CONTAINER=true", "-e", "PYTHONWARNINGS=ignore", "--env-file", "/Users/YOUR_USERNAME/.illumio-mcp.env", "illumio-mcp:latest" ] } } }

Asegúrese de:

  1. Reemplace YOUR_USERNAME con su nombre de usuario real
  2. Cree un directorio de registro en ~/tmp (o ajuste la ruta según sea necesario)
  3. Cree un archivo de entorno en ~/.illumio-mcp.env con sus credenciales de PCE:
PCE_HOST=your-pce-host PCE_PORT=your-pce-port PCE_ORG_ID=1 API_KEY=your-api-key API_SECRET=your-api-secret

La configuración:

  • Utiliza Docker para ejecutar el contenedor
  • Monta un directorio local para registros
  • Suprime las advertencias de Python
  • Carga las credenciales de PCE desde un archivo de entorno
  • Permite la limpieza adecuada del contenedor con --init y --rm
Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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.

Un servidor de protocolo de contexto de modelo que permite la interacción de inteligencia artificial conversacional con Illumio PCE para la gestión de políticas de seguridad, operaciones de carga de trabajo, análisis del flujo de tráfico y evaluación de cumplimiento.

  1. ¿Qué puede hacer?
    1. Prerrequisitos
      1. Instalación
        1. Configuración
          1. Uso de uv y Claude Desktop
            1. Características
              1. Recursos
              2. Herramientas
            2. Manejo de errores
              1. Desarrollo
                1. Ejecución de pruebas
                2. Modo de depuración
              2. Contribuyendo
                1. Licencia
                  1. Apoyo
                    1. Ejemplos
                      1. Ejemplos visuales
                      2. Indicaciones disponibles
                      3. Estibador

                    Related MCP Servers

                    • A
                      security
                      F
                      license
                      A
                      quality
                      A Model Context Protocol server that allows secure execution of pre-approved commands, enabling AI assistants to safely interact with the user's system.
                      Last updated -
                      1
                      3
                      18
                      JavaScript
                    • -
                      security
                      A
                      license
                      -
                      quality
                      A Model Context Protocol server that enables AI assistants like Claude to interact with Zulip workspaces, supporting capabilities such as posting messages, listing channels, sending direct messages, and accessing conversation history.
                      Last updated -
                      JavaScript
                      Apache 2.0
                    • -
                      security
                      F
                      license
                      -
                      quality
                      A demonstration implementation of the Model Context Protocol server that facilitates communication between AI models and external tools while maintaining context awareness.
                      Last updated -
                      Python
                      • Linux
                      • Apple
                    • A
                      security
                      F
                      license
                      A
                      quality
                      A Model Context Protocol server implementation that provides structured, AI-friendly access to eRegulations data, making it easier for AI models to answer user questions about administrative procedures.
                      Last updated -
                      4
                      19
                      TypeScript
                      • Linux
                      • Apple

                    View all related MCP servers

                    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/alexgoller/illumio-mcp-server'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server