<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kyverno MCP Server on Nirmata Documentation</title><link>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/</link><description>Recent content in Kyverno MCP Server on Nirmata Documentation</description><generator>Hugo</generator><language>en</language><atom:link href="https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>Getting Started</title><link>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/getting-started/</guid><description>&lt;h2 id="quick-start">Quick Start&lt;/h2>
&lt;p>This guide will help you get started with Kyverno MCP in minutes.&lt;/p>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;p>Before you begin, ensure you have:&lt;/p>
&lt;ul>
&lt;li>Access to a Kubernetes cluster&lt;/li>
&lt;li>A valid kubeconfig file&lt;/li>
&lt;li>Kyverno installed in your cluster (optional, but recommended)&lt;/li>
&lt;/ul>
&lt;h3 id="step-1-install-kyverno-mcp">Step 1: Install Kyverno MCP&lt;/h3>
&lt;p>Choose your preferred installation method:&lt;/p>
&lt;h4 id="using-homebrew-macoslinux">Using Homebrew (macOS/Linux)&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>brew tap nirmata/tap
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>brew install kyverno-mcp
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#0a3069">```&lt;/span>json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#57606a">#### Download Binary&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Download the appropriate binary &lt;span style="color:#cf222e">for&lt;/span> your platform from the &lt;span style="color:#0550ae">[&lt;/span>Nirmata downloads page&lt;span style="color:#0550ae">](&lt;/span>https://downloads.nirmata.io/kyverno-mcp/downloads/&lt;span style="color:#0550ae">)&lt;/span>.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#57606a">### Step 2: Configure Your MCP Client&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Add Kyverno MCP to your MCP client configuration. For example, in Claude Desktop:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>1. Open your Claude Desktop configuration file:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - macOS: &lt;span style="color:#0a3069">`&lt;/span>~/Library/Application Support/Claude/claude_desktop_config.json&lt;span style="color:#0a3069">`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - Windows: &lt;span style="color:#0a3069">`&lt;/span>%APPDATA%&lt;span style="color:#0a3069">\C&lt;/span>laude&lt;span style="color:#0a3069">\c&lt;/span>laude_desktop_config.json&lt;span style="color:#0a3069">`&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>2. Add the Kyverno MCP server:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#0a3069">```&lt;/span>json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#0550ae">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0a3069">&amp;#34;mcpServers&amp;#34;&lt;/span>: &lt;span style="color:#0550ae">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0a3069">&amp;#34;kyverno&amp;#34;&lt;/span>: &lt;span style="color:#0550ae">{&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0a3069">&amp;#34;command&amp;#34;&lt;/span>: &lt;span style="color:#0a3069">&amp;#34;/path/to/kyverno-mcp&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0a3069">&amp;#34;args&amp;#34;&lt;/span>: &lt;span style="color:#0550ae">[&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0a3069">&amp;#34;--kubeconfig=/path/to/your/kubeconfig&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0550ae">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0550ae">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0550ae">}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#0550ae">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="step-3-test-the-connection">Step 3: Test the Connection&lt;/h3>
&lt;ol>
&lt;li>Start your MCP client (e.g., Claude Desktop)&lt;/li>
&lt;li>Ask about your Kubernetes contexts:&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>3. The assistant should be able to list your contexts using the `list_contexts` tool
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>### Step 4: Apply Your First Policy
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Try scanning your cluster with recommended policy sets for pod security, RBAC and Kubernetes best practices:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Scan my cluster for policy violations
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The assistant will use the &lt;code>apply_policies&lt;/code> tool to apply curated pod security policies.&lt;/p></description></item><item><title>Usage</title><link>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/usage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/usage/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>Kyverno MCP serves two primary use cases that address different stages of the Kubernetes policy management lifecycle. Whether you&amp;rsquo;re proactively assessing cluster security or monitoring existing policy deployments, these scenarios demonstrate how to leverage Kyverno MCP effectively.&lt;/p>
&lt;h2 id="scenario-1-proactive-assessment">Scenario 1: Proactive Assessment&lt;/h2>
&lt;p>In this scenario, Kyverno is not installed on your clusters. You can use the Kyverno MCP server to scan cluster resources with recommended or custom policy sets.&lt;/p>
&lt;h3 id="the-challenge">The Challenge&lt;/h3>
&lt;p>&lt;em>&amp;ldquo;As a DevOps engineer, I want to scan my Kubernetes clusters for policy violations and assess their security posture without needing to install Kyverno or deploy policies to the cluster.&amp;rdquo;&lt;/em>&lt;/p></description></item><item><title>Installation</title><link>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/installation/</guid><description>&lt;h2 id="installation-methods">Installation Methods&lt;/h2>
&lt;p>Kyverno MCP can be installed using several methods depending on your operating system and preferences.&lt;/p>
&lt;h3 id="prerequisites">Prerequisites&lt;/h3>
&lt;ul>
&lt;li>Go 1.24 or higher (only for building from source)&lt;/li>
&lt;li>Access to a Kubernetes cluster with a valid kubeconfig&lt;/li>
&lt;li>Kyverno installed in your cluster (for policy operations)&lt;/li>
&lt;/ul>
&lt;h3 id="option-1-homebrew-recommended-for-macoslinux">Option 1: Homebrew (Recommended for macOS/Linux)&lt;/h3>
&lt;p>The easiest way to install Kyverno MCP on macOS or Linux:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#57606a"># Add the Nirmata tap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>brew tap nirmata/tap
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#57606a"># Install Kyverno MCP&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>brew install kyverno-mcp
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#57606a"># Verify installation&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kyverno-mcp --version
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="option-2-pre-built-binaries">Option 2: Pre-built Binaries&lt;/h3>
&lt;p>Download pre-built binaries for your platform:&lt;/p></description></item><item><title>Available Tools</title><link>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/available-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/available-tools/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>Kyverno MCP provides several tools that AI assistants can use to interact with Kyverno and Kubernetes. Each tool is designed for specific operations and returns structured data.&lt;/p>
&lt;h2 id="context-management-tools">Context Management Tools&lt;/h2>
&lt;h3 id="list_contexts">list_contexts&lt;/h3>
&lt;p>Lists all available Kubernetes contexts from your kubeconfig.&lt;/p>
&lt;p>&lt;strong>Purpose&lt;/strong>: Discover available Kubernetes clusters/contexts&lt;/p>
&lt;p>&lt;strong>Example Request&lt;/strong>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>List all my available Kubernetes contexts
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Response**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;contexts&amp;#34;: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;name&amp;#34;: &amp;#34;production-cluster&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;cluster&amp;#34;: &amp;#34;prod-k8s&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;user&amp;#34;: &amp;#34;admin@prod&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;name&amp;#34;: &amp;#34;staging-cluster&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;cluster&amp;#34;: &amp;#34;staging-k8s&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;user&amp;#34;: &amp;#34;admin@staging&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;current&amp;#34;: &amp;#34;production-cluster&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>### switch_context
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Switches to a different Kubernetes context.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Purpose**: Change the active Kubernetes cluster
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Parameters**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- `context`: The name of the context to switch to
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Request**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Switch to the staging-cluster context
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Response**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;message&amp;#34;: &amp;#34;Switched to context: staging-cluster&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;previous&amp;#34;: &amp;#34;production-cluster&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;current&amp;#34;: &amp;#34;staging-cluster&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>## Policy Management Tools
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>### apply_policies
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Applies Kyverno policies from various sources.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Purpose**: Deploy policies to enforce security and compliance
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Parameters**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- `source`: The source of policies
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - Curated sets: `pod-security`, `rbac-best-practices`, `kubernetes-best-practices`, `all`
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - Git repository: `https://github.com/org/repo`
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - Local path: `/path/to/policies`
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- `namespace`: (Optional) Target namespace for policies
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Requests**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>1. Apply curated pod security policies:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Apply pod security policies to my cluster
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>2. Apply policies from a Git repository:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Apply policies from https://github.com/myorg/kyverno-policies
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>3. Apply all curated policies:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Apply all best practice policies to the cluster
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Response**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;message&amp;#34;: &amp;#34;Successfully applied 15 policies&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;policies&amp;#34;: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;disallow-privileged-containers&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;require-run-as-non-root&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;restrict-volume-types&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;source&amp;#34;: &amp;#34;pod-security&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>## Monitoring Tools
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>### show_violations
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Displays policy violations from PolicyReport and ClusterPolicyReport resources.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Purpose**: Monitor compliance and identify issues
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Parameters**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- `namespace`: (Optional) Filter violations by namespace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- `severity`: (Optional) Filter by severity level
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Requests**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>1. Show all violations:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Show me all policy violations in the cluster
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>2. Show violations in a specific namespace:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Show policy violations in the production namespace
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Response**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;violations&amp;#34;: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;policy&amp;#34;: &amp;#34;disallow-privileged-containers&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;resource&amp;#34;: &amp;#34;pod/webapp-xyz&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;namespace&amp;#34;: &amp;#34;production&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;severity&amp;#34;: &amp;#34;high&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;message&amp;#34;: &amp;#34;Privileged containers are not allowed&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;timestamp&amp;#34;: &amp;#34;2024-01-15T10:30:00Z&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;policy&amp;#34;: &amp;#34;require-resource-limits&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;resource&amp;#34;: &amp;#34;deployment/backend&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;namespace&amp;#34;: &amp;#34;staging&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;severity&amp;#34;: &amp;#34;medium&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;message&amp;#34;: &amp;#34;Container &amp;#39;api&amp;#39; does not have resource limits set&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;summary&amp;#34;: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;total&amp;#34;: 2,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;high&amp;#34;: 1,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;medium&amp;#34;: 1,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;low&amp;#34;: 0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**What this tool provides**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Current violation snapshots from PolicyReport CRs
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Individual violation details (policy, resource, namespace, severity, message)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Basic timestamps for when violations occurred
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Summary counts by severity level
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**What this tool does NOT provide**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Historical violation data or trends over time
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Policy set categorization (e.g., which violations belong to &amp;#34;kubernetes-best-practices&amp;#34;)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Aggregation capabilities (e.g., violation counts by namespace)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- PolicyReport metadata (creation times, report metadata)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- Trend analysis or time-based patterns
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Note**: If Kyverno is not installed, this tool will provide installation instructions.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>## Documentation Tool
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>### help
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Provides built-in documentation and guidance.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Purpose**: Access Kyverno documentation and troubleshooting help
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Parameters**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- `topic`: The help topic
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - `installation`: Kyverno installation guide
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - `troubleshooting`: Common issues and solutions
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Requests**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>1. Get installation help:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Show me how to install Kyverno
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>2. Get troubleshooting help:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```text
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Help me troubleshoot Kyverno issues
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```bash
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>**Example Response**:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;topic&amp;#34;: &amp;#34;installation&amp;#34;,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;content&amp;#34;: &amp;#34;To install Kyverno using Helm:\n\n1. Add the Kyverno Helm repository:\n helm repo add kyverno https://kyverno.github.io/kyverno/\n\n2. Install Kyverno:\n helm install kyverno kyverno/kyverno -n kyverno --create-namespace\n\n...&amp;#34;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>```json
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>## Tool Usage Best Practices
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>### 1. Context Awareness
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Always verify the current context before performing operations:
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>What Kubernetes context am I currently using?&lt;/p></description></item><item><title>Configuration</title><link>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/configuration/</guid><description>&lt;h2 id="configuration-overview">Configuration Overview&lt;/h2>
&lt;p>Kyverno MCP can be configured through command-line flags and MCP client configuration files. This guide covers all configuration options and best practices.&lt;/p>
&lt;h2 id="command-line-options">Command Line Options&lt;/h2>
&lt;h3 id="basic-options">Basic Options&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Flag&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Example&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>--kubeconfig&lt;/code>&lt;/td>
 &lt;td>Path to kubeconfig file&lt;/td>
 &lt;td>&lt;code>$KUBECONFIG&lt;/code> or &lt;code>~/.kube/config&lt;/code>&lt;/td>
 &lt;td>&lt;code>--kubeconfig=/path/to/config&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--help&lt;/code>&lt;/td>
 &lt;td>Show help message&lt;/td>
 &lt;td>-&lt;/td>
 &lt;td>&lt;code>--help&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--version&lt;/code>&lt;/td>
 &lt;td>Show version information&lt;/td>
 &lt;td>-&lt;/td>
 &lt;td>&lt;code>--version&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="network-options">Network Options&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Flag&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Example&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>--http-addr&lt;/code>&lt;/td>
 &lt;td>HTTP(S) server bind address&lt;/td>
 &lt;td>None (stdio mode)&lt;/td>
 &lt;td>&lt;code>--http-addr=:8443&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--tls-cert&lt;/code>&lt;/td>
 &lt;td>TLS certificate file path&lt;/td>
 &lt;td>None&lt;/td>
 &lt;td>&lt;code>--tls-cert=/path/to/cert.pem&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>--tls-key&lt;/code>&lt;/td>
 &lt;td>TLS private key file path&lt;/td>
 &lt;td>None&lt;/td>
 &lt;td>&lt;code>--tls-key=/path/to/key.pem&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="mcp-client-configuration">MCP Client Configuration&lt;/h2>
&lt;h3 id="claude-desktop">Claude Desktop&lt;/h3>
&lt;p>Location:&lt;/p></description></item><item><title>Troubleshooting</title><link>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.nirmata.io/docs/controllers/n4k/kyverno-mcp/troubleshooting/</guid><description>&lt;h2 id="common-issues">Common Issues&lt;/h2>
&lt;p>This guide covers common issues you might encounter when using Kyverno MCP and their solutions.&lt;/p>
&lt;h2 id="installation-issues">Installation Issues&lt;/h2>
&lt;h3 id="command-not-found">Command Not Found&lt;/h3>
&lt;p>&lt;strong>Problem&lt;/strong>: After installation, &lt;code>kyverno-mcp&lt;/code> command is not found.&lt;/p>
&lt;p>&lt;strong>Solution&lt;/strong>:&lt;/p>
&lt;ol>
&lt;li>Check if the binary is in your PATH:
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6639ba">echo&lt;/span> &lt;span style="color:#953800">$PATH&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>If using Homebrew, ensure it&amp;rsquo;s properly linked:
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>brew link kyverno-mcp
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>For manual installation, add to PATH:
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6639ba">export&lt;/span> &lt;span style="color:#953800">PATH&lt;/span>&lt;span style="color:#0550ae">=&lt;/span>&lt;span style="color:#953800">$PATH&lt;/span>:/path/to/kyverno-mcp
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6639ba">echo&lt;/span> &lt;span style="color:#0a3069">&amp;#39;export PATH=$PATH:/path/to/kyverno-mcp&amp;#39;&lt;/span> &amp;gt;&amp;gt; ~/.bashrc
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;/ol>
&lt;h3 id="permission-denied">Permission Denied&lt;/h3>
&lt;p>&lt;strong>Problem&lt;/strong>: Getting &amp;ldquo;permission denied&amp;rdquo; when trying to run kyverno-mcp.&lt;/p></description></item></channel></rss>