Security Guidance
Security scan passedAnthropic's security review for Claude Code: flags injection, XSS, secrets and more as Claude edits, finishes a turn and commits.

Lets your agent look into and manage Zscaler's ZIA, ZPA, ZDX and more with your OneAPI credentials, read-only unless you allow changes.
by zscaler· SecurityUnclaimed · Yours? Claim it
4 images
About
Zscaler's own MCP server for the Zscaler Zero Trust Exchange. It connects your agent to Zscaler's services through OneAPI, so you can review policies, troubleshoot connectivity, audit security settings and investigate incidents in plain words. It's read-only unless you choose otherwise. What you can do with it - ZIA (Internet Access): review firewall, URL filtering, SSL inspection and sandbox rules, locations and URL categories, and check which category a URL falls in - ZPA (Private Access): review application segments, segment groups, server groups, app connectors and access policies, and onboard new applications - ZDX (Digital Experience): check application scores, ongoing alerts and device deep traces to troubleshoot someone's experience - ZCC (Client Connector): list enrolled devices and forwarding profiles - EASM: review findings and lookalike domains on your external attack surface - Z-Insights: look at web traffic, cyber incidents and shadow IT analytics - Also ZIdentity, Workload Segmentation (ZTW), Microsegmentation (ZMS) and Zscaler Cellular How it connects It runs on your machine with uvx zscaler-mcp (Python 3.11 or later, with uv installed), or from Zscaler's Docker image. It signs in to Zscaler with OneAPI credentials from an API client you create in the ZIdentity console: a client ID, a client secret (or a private key), your customer ID and your vanity domain. It only offers tools for the Zscaler products those credentials are entitled to. Zscaler also ships it as a Claude Code plugin with guided skills (onboarding a ZPA application, auditing SSL inspection, investigating ZDX alerts, troubleshooting a user's connectivity and more), as a Claude Desktop extension, and as a Gemini CLI extension. The plugin and the Gemini extension read your credentials from a .env file in their folder. Good to know - Read-only by default: only list and get tools are available. To let it create, change or delete anything, start it with --enable-write-tools and an explicit allowlist of write tools, such as --write-tools "zpa_create_*". - Deletes always need a confirmation first, and that check can't be turned off. - ZIA changes take effect once the staged configuration is activated. - You can load only the toolsets you need (--toolsets) to keep your agent's context small. - Zscaler calls it a public preview and asks you to avoid production deployments for now.
Once it’s added
“List my ZPA application segments.”
“Show my ZIA firewall rules.”
“What category is twilio.com in?”
“Show ongoing ZDX alerts and the devices they affect.”
Before you add it
Reads only
ZIA, ZPA and ZTW policies and configuration · ZDX application scores, alerts and deep traces · ZCC devices, EASM findings and Z-Insights analytics
Makes changes · your agent can ask first
Only with write mode and an allowlist: creates, changes and deletes the Zscaler resources you allow · Activates staged ZIA configuration
From people who use it
Step by step
Nothing new reaches your agent until a person has looked at it.
Plugins people install alongside Zscaler MCP Server.
No reviews yet. Used Zscaler MCP Server? Say how it went.
Write a reviewRuns on your machine.
Runs on your machine.
Add to VS Codecode --add-mcp '{"name":"zscaler-mcp-server","command":"uvx","args":["zscaler-mcp==0.15.4"],"env":{"ZSCALER_CLIENT_ID":"<ZSCALER_CLIENT_ID>","ZSCALER_CLIENT_SECRET":"<ZSCALER_CLIENT_SECRET>","ZSCALER_CUSTOMER_ID":"<ZSCALER_CUSTOMER_ID>","ZSCALER_VANITY_DOMAIN":"<ZSCALER_VANITY_DOMAIN>"}}'copilot mcp add zscaler-mcp-server --env ZSCALER_CLIENT_ID=<ZSCALER_CLIENT_ID> --env ZSCALER_CLIENT_SECRET=<ZSCALER_CLIENT_SECRET> --env ZSCALER_CUSTOMER_ID=<ZSCALER_CUSTOMER_ID> --env ZSCALER_VANITY_DOMAIN=<ZSCALER_VANITY_DOMAIN> -- uvx zscaler-mcp==0.15.4
Runs on your machine.
Add to Cursor.cursor/mcp.json{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": [
"zscaler-mcp==0.15.4"
],
"env": {
"ZSCALER_CLIENT_ID": "<ZSCALER_CLIENT_ID>",
"ZSCALER_CLIENT_SECRET": "<ZSCALER_CLIENT_SECRET>",
"ZSCALER_CUSTOMER_ID": "<ZSCALER_CUSTOMER_ID>",
"ZSCALER_VANITY_DOMAIN": "<ZSCALER_VANITY_DOMAIN>"
}
}
}
}Runs on your machine.
/plugin marketplace add anthropics/claude-plugins-official /plugin install zscaler@claude-plugins-official
Runs on your machine.
codex mcp add --env ZSCALER_CLIENT_ID=<ZSCALER_CLIENT_ID> --env ZSCALER_CLIENT_SECRET=<ZSCALER_CLIENT_SECRET> --env ZSCALER_CUSTOMER_ID=<ZSCALER_CUSTOMER_ID> --env ZSCALER_VANITY_DOMAIN=<ZSCALER_VANITY_DOMAIN> zscaler-mcp-server -- uvx zscaler-mcp==0.15.4
Runs on your machine.
~/.gemini/config/mcp_config.json{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": [
"zscaler-mcp==0.15.4"
],
"env": {
"ZSCALER_CLIENT_ID": "<ZSCALER_CLIENT_ID>",
"ZSCALER_CLIENT_SECRET": "<ZSCALER_CLIENT_SECRET>",
"ZSCALER_CUSTOMER_ID": "<ZSCALER_CUSTOMER_ID>",
"ZSCALER_VANITY_DOMAIN": "<ZSCALER_VANITY_DOMAIN>"
}
}
}
}Runs on your machine.
gemini mcp add -e ZSCALER_CLIENT_ID=<ZSCALER_CLIENT_ID> -e ZSCALER_CLIENT_SECRET=<ZSCALER_CLIENT_SECRET> -e ZSCALER_CUSTOMER_ID=<ZSCALER_CUSTOMER_ID> -e ZSCALER_VANITY_DOMAIN=<ZSCALER_VANITY_DOMAIN> zscaler-mcp-server uvx zscaler-mcp==0.15.4
Runs on your machine.
Runs on your machine.
opencode mcp add zscaler-mcp-server --env ZSCALER_CLIENT_ID=<ZSCALER_CLIENT_ID> --env ZSCALER_CLIENT_SECRET=<ZSCALER_CLIENT_SECRET> --env ZSCALER_CUSTOMER_ID=<ZSCALER_CUSTOMER_ID> --env ZSCALER_VANITY_DOMAIN=<ZSCALER_VANITY_DOMAIN> -- uvx zscaler-mcp==0.15.4
Runs on your machine.
~/.hermes/config.yaml{
"mcp_servers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": [
"zscaler-mcp==0.15.4"
],
"env": {
"ZSCALER_CLIENT_ID": "<ZSCALER_CLIENT_ID>",
"ZSCALER_CLIENT_SECRET": "<ZSCALER_CLIENT_SECRET>",
"ZSCALER_CUSTOMER_ID": "<ZSCALER_CUSTOMER_ID>",
"ZSCALER_VANITY_DOMAIN": "<ZSCALER_VANITY_DOMAIN>"
}
}
}
}ZSCALER_CLIENT_IDRequiredSecretZscaler OneAPI Client ID from ZIdentity console.ZSCALER_CLIENT_SECRETRequiredSecretZscaler OneAPI Client Secret from ZIdentity console.ZSCALER_CUSTOMER_IDRequiredZscaler Customer ID from ZIdentity console.ZSCALER_VANITY_DOMAINRequiredZscaler vanity domain (e.g. mycompany.zscloud.net).Replace each <NAME> placeholder with your own value.
Scanned and passed · checked 6 h ago
Plugins people install alongside Zscaler MCP Server.
Anthropic's security review for Claude Code: flags injection, XSS, secrets and more as Claude edits, finishes a turn and commits.
Equips your coding agent with SAST, dependency scanning, a phased hardening workflow and STRIDE threat-modeling skills.
Alireza Rezvani's Claude Code hook that stops Claude before it writes common security anti-patterns, such as eval, pickle or SQL f-strings.
Microsoft's skills for Azure Data Explorer: build Kusto graphs, compose IRQL threat hunts and turn results into visual graphs.
Nobody has shared how they use Zscaler MCP Server yet.
“Review the findings on our external attack surface.”
“Audit our ZIA SSL inspection rules.”
Scanned on every change, and again when our rules improve.
Tell us and a person on the trust team will look at it. Or email [email protected].
Security scan
Passed
Safe to install in every agent it supports. Runs on your machine.