zscaler-mcp-server
Zscaler Integration MCP Server is a Model Context Protocol (MCP) server designed for managing Several Zscaler Products using Large Language Models (LLMs).
Install / Use
claude mcp add zscaler -- npx -y github:zscaler/zscaler-mcp-serverIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of zscaler-mcp-server
zscaler-mcp-server scores 78/100 on our quality scale, 530th of 688 AI & Machine Learning skills we index.
Its MCP Server is 75 KB long, well organised into 143 sections with 64 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 50 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated 5 days ago, so zscaler-mcp-server is actively maintained.
- Our last check on 2026-09-17 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-26. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
zscaler-mcp-server compared with similar skills
All 4 of these similar skills score higher than zscaler-mcp-server; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| zscaler-mcp-server (this skill)by zscaler | 78 | 50 | 5d ago | MCP Server |
| claude-memby thedotmack | 100 | 94.7k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 85.5k | 10d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 84.2k | 14d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.8k | today | CLAUDE.md |
Frequently asked questions
- How do I install zscaler-mcp-server?
- Run
claude mcp add zscaler -- npx -y github:zscaler/zscaler-mcp-server. The install tabs above show the steps for each supported agent. - Which AI agents does zscaler-mcp-server work with?
- It is written for Claude Code, Claude Desktop and Gemini CLI, as a MCP Server file. Other agents that read the same format can often use it too.
- Is zscaler-mcp-server safe to use?
- Our scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is zscaler-mcp-server still maintained?
- The repository was last updated 5 days ago, so zscaler-mcp-server is actively maintained.
Skill content
View source on GitHubzscaler-mcp-server is a Model Context Protocol (MCP) server that connects AI agents with the Zscaler Zero Trust Exchange platform. By default, the server operates in read-only mode for security, requiring explicit opt-in to enable write operations.
Support Disclaimer
-> Disclaimer: Please refer to our General Support Statement before proceeding with the use of this provider. You can also refer to our troubleshooting guide for guidance on typical problems.
[!IMPORTANT] 🚧 Public Preview: This project is currently in public preview and under active development. Features and functionality may change before the stable 1.0 release. While we encourage exploration and testing, please avoid production deployments. We welcome your feedback through GitHub Issues to help shape the final release.
📄 Table of contents
- 📺 Overview
- 🔒 Security & Permissions
- 🔐 MCP Client Authentication
- Supported Tools
- Installation & Setup
- Usage
- Zscaler API Credentials & Authentication
- As a Library
- Container Usage
- Editor/Assistant Integration
- Additional Deployment Options
- Using the MCP Server with Agents
- Platform Integrations
- Troubleshooting
- License
📺 Overview
The Zscaler Integrations MCP Server brings context to your agents. Try prompts like:
- "List my ZPA Application segments"
- "List my ZPA Segment Groups"
- "List my ZIA Rule Labels"
<!-- markdownlint-disable MD028 -->[!WARNING] 🔒 READ-ONLY BY DEFAULT: For security, this MCP server operates in read-only mode by default. Only
list_*andget_*operations are available. To enable tools that can CREATE, UPDATE, or DELETE Zscaler resources, you must explicitly enable write mode using the--enable-write-toolsflag or by settingZSCALER_MCP_WRITE_ENABLED=true. See the Security & Permissions section for details.
[!TIP] Writing effective prompts: This server exposes 402 tools across multiple Zscaler services. Most MCP clients (Claude Desktop, Cursor, etc.) use deferred tool loading and will search for relevant tools based on your prompt. For best results, be specific about the service and action in your prompts:
- Good: "List my ZPA application segments" — targets the right service and tool directly
- Good: "Show ZIA firewall rules" — clear service (
zia) and action (list)- Less effective: "Show me my devices" — ambiguous; multiple services expose device-related tools
When a service is disabled, its tools are fully removed from the server. However, the AI agent may still attempt to find related tools in other services. If you get unexpected results, refine your prompt with the specific service name (e.g.
zpa,zia,zdx,zcc,zcell,zms).
🔒 Security & Permissions
The Zscaler MCP Server implements a security-first design with granular permission controls and safe defaults:
Read-Only Mode (Default - Always Available)
By default, the server operates in read-only mode, exposing only tools that list or retrieve information:
- ✅ ALWAYS AVAILABLE - Read-only tools are registered by the server
- ✅ Safe to use with AI agents autonomously
- ✅ No risk of accidental resource modification or deletion
- ✅ All
list_*andget_*operations are available (110+ read-only tools) - ❌ All
create_*,update_*, anddelete_*operations are disabled by default - 💡 Note: You may need to enable read-only tools in your AI agent's UI settings
# Read-only mode (default - safe)
zscaler-mcp
When the server starts in read-only mode, you'll see:
🔒 Server running in READ-ONLY mode (safe default)
Only list and get operations are available
To enable write operations, use --enable-write-tools AND --write-tools flags
💡 Read-only tools are ALWAYS registered by the server regardless of any flags. You never need to enable them server-side. Note: Your AI agent UI (like Claude Desktop) may require you to enable individual tools before use.
Write Mode (Explicit Opt-In - Allowlist REQUIRED)
To enable tools that can create, modify, or delete Zscaler resources, you must provide BOTH flags:
- ✅
--enable-write-tools- Global unlock for write operations - ✅
--write-tools "pattern"- MANDATORY explicit allowlist
🔐 SECURITY: Allowlist is MANDATORY - If you set
--enable-write-toolswithout--write-tools, 0 write tools will be registered. This ensures you consciously choose which write operations to enable.
# ❌ WRONG: This will NOT enable any write tools (allowlist missing)
zscaler-mcp --enable-write-tools
# ✅ CORRECT: Explicit allowlist required
zscaler-mcp --enable-write-tools --write-tools "zpa_create_*,zpa_delete_*"
When you try to enable write mode without an allowlist:
⚠️ WRITE TOOLS MODE ENABLED
⚠️ NO allowlist provided - 0 write tools will be registered
⚠️ Read-only tools will still be available
⚠️ To enable write operations, add: --write-tools 'pattern'
Write Tools Allowlist (MANDATORY)
The allowlist provides two-tier security:
- ✅ First Gate:
--enable-write-toolsmust be set (global unlock) - ✅ Second Gate: Explicit allowlist determines which write tools are registered (MANDATORY)
Allowlist Examples:
# Enable ONLY specific write tools with wildcards
zscaler-mcp --enable-write-tools --write-tools "zpa_create_*,zpa_delete_*"
# Enable specific tools without wildcards
zscaler-mcp --enable-write-tools --write-tools "zpa_create_application_segment,zia_create_rule_label"
# Enable all ZPA write operations (but no ZIA/ZDX/ZTW)
zscaler-mcp --enable-write-tools --write-tools "zpa_*"
Or via environment variable:
export ZSCALER_MCP_WRITE_ENABLED=true
export ZSCALER_MCP_WRITE_TOOLS="zpa_create_*,zpa_delete_*"
zscaler-mcp
Wildcard patterns supported:
zpa_create_*- Allow all ZPA creation toolszpa_delete_*- Allow all ZPA deletion toolszpa_*- Allow all ZPA write tools*_application_segment- Allow all operations on application segmentszpa_create_application_segment- Exact match (no wildcard)
When using a valid allowlist, you'll see:
⚠️ WRITE TOOLS MODE ENABLED
⚠️ Explicit allowlist provided - only listed write tools will be registered
⚠️ Allowed patterns: zpa_create_*, zpa_delete_*
⚠️ Server can CREATE, MODIFY, and DELETE Zscaler resources
🔒 Security: 85 write tools blocked by allowlist, 8 allowed
Tool Design Philosophy
Each operation is a separate, single-purpose tool with explicit naming that makes its intent clear:
✅ Good (Verb-Based - Current Design)
zpa_list_application_segments ← Read-only, safe to allow-list
zpa_get_application_segment ← Read-only, safe to allow-list
zpa_create_application_segment ← Write operation, requires --enable-write-tools
zpa_update_application_segment ← Write operation, requires --enable-write-tools
zpa_delete_application_segment ← Destructive, requires --enable-write-tools
This design allows AI assistants (Claude, Cursor, GitHub Copilot) to:
- Allow-list read-only tools for autonomous exploration
- Require explicit user confirmation for write operations
- Clearly understand the intent of each tool from its name
Responses: the API record, verbatim
A read tool returns the Zscaler API record unchanged. The server does not trim, rename, or re-declare a resource's attributes — that attribute set belongs to the API, so a field Zscaler adds in future reaches you with no server upgrade.
To keep responses small, you control what comes back rather than the server guessing. Two levers:
-
--toolsets— load only the slice of tools you need, so the tool catalog stays small (see Toolsets). -
query— every list tool accepts an optional JMESPath expression applied to the results, so the agent projects exactly what it wants:zcc_list_devices(query="[*].{user: user, policy: policyName}") # just those two fields zcc_list_devices(query="[?registrationState=='Quarantined']") # just quarantined devices zcc_list_devices(query="length(@)") # just the countField names are exactly what the Zscaler API returns. Omit
queryto get the full records.
Security Layers
The server implements multiple layers of security (defense-in-depth). The first nine apply on every transport, including stdio — they govern which tools are exposed and how dangerous calls are confirmed. The remaining HTTP-only layers (TLS, host-header validation, source-IP ACL, MCP client authentication) are described in the Network-Level Controls section further down.
- **Read-Only T
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
94.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
85.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
84.2kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
73.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
