zscaler-aiguard-control-plane-mcp
Provides AI agents with programmatic access to Zscaler AI Guard, enabling autonomous management of detection policies, match rules, LLM applications, and LLM providers.
README
Zscaler AI Guard Control Plane MCP
An unofficial Model Context Protocol (MCP) server that provides AI agents (Gemini, Claude, Cursor) with programmatic, REST-based access to the Zscaler AI Guard (Zseclipse) ecosystem.
This MCP server allows your AI assistants to autonomously list, create, update, and delete Detection Policies, Match Rules, LLM Applications, and LLM Providers.
Overview
The server wraps the Zscaler AI Guard Public API (https://api.zsapi.net/aiguard/v1). It handles secure OAuth 2.0 client_credentials authentication natively, meaning your AI agent simply calls high-level tools like create_policy or list_llm_apps, and the server manages the Bearer token lifecycle and REST payloads.
Prerequisites & Authentication
To use this MCP server, you must provide three pieces of information from your Zscaler tenant.
How to obtain your API Credentials:
- Log in to your Zscaler AI Guard (or ZIdentity) administration portal.
- Navigate to the API Clients page.
- Click Add API Client (or generate a new credential).
- Ensure the client is granted the necessary scopes (all:read, all:write, all:delete).
- Copy the Client Secret immediately, as it is only shown once at creation.
Environment Variables
The MCP server reads these credentials directly from your environment variables:
- ZSCALER_CLIENT_ID: The OAuth Client ID generated in Step 3.
- ZSCALER_CLIENT_SECRET: The OAuth Client Secret generated in Step 3.
- ZSCALER_VANITY_DOMAIN: Your Zscaler organization's login domain (e.g., if you log in at https://mycompany.zslogin.net, your vanity domain is mycompany).
Available MCP Tools
This server maps directly to the Zscaler AI Guard API Reference. All tools expect and return standard JSON payloads.
Detection Policies
Manage AI guard detection policies that inspect and act on prompts and responses.
- list_policy_summaries: Returns a lightweight list of all detection policies (IDs, names, versions, timestamps).
- list_policies: Returns all detection policies with full detector configuration.
- get_policy: Fetch a specific policy by its numeric ID.
- get_policy_by_name: Fetch a specific policy by its exact name.
- create_policy: Creates a new detection policy (requires JSON payload).
- update_policy: Replaces a detection policy completely.
- enable_policy_controls: Partially updates the enabled/disabled state of individual policy controls.
- delete_policy: Permanently deletes a detection policy.
- check_policy_references: Checks if a policy is actively referenced by match rules or LLM applications.
Detection Policy Match Rules
Manage match rules that define the conditions under which a detection policy triggers.
- list_match_rules: Returns all match rules for the tenant.
- get_match_rule / get_match_rule_by_name
- create_match_rule
- update_match_rule
- delete_match_rule
LLM Applications
Manage the LLM applications registered with AI Guard.
- list_llm_applications
- get_llm_application / get_llm_application_by_name
- create_llm_application
- update_llm_application
- delete_llm_application
- check_application_references
LLM Providers
Manage the LLM providers configured for the tenant.
- list_llm_providers
- get_llm_provider / get_llm_provider_by_name
- create_llm_provider
- update_llm_provider
- delete_llm_provider
- check_provider_references
Installation & Usage
1. Gemini CLI (Native Integration)
The fastest way to install this MCP server into your Gemini CLI is to use the native command.
First, clone this repository:
git clone https://github.com/hshen-ai/zscaler-aiguard-control-plane-mcp.git
cd zscaler-aiguard-control-plane-mcp
Then, run the simplified MCP installation command (ensure you replace the placeholder credentials with your actual ZIdentity keys):
gemini mcp add zscaler-aiguard-control-plane-mcp --env ZSCALER_CLIENT_ID=your_client_id --env ZSCALER_CLIENT_SECRET=your_client_secret --env ZSCALER_VANITY_DOMAIN=your_vanity_domain -- uv run --manifest-path ./pyproject.toml fastmcp run ./server.py
2. Claude Desktop / Claude Code
Add the server to your claude_desktop_config.json or .claude/mcp-servers.json:
{ "mcpServers": { "zscaler-aiguard-control-plane-mcp": { "command": "uv", "args": ["run", "fastmcp", "run", "/path/to/Zscaler-AI-Guard-Control-Plane-MCP/server.py"], "env": { "ZSCALER_CLIENT_ID": "...", "ZSCALER_CLIENT_SECRET": "...", "ZSCALER_VANITY_DOMAIN": "..." } } } }
3. Cursor IDE
In Cursor Settings > Features > MCP, add a new server:
- Name: zscaler-aiguard-control-plane-mcp
- Type: command
- Command: uv run fastmcp run /path/to/Zscaler-AI-Guard-Control-Plane-MCP/server.py
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.