Skip to main content

Editor / AI Assistant Integration

The Zscaler MCP Server works with any MCP-compatible client. Below are the canonical configurations for the most common ones.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows), or ~/.config/Claude/claude_desktop_config.json (Linux):

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": ["--env-file", "/path/to/.env", "zscaler-mcp-server"]
}
}
}

Restart Claude Desktop. The tools appear under Search & Tools.

See the Claude integration page for advanced configurations including the native Claude Code plugin (claude plugin install zscaler).

Cursor

Add to ~/.cursor/mcp.json:

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": ["--env-file", "/path/to/.env", "zscaler-mcp-server"]
}
}
}

Then Cursor Settings → Tools & Integrations → enable zscaler-mcp-server. Switch to Agent Mode in chat.

See Cursor integration for the native plugin with guided skills.

VS Code + GitHub Copilot

Add to your VS Code MCP configuration (Agent Mode):

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": ["--env-file", "/path/to/.env", "zscaler-mcp-server"]
}
}
}

Open Copilot Chat → switch to Agent Mode → refresh the tools list. See VS Code integration.

Gemini CLI

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": ["--env-file", "/path/to/.env", "zscaler-mcp-server"]
}
}
}

See Gemini CLI integration for the contextual extension.

Kiro IDE

Kiro discovers MCP servers from .kiro/mcp.json. See Kiro integration for the per-service steering files.

With service selection

To limit the loaded tools to specific services:

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": [
"--env-file", "/path/to/.env",
"zscaler-mcp-server",
"--services", "zia,zpa,zdx"
]
}
}
}

Or with a specific toolset slice:

{
"args": [
"--env-file", "/path/to/.env",
"zscaler-mcp-server",
"--toolsets", "zia_url_filtering,zpa_app_segments"
]
}

See Toolsets for the catalog.

With Docker

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--env-file", "/full/path/to/.env",
"zscaler/zscaler-mcp-server:latest"
]
}
}
}

With individual environment variables

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "uvx",
"args": ["zscaler-mcp-server"],
"env": {
"ZSCALER_CLIENT_ID": "your-client-id",
"ZSCALER_CLIENT_SECRET": "your-client-secret",
"ZSCALER_CUSTOMER_ID": "your-customer-id",
"ZSCALER_VANITY_DOMAIN": "your-vanity-domain"
}
}
}
}

Remote MCP server

Pointing a local editor at a remote (HTTP) MCP server is supported via the mcp-remote shim:

{
"mcpServers": {
"zscaler-mcp-server": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-mcp-host.example.com/mcp",
"--header", "Authorization: Bearer ${MCP_API_KEY}"
],
"env": {
"MCP_API_KEY": "your-shared-secret"
}
}
}
}

The exact header depends on the auth mode the remote server runs in.