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 服务器

模型上下文协议 (MCP) 服务器,提供与 Illumio PCE(策略计算引擎)交互的接口。此服务器支持以编程方式访问 Illumio 工作负载管理、标签操作和流量分析。

它能做什么?

使用对话式 AI 与您的 PCE 对话:

  • 创建、更新和删除工作负载
  • 创建、更新和删除标签
  • 获取流量摘要并对其进行安全分析
  • 获得 PCE 健康

先决条件

  • Python 3.8+
  • 访问 Illumio PCE 实例
  • PCE 的有效 API 凭据

安装

  1. 克隆存储库:
git clone [repository-url] cd illumio-mcp
  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 标签

服务分析

根据流量模式自动推断服务角色

五大流量来源和目的地分析

项目规划

项目实施时间表和里程碑

可用提示

Ringfence 应用程序

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 通过模型上下文协议接收上下文
  • 允许专门处理 Illumio 特定的任务

该工作流程实现了 Illumio 系统和 Claude 之间的自动上下文共享,以进行应用程序流量分析和隔离任务。

Docker

该应用程序可作为 Docker 容器从 GitHub Container Registry 获取。

拉动容器

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。创建一个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桌面配置

对于 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