Illumio MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Offers containerized deployment of the Illumio MCP server with configuration options for environment variables, volume mounting, and integration with Claude Desktop.

  • Creates diagram visualizations for Illumio project planning and implementation timelines.

  • Provides an interface to interact with Illumio PCE (Policy Compute Engine), enabling programmatic management of workloads, labels, and traffic flow analysis in Illumio's zero-trust segmentation platform.

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

Vista detallada de los patrones de comunicación y dependencias de la aplicación

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

Perspectivas de infraestructura

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

Análisis detallado de las comunicaciones del servicio de infraestructura

Evaluación de seguridad

Informe de análisis de seguridad completo

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

Resultados de la evaluación de cumplimiento de PCI

Resultados de la evaluación de cumplimiento de SWIFT

Planificación de la remediación

Descripción general de la planificación de la remediación de seguridad

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

Gestión de políticas

Interfaz de gestión para listas de IP

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

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

Gestión de la carga de trabajo

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

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

Gestión de etiquetas

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

Análisis de servicios

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

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

Planificación de proyectos

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

Paso 2: Elija entre los servidores MCP instalados

Paso 3: Complete los argumentos solicitados:

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

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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. What can it do?
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Using uv and Claude Desktop
            1. Features
              1. Resources
              2. Tools
            2. Error Handling
              1. Development
                1. Running Tests
                2. Debug Mode
              2. Contributing
                1. License
                  1. Support
                    1. Examples
                      1. Visual Examples
                      2. Available Prompts
                      3. Docker
                    ID: xhqzxlo9iy