Zscaler MCP Server for Zscaler Zero Trust Exchange. ZPA, ZIA, ZDX, ZCC, EASM & more.
6.7K
A Model Context Protocol (MCP) server that connects AI agents with the Zscaler Zero Trust Exchange platform. 200+ tools across 8 services — read-only by default, with opt-in write operations.
| Service | Tools | Description |
|---|---|---|
| ZPA | 59 | Private Access — app segments, access policies, connectors, PRA |
| ZIA | 76 | Internet Access — firewall, URL filtering, SSL inspection, DLP |
| ZDX | 18 | Digital Experience — app scores, device health, alerts (read-only) |
| Z-Insights | 16 | Analytics — web traffic, cyber incidents, shadow IT (read-only) |
| ZCC | 4 | Client Connector — device enrollment, forwarding profiles (read-only) |
| ZTW | 19 | Workload Segmentation — IP groups, network services |
| EASM | 7 | Attack Surface — findings, lookalike domains (read-only) |
| ZIdentity | 10 | Identity — users, groups (read-only) |
docker pull zscaler/zscaler-mcp-server:latest
.env fileZSCALER_CLIENT_ID=your-client-id
ZSCALER_CLIENT_SECRET=your-client-secret
ZSCALER_CUSTOMER_ID=your-customer-id
ZSCALER_VANITY_DOMAIN=your-vanity-domain
docker run -i --rm --env-file .env zscaler/zscaler-mcp-server:latest
# streamable-http on port 8000
docker run --rm -p 8000:8000 --env-file .env \
zscaler/zscaler-mcp-server:latest \
--transport streamable-http --host 0.0.0.0
# SSE on custom port
docker run --rm -p 8080:8080 --env-file .env \
zscaler/zscaler-mcp-server:latest \
--transport sse --host 0.0.0.0 --port 8080
docker run -i --rm --env-file .env \
zscaler/zscaler-mcp-server:latest \
--services zia,zpa,zdx
docker run -i --rm --env-file .env \
-e ZSCALER_MCP_WRITE_ENABLED=true \
-e ZSCALER_MCP_WRITE_TOOLS="zpa_create_*,zia_update_*" \
zscaler/zscaler-mcp-server:latest
{
"mcpServers": {
"zscaler-mcp-server": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--env-file", "/absolute/path/to/.env",
"zscaler/zscaler-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"zscaler-mcp-server": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"http://YOUR_SERVER:8000/mcp",
"--header", "Authorization: Bearer sk-your-api-key"
]
}
}
}
| Variable | Description |
|---|---|
ZSCALER_CLIENT_ID | OneAPI OAuth client ID |
ZSCALER_CLIENT_SECRET | OneAPI OAuth client secret |
ZSCALER_CUSTOMER_ID | Customer/tenant ID (required for ZPA) |
ZSCALER_VANITY_DOMAIN | Your Zscaler vanity domain |
| Variable | Default | Description |
|---|---|---|
ZSCALER_MCP_TRANSPORT | stdio | Transport: stdio, sse, streamable-http |
ZSCALER_MCP_HOST | 127.0.0.1 | Bind host for HTTP transports |
ZSCALER_MCP_PORT | 8000 | Bind port for HTTP transports |
ZSCALER_MCP_SERVICES | (all) | Comma-separated services to enable |
ZSCALER_MCP_DEBUG | false | Enable debug logging |
| Variable | Default | Description |
|---|---|---|
ZSCALER_MCP_WRITE_ENABLED | false | Enable write (create/update/delete) tools |
ZSCALER_MCP_WRITE_TOOLS | — | Mandatory allowlist when write enabled (wildcards supported) |
ZSCALER_MCP_AUTH_ENABLED | false | Enable MCP client authentication (HTTP only) |
ZSCALER_MCP_AUTH_MODE | — | Auth mode: api-key, jwt, or zscaler |
ZSCALER_MCP_ALLOW_HTTP | false | Allow plaintext HTTP on non-localhost |
latest — Built from the master branch on every mergeX.Y.Z (e.g., 0.7.0) — Built from GitHub releases (semver)linux/amd64linux/arm64python:3.13-alpineapp)zscaler-mcpContent type
Image
Digest
sha256:e64fb9c97…
Size
64.6 MB
Last updated
7 days ago
docker pull zscaler/zscaler-mcp-server:0.13