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.

Illumio MCP 서버

Illumio PCE(Policy Compute Engine)와 상호 작용할 수 있는 인터페이스를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 Illumio 워크로드 관리, 레이블 작업 및 트래픽 흐름 분석에 프로그래밍 방식으로 접근할 수 있습니다.

무엇을 할 수 있나요?

대화형 AI를 사용하여 PCE와 대화하세요.

  • 워크로드 생성, 업데이트 및 삭제
  • 라벨 생성, 업데이트 및 삭제
  • 교통 요약을 받고 이에 대한 보안 분석을 수행합니다.
  • PCE 건강을 얻으세요

필수 조건

  • 파이썬 3.8 이상
  • Illumio PCE 인스턴스에 액세스
  • PCE에 대한 유효한 API 자격 증명

설치

  1. 저장소를 복제합니다.

지엑스피1

  1. 종속성 설치:
pip install -r requirements.txt

구성

uv 명령을 사용하여 실행하면 환경 변수를 전달하고 백그라운드에서 실행하기가 더 쉬워집니다.

uv와 Claude Desktop 사용하기

MacOS의 경우: ~/Library/Application\ Support/Claude/claude_desktop_config.json Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json

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" } } } }

특징

자원

아직 자료가 완성되지 않았으니 나중에 살펴보겠습니다.

  • illumio://workloads - PCE에서 워크로드 가져오기
  • illumio://labels - PCE에서 모든 레이블 가져오기

도구

작업 부하 관리

  • get-workloads - PCE에서 모든 워크로드 검색
  • create-workload - 지정된 이름, IP 주소 및 레이블을 사용하여 관리되지 않는 작업 부하를 생성합니다.
  • update-workload - 기존 워크로드 속성 업데이트
  • delete-workload - 이름으로 PCE에서 작업 부하 제거

레이블 작업

  • create-label - 키-값 쌍으로 새 레이블을 만듭니다.
  • delete-label - 키-값 쌍으로 기존 레이블 제거
  • get-labels - PCE에서 모든 레이블 검색

트래픽 분석

  • get-traffic-flows - 포괄적인 필터링 옵션을 통해 자세한 교통 흐름 데이터를 얻으세요.
    • 날짜 범위 필터링
    • 소스/대상 필터링
    • 서비스(포트/프로토콜) 필터링
    • 정책 결정 필터링
    • 작업 부하 및 IP 목록 쿼리 옵션
    • 결과 제한
  • get-traffic-flows-summary - get-traffic-flows와 동일한 필터링 기능을 사용하여 요약된 트래픽 흐름 정보를 가져옵니다.

정책 관리

  • get-rulesets - 선택적 필터링을 사용하여 PCE에서 규칙 세트를 가져옵니다.
    • 이름으로 필터링
    • 활성화된 상태로 필터링

IP 목록 관리

  • get-iplists - 선택적 필터링을 사용하여 PCE에서 IP 목록을 가져옵니다.
    • 이름으로 필터링
    • 설명으로 필터링
    • IP 범위로 필터링

연결 테스트

  • check-pce-connection - PCE 연결 및 자격 증명 확인

이벤트 관리

  • get-events - 선택적 필터링을 사용하여 PCE에서 이벤트를 가져옵니다.
    • 이벤트 유형별로 필터링(예: 'system_task.expire_service_account_api_keys')
    • 심각도(긴급, 경고, 중요, 오류, 경고, 알림, 정보, 디버그)로 필터링
    • 상태별 필터링(성공, 실패)
    • 반환되는 결과 수 제한

오류 처리

서버는 포괄적인 오류 처리 및 로깅을 구현합니다.

  • PCE 연결 문제
  • API 인증 실패
  • 리소스 생성/업데이트 실패
  • 잘못된 입력 검증

모든 오류는 전체 스택 추적으로 기록되고, 형식화된 오류 메시지로 클라이언트에 반환됩니다.

개발

테스트 실행

아직 테스트가 구현되지 않았습니다.

python -m pytest tests/

디버그 모드

자세한 작업 로그를 보려면 코드나 환경에서 로깅 수준을 DEBUG로 설정합니다.

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 변경 사항을 커밋하세요
  4. 지점으로 밀어 넣기
  5. 풀 리퀘스트 만들기

특허

이 프로젝트는 GPL-3.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 라이선스 파일을 참조하세요.

지원하다

지원이 필요하면 이슈를 생성하세요 .

예시

시각적 예

아래 모든 예시는 Claude Desktop 3.5 Sonnet에서 생성되었으며, 이 MCP 서버를 통해 얻은 데이터를 사용했습니다. React 컴포넌트에 데이터를 렌더링하면 아름다운 시각화와 결과를 얻을 수 있다는 것을 알게 되었습니다.

응용 프로그램 분석

애플리케이션 통신 패턴 및 종속성에 대한 자세한 보기

다양한 애플리케이션 계층 간 트래픽 패턴 분석

인프라 통찰력

주요 인프라 지표 및 상태를 보여주는 개요 대시보드

인프라 서비스 통신에 대한 상세 분석

보안 평가

종합적인 보안 분석 보고서

고위험 취약점에 대한 보안 평가 결과

PCI 규정 준수 평가 결과

SWIFT 규정 준수 평가 결과

개선 계획

보안 복구 계획 개요

보안 개선 구현을 위한 자세한 단계

정책 관리

IP 목록에 대한 관리 인터페이스

규칙 세트 범주 및 구성 개요

애플리케이션 규칙 세트 순서 구성

작업 부하 관리

자세한 작업 부하 분석 및 메트릭

작업 부하 트래픽 패턴의 식별 및 분석

라벨 관리

유형 및 범주별 PCE 레이블 구성

서비스 분석

교통 패턴에 따른 서비스 역할 자동 추론

상위 5개 트래픽 소스 및 목적지 분석

프로젝트 계획

프로젝트 구현 일정 및 이정표

사용 가능한 프롬프트

링펜스 애플리케이션

ringfence-application 프롬프트는 인바운드 및 아웃바운드 트래픽을 제어하여 애플리케이션을 격리하고 보호하는 보안 정책을 만드는 데 도움이 됩니다.

필수 인수:

  • application_name : 링펜싱할 애플리케이션의 이름
  • application_environment : 링펜싱할 애플리케이션의 환경

특징:

  • 애플리케이션 내에서 계층 간 통신을 위한 규칙을 생성합니다.
  • 트래픽 흐름을 사용하여 필요한 외부 연결을 식별합니다.
  • 소스 애플리케이션을 기반으로 인바운드 트래픽 제한을 구현합니다.
  • 필요한 외부 통신을 위한 아웃바운드 트래픽 규칙을 생성합니다.
  • 동일한 앱/환경 내 연결과 외부 연결 모두 처리합니다.
  • 원격 애플리케이션 연결에 대한 별도의 규칙 집합을 생성합니다.

애플리케이션 트래픽 분석

analyze-application-traffic 프롬프트는 애플리케이션 트래픽 패턴과 연결성에 대한 자세한 분석을 제공합니다.

필수 인수:

  • application_name : 분석할 애플리케이션의 이름
  • application_environment : 분석할 애플리케이션의 환경

분석 특징:

  • 인바운드 및 아웃바운드 흐름별로 트래픽을 주문합니다.
  • 애플리케이션/환경/역할 조합별 그룹화
  • 관련 라벨 유형 및 패턴을 식별합니다.
  • React 구성 요소 형식으로 결과를 표시합니다.
  • 프로토콜 및 포트 정보를 표시합니다
  • 알려진 서비스 패턴(예: 포트 5666의 Nagios)을 식별하려는 시도
  • 트래픽을 인프라 및 애플리케이션 유형으로 분류합니다.
  • 인터넷 노출을 결정합니다
  • Illumio 역할, 애플리케이션 및 환경 레이블을 표시합니다.

MCP 프롬프트를 사용하는 방법

1단계: 인터페이스에서 "MCP에서 첨부" 버튼을 클릭합니다.

2단계: 설치된 MCP 서버 중에서 선택

3단계: 필요한 프롬프트 인수를 입력합니다.

4단계: 구성된 프롬프트를 보내려면 제출을 클릭하세요.

프롬프트 작동 방식

  • MCP 서버는 구성된 프롬프트를 Claude에게 보냅니다.
  • Claude는 Model Context Protocol을 통해 컨텍스트를 수신합니다.
  • Illumio 특정 작업의 특수 처리가 가능합니다.

이 워크플로는 Illumio 시스템과 Claude 간의 자동화된 컨텍스트 공유를 통해 애플리케이션 트래픽 분석 및 링펜싱 작업을 수행할 수 있도록 합니다.

도커

이 애플리케이션은 GitHub 컨테이너 레지스트리에서 Docker 컨테이너로 제공됩니다.

용기를 당겨라

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

또한 latest 버전 번호로 바꿔서 특정 버전을 사용할 수도 있습니다.

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

Claude Desktop으로 실행

Claude Desktop에서 컨테이너를 사용하려면 다음이 필요합니다.

  1. PCE 자격 증명으로 환경 파일(예: ~/.illumio-mcp.env )을 만듭니다.
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. Claude Desktop 구성 파일에 다음 구성을 추가하세요.

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" ] } } }

다음 사항을 확인하세요.

  • YOUR_USERNAME 실제 사용자 이름으로 바꾸세요.
  • 로그 디렉토리를 생성합니다(예: ~/tmp )
  • 시스템에 맞게 경로를 조정하세요

독립 실행형 실행

컨테이너를 직접 실행할 수도 있습니다.

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를 사용할 수 있습니다. 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

그런 다음 실행하세요.

docker-compose up

알려진 문제

컨테이너를 실행할 때 Illumio SDK의 정규 표현식에서 구문 경고가 표시될 수 있습니다. 이러한 경고는 기능에 영향을 미치지 않으며 컨테이너에서 자동으로 표시되지 않습니다.

컨테이너를 실행할 때 경고가 표시되면 다음을 추가하여 수동으로 경고를 억제할 수 있습니다.

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

또는 docker-compose.yml에서:

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

클로드 데스크톱 구성

Claude Desktop 사용자의 경우 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" ] } } }

다음 사항을 확인하세요.

  1. YOUR_USERNAME 실제 사용자 이름으로 바꾸세요.
  2. ~/tmp 에 로그 디렉토리를 만듭니다(또는 필요에 따라 경로를 조정합니다)
  3. PCE 자격 증명을 사용하여 ~/.illumio-mcp.env 에 환경 파일을 만듭니다.
PCE_HOST=your-pce-host PCE_PORT=your-pce-port PCE_ORG_ID=1 API_KEY=your-api-key API_SECRET=your-api-secret

구성:

  • 컨테이너를 실행하기 위해 Docker를 사용합니다.
  • 로그에 대한 로컬 디렉토리를 마운트합니다.
  • Python 경고를 억제합니다
  • 환경 파일에서 PCE 자격 증명을 로드합니다.
  • --init--rm 사용하여 컨테이너를 적절하게 정리할 수 있습니다.

You must be authenticated.

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

보안 정책 관리, 워크로드 운영, 트래픽 흐름 분석 및 규정 준수 평가를 위해 Illumio PCE와 대화형 AI 상호작용을 지원하는 모델 컨텍스트 프로토콜 서버입니다.

  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