Skip to main content
Glama
alexgoller

Illumio MCP Server

by alexgoller

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
API_KEYYesThe Illumio API Key
PCE_HOSTYesThe Illumio PCE host address (e.g., your-pce-host)
PCE_PORTYesThe Illumio PCE port (e.g., 8443)
API_SECRETYesThe Illumio API Secret
PCE_ORG_IDYesThe Illumio PCE Organization ID (e.g., 1)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get-workloadsB

Get workloads from the PCE. Use detail_level to control breadth vs depth: 'compact' (default) for tabular overviews of thousands of workloads, 'full' for complete data on specific workloads, 'labels_only' for maximum breadth with just identity and labels.

update-workloadA

Update a workload in the PCE. Identify by href (preferred) or name. Provide only fields you want to change. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

get-labelsA

Get labels from the PCE with optional filtering

create-workloadA

Create a Illumio Core unmanaged workload in the PCE WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

create-labelB

Create a label of a specific type and the value in the PCE WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-labelA

Delete a label in the PCE WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-workloadA

Delete a workload from the PCE. Identify by href (preferred) or name. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

get-traffic-flowsC

Get traffic flows from the PCE with comprehensive filtering options

discover-process-egressA

Find which processes talk to destinations outside this PCE's managed estate - the shadow-IT / unsanctioned-egress question. Returns ranked findings of process -> external destination with port, protocol, the user, current policy decision and volume, preferring an FQDN over a bare IP where the PCE resolved one. Use this instead of get-traffic-flows when the question is 'what is talking out', not 'show me all traffic'.

get-traffic-flows-summaryA

Summarize traffic flows as structured JSON. Sections: by_process (which binary talks to which destination, on which port, under which policy, and as which user), external_destinations (traffic leaving the managed estate), blocked (what policy is stopping), app_to_app (coarse view). Prefer this over get-traffic-flows for analysis - it is far smaller and answers the usual questions directly.

check-pce-connectionB

Are my credentials and the connection to the PCE working?

get-rulesetsA

Get rulesets from the PCE with optional filtering

get-iplistsB

Get IP lists from the PCE with optional filtering

get-eventsB

Get events from the PCE with optional filtering

create-rulesetA

Create a ruleset in the PCE with support for ring-fencing patterns WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

create-deny-ruleA

Create a deny rule in an existing ruleset. Deny rules block specific traffic (processed after allow rules). Override deny rules (override_deny=true) are the HIGHEST priority — they block traffic even when allow rules exist, meaning 'this must not happen under any circumstances.' Use override deny for emergency isolation, hard compliance blocks, or active attack response — NOT for normal segmentation or ringfencing. Rule processing order: 1) Essential rules, 2) Override Deny (blocks above all), 3) Allow rules, 4) Deny rules, 5) Default action. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

get-servicesB

Get services from the PCE with optional filtering

create-serviceA

Create a service in the PCE. Supply at least one of service_ports, windows_services or windows_egress_services. windows_egress_services matches a process on the consumer side and needs a Windows VEN there. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

update-serviceA

Update an existing service in the PCE. Identify by href (preferred) or name. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-serviceA

Delete a service from the PCE. Identify by href (preferred) or name. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

update-deny-ruleA

Update an existing deny rule in a ruleset. Identify the rule by its href. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

update-sec-ruleA

Update an allow rule inside a ruleset, identified by its href. Only the fields you supply change. Use this to refine a rule in place — swapping an inline port for a process-qualified service, for example — instead of rebuilding the ruleset. For deny rules use update-deny-rule. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-sec-ruleA

Delete a single allow rule from a ruleset, leaving the rest of the ruleset intact. For deny rules use delete-deny-rule. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-deny-ruleA

Delete a deny rule from a ruleset by its href WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

update-labelA

Update an existing label in the PCE. Provide either: 1) href + new_value (optionally with key), or 2) key + value + new_value to identify and update the label. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

create-iplistA

Create a new IP List in the PCE WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

update-iplistA

Update an existing IP List in the PCE. Provide either 'href' or 'name' (but not both) to identify the IP List. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-iplistA

Delete an IP List from the PCE. Provide either 'href' or 'name' (but not both) to identify the IP List. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

update-rulesetA

Update an existing ruleset in the PCE. Provide either 'href' or 'name' (but not both) to identify the ruleset. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-rulesetA

Delete a ruleset from the PCE by its href WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

create-ringfenceA

Create a ringfencing policy for an application. This analyzes traffic flows to discover which other apps communicate with this app, then creates a ruleset with:

  1. An intra-scope rule allowing all workloads within the app to communicate on All Services

  2. Extra-scope rules for each remote app+env discovered in traffic, allowing them in on All Services The result is a coarse-grained segmentation that controls which apps can talk to each other, reducing risk without requiring per-port policies. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

identify-infrastructure-servicesA

Analyze traffic flows to identify infrastructure services in your environment. Builds an app-to-app communication graph and computes centrality metrics to rank apps by how 'infrastructure-like' they are. Infrastructure services (DNS, AD, logging, monitoring platforms, shared databases) are consumed by many apps and should be policy'd first during segmentation rollouts. Returns a ranked list with scores, classification tiers, and connectivity details.

provision-policyA

Provision pending draft policy changes in the PCE. This moves draft rulesets, rules, IP lists, services, and label groups from draft to active state. You can provision all pending changes or specific items by href. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting. Additionally requires an explicit confirm token, so it takes two steps: the first call returns a token to be passed back in the second.

compare-draft-activeA

Compare draft vs active policy to see what would change on provisioning. Shows new, modified, and deleted rulesets, rules, IP lists, and services.

enforcement-readinessA

Assess whether an application is ready for enforcement by analyzing its traffic flows, existing policy coverage, and identifying potential gaps. Provides a readiness score and actionable recommendations.

ringfence-batchA

Create ringfence policies for multiple applications at once. Optionally auto-discovers infrastructure services and ringfences them first, then standard apps. Uses the same logic as create-ringfence for each app. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting. Additionally requires an explicit confirm token, so it takes two steps: the first call returns a token to be passed back in the second.

get-workload-enforcement-statusA

Get enforcement mode status across all workloads, grouped by application and environment. Shows counts per enforcement mode and identifies apps with mixed enforcement states.

get-policy-coverage-reportB

Generate a policy coverage report for an app, showing what traffic is covered by existing rules vs what would be blocked. Helps understand how much of an app's traffic is already policy'd.

find-unmanaged-trafficA

Find traffic involving unmanaged (unlabeled) workloads or IP addresses. These are sources or destinations without app/env labels, representing potential policy blind spots.

detect-lateral-movement-pathsA

Analyze traffic patterns to detect potential lateral movement paths — chains of connections that could allow an attacker to pivot between applications. Identifies apps that serve as bridges between otherwise disconnected app groups.

compliance-checkC

Check policy compliance against common frameworks (PCI-DSS, NIST, CIS). Identifies workloads in specific compliance scopes and verifies that segmentation policies meet framework requirements.

get-container-workload-profilesB

Get Container Workload Profiles for a container cluster. These profiles control how Kubernetes pods are managed by Illumio — mapping K8s namespaces to Illumio labels and enforcement modes.

update-container-workload-profileA

Update a Container Workload Profile to manage Kubernetes pods in Illumio. Set managed=true and assign labels to start managing pods in a namespace. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

get-kubernetes-workloadsB

Get Kubernetes Workloads (CLAS mode) from a container cluster. Shows Deployments, Services, and other K8s objects managed by Illumio with their labels and policy sync state.

get-container-clustersA

Get container clusters (Kubernetes/OpenShift) registered in the PCE. Shows cluster name, CLAS mode, online status, kubelink version, and node count.

get-pairing-profilesA

Get pairing profiles from the PCE. Pairing profiles define the initial enforcement mode and labels for VENs when they pair with the PCE.

register-pce-credentialsA

Register (or overwrite) PCE credentials for the current authenticated user. After registering, all PCE tools become available in this session. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

delete-pce-credentialsA

Remove the current user's stored PCE credentials. Idempotent — safe to call even if no credentials are stored. WRITE OPERATION: changes PCE state. In clients that gate tool calls (Claude Desktop, Claude Code), this pauses for the user to approve it -- the call has not failed and must not be retried while waiting.

check-pce-credentials-statusA

Check whether PCE credentials are registered for the current user without revealing the secret values.

get-server-changelogA

What changed in this MCP server. Call this when tool behaviour does not match what you expect, after the server has been updated mid-session, or before relying on assumptions formed earlier in a long session -- a cached tools/list and remembered response shapes are not refreshed when the server changes. The unlearn field lists behaviour changes that make previously correct assumptions wrong. Needs no PCE connection.

Prompts

Interactive templates invoked by user choice

NameDescription
ringfence-applicationRingfence an application by deploying rulesets to limit the inbound and outbound traffic
analyze-application-trafficAnalyze the traffic flows for an application and environment
emergency-isolate-applicationEmergency isolation of an application using override deny rules — blocks ALL traffic to/from the app immediately, overriding any existing allow rules. Use only for security incidents.

Resources

Contextual data attached and managed by the client

NameDescription
Server changelogWhat changed in this MCP server, including behaviour changes that invalidate assumptions a long-running session may still be holding.
Illumio Rule Processing OrderHow Illumio processes rules — essential for understanding policy behavior
Illumio Enforcement ModesEnforcement modes control how policy rules affect workload traffic
Illumio Segmentation & RingfencingCore concepts for application segmentation and ringfencing
Illumio Draft vs Active PolicyUnderstanding draft and active policy states and provisioning
PCI-DSS Segmentation & Visibility RequirementsPCI-DSS v4.0 requirements mapped to Illumio segmentation and visibility controls
DORA (Digital Operational Resilience Act) RequirementsEU DORA regulation mapped to Illumio segmentation and operational resilience controls
NIST 800-53 Security ControlsNIST 800-53 Rev 5 controls mapped to Illumio segmentation capabilities
ISO 27001:2022 ControlsISO 27001:2022 Annex A controls mapped to Illumio segmentation capabilities
SWIFT Customer Security Programme (CSP)SWIFT CSP controls mapped to Illumio segmentation for financial messaging security
CIS Controls v8CIS Critical Security Controls v8 mapped to Illumio segmentation capabilities
HIPAA Security RuleHIPAA Security Rule requirements mapped to Illumio segmentation for healthcare data protection
Segmentation Methodology & Best PracticesGeneral methodology for implementing micro-segmentation with Illumio across any compliance framework
PCE & VEN ArchitectureIllumio platform architecture — PCE (Policy Compute Engine) and VEN (Virtual Enforcement Node) components, deployment models, and scaling
Workload Types & VEN DeploymentManaged vs unmanaged workloads, VEN deployment strategies, and workload lifecycle
Label Design (R+A+E+L)Illumio's four-dimensional label model — Role, Application, Environment, Location — design principles, data quality, and governance
FIRST Principles of Security SegmentationIllumio's FIRST methodology — Find, Identify, Reach out, Start, Target — the recommended approach to deploying segmentation
Core Services StrategyWhy infrastructure services must be policy'd first — identification, types, and strategy for core service segmentation
Ringfencing Patterns & Granularity LevelsThree levels of application segmentation — App Group Level, Role Level All Services, Role Level Specified Services — with deny rule integration
Digital Crown JewelsIdentifying and protecting your most sensitive applications with the highest level of segmentation control
Logging, Monitoring & SIEM IntegrationPCE logging types, SIEM integration, traffic data records, auditable events, and alerting strategies

TDQS

B3.4/5.0

Scored across 50 tools

Disambiguation4/5

Most tools pair a distinct resource with a clear action, and the traffic-analytics tools are explicitly differentiated (e.g. discover-process-egress vs get-traffic-flows). A few names could be initially confused—get-workloads vs get-kubernetes-workloads, get-traffic-flows vs get-traffic-flows-summary—but the descriptions do enough to steer an agent correctly.

Naming Consistency4/5

The overwhelming majority follow a verb-noun or verb-noun-noun pattern: create-iplist, update-workload, delete-deny-rule, get-traffic-flows-summary. A few tools break the verb-first pattern (enforcement-readiness, compliance-check, ringfence-batch), but these are isolated and remain readable.

Tool Count2/5

50 tools is far beyond the typical well-scoped MCP toolset, and the inventory feels more like a broad API surface than a curated set of agent-facing operations. Many tools are one-off analytics or assessment functions, which makes tool selection heavier than it needs to be.

Completeness3/5

Core resources like workloads, labels, IP lists, services, rulesets, and deny rules have solid CRUD coverage, and the analytics layer is unusually rich. However, there is no create-sec-rule to add allow rules to an existing ruleset, pairing profiles are read-only, and some container resources are get/update-only—noticeable lifecycle gaps for a policy-management server.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive