You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -110,82 +110,82 @@ The server dynamically filters the available tools based on the permissions asso
110
110
111
111
- **`kubernetes_list_clusters`**
112
112
- **Description**: Lists the cluster information for all clusters or just the cluster specified.
113
-
- **Required Permission**: `promql.exec`
113
+
- **Required Permission**: `metrics-data.read`
114
114
- **Sample Prompt**: "List all kubernetes clusters" or "Show me info for cluster 'production-gke'"
115
115
116
116
- **`kubernetes_list_nodes`**
117
117
- **Description**: Lists the node information for all nodes, all nodes from a cluster or just the node specified.
118
-
- **Required Permission**: `promql.exec`
118
+
- **Required Permission**: `metrics-data.read`
119
119
- **Sample Prompt**: "List all kubernetes nodes in the cluster 'production-gke'" or "Show me info for node 'node-123'"
120
120
121
121
- **`kubernetes_list_workloads`**
122
122
- **Description**: Lists all the workloads that are in a particular state, desired, ready, running or unavailable. The LLM can filter by cluster, namespace, workload name or type.
123
-
- **Required Permission**: `promql.exec`
123
+
- **Required Permission**: `metrics-data.read`
124
124
- **Sample Prompt**: "List all desired workloads in the cluster 'production-gke' and namespace 'default'"
125
125
126
126
- **`kubernetes_list_pod_containers`**
127
127
- **Description**: Retrieves information from a particular pod and container.
128
-
- **Required Permission**: `promql.exec`
128
+
- **Required Permission**: `metrics-data.read`
129
129
- **Sample Prompt**: "Show me info for pod 'my-pod' in cluster 'production-gke'"
130
130
131
131
- **`kubernetes_list_cronjobs`**
132
132
- **Description**: Retrieves information from the cronjobs in the cluster.
133
-
- **Required Permission**: `promql.exec`
133
+
- **Required Permission**: `metrics-data.read`
134
134
- **Sample Prompt**: "List all cronjobs in cluster 'prod' and namespace 'default'"
- **Description**: Shows the top N pods with the highest number of unavailable or unready replicas in a Kubernetes cluster, ordered from highest to lowest.
138
-
- **Required Permission**: `promql.exec`
138
+
- **Required Permission**: `metrics-data.read`
139
139
- **Sample Prompt**: "Show the top 20 unavailable pods in cluster 'production'"
- **Description**: Lists the pods with the highest number of container restarts in the specified scope (cluster, namespace, workload, or individual pod). By default, it returns the top 10.
143
-
- **Required Permission**: `promql.exec`
143
+
- **Required Permission**: `metrics-data.read`
144
144
- **Sample Prompt**: "Show the top 10 pods with the most container restarts in cluster 'production'"
- **Description**: Lists the pods with the highest rate of HTTP 4xx and 5xx errors over a specified time interval, allowing filtering by cluster, namespace, workload type, and workload name.
148
-
- **Required Permission**: `promql.exec`
148
+
- **Required Permission**: `metrics-data.read`
149
149
- **Sample Prompt**: "Show the top 20 pods with the most HTTP errors in cluster 'production'"
- **Description**: Shows the top network errors by pod over a given interval, aggregated by cluster, namespace, workload type, and workload name. The result is an average rate of network errors per second.
153
-
- **Required Permission**: `promql.exec`
153
+
- **Required Permission**: `metrics-data.read`
154
154
- **Sample Prompt**: "Show the top 10 pods with the most network errors in cluster 'production'"
Copy file name to clipboardExpand all lines: internal/infra/mcp/tools/README.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,22 +9,22 @@ The handler filters tools dynamically based on the Sysdig user's permissions. Ea
9
9
|`get_event_process_tree`|`tool_get_event_process_tree.go`| Retrieve the process tree for an event when available. |`policy-events.read`| “Show the process tree behind event `abc123`.” |
10
10
|`run_sysql`|`tool_run_sysql.go`| Execute caller-supplied Sysdig SysQL queries safely. |`sage.exec`, `risks.read`| “Run the following SysQL…”. |
11
11
|`generate_sysql`|`tool_generate_sysql.go`| Convert natural language to SysQL via Sysdig Sage. |`sage.exec` (does not work with Service Accounts) | “Create a SysQL to list S3 buckets.” |
|`kubernetes_list_nodes`|`tool_kubernetes_list_nodes.go`| Lists Kubernetes node information. |`promql.exec`| "List all Kubernetes nodes in the cluster 'production-gke'" |
14
-
|`kubernetes_list_workloads`|`tool_kubernetes_list_workloads.go`| Lists Kubernetes workload information. |`promql.exec`| "List all desired workloads in the cluster 'production-gke' and namespace 'default'" |
15
-
|`kubernetes_list_pod_containers`|`tool_kubernetes_list_pod_containers.go`| Retrieves information from a particular pod and container. |`promql.exec`| "Show me info for pod 'my-pod' in cluster 'production-gke'" |
16
-
|`kubernetes_list_cronjobs`|`tool_kubernetes_list_cronjobs.go`| Retrieves information from the cronjobs in the cluster. |`promql.exec`| "List all cronjobs in cluster 'prod' and namespace 'default'" |
17
-
|`troubleshoot_kubernetes_list_top_unavailable_pods`|`tool_troubleshoot_kubernetes_list_top_unavailable_pods.go`| Shows the top N pods with the highest number of unavailable or unready replicas. |`promql.exec`| "Show the top 20 unavailable pods in cluster 'production'" |
18
-
|`troubleshoot_kubernetes_list_top_restarted_pods`|`tool_troubleshoot_kubernetes_list_top_restarted_pods.go`| Lists the pods with the highest number of container restarts. |`promql.exec`| "Show the top 10 pods with the most container restarts in cluster 'production'" |
19
-
|`troubleshoot_kubernetes_list_top_400_500_http_errors_in_pods`|`tool_troubleshoot_kubernetes_list_top_400_500_http_errors_in_pods.go`| Lists the pods with the highest rate of HTTP 4xx and 5xx errors over a specified time interval. |`promql.exec`| "Show the top 20 pods with the most HTTP errors in cluster 'production'" |
20
-
|`troubleshoot_kubernetes_list_top_network_errors_in_pods`|`tool_troubleshoot_kubernetes_list_top_network_errors_in_pods.go`| Shows the top network errors by pod over a given interval. |`promql.exec`| "Show the top 10 pods with the most network errors in cluster 'production'" |
21
-
|`troubleshoot_kubernetes_list_count_pods_per_cluster`|`tool_troubleshoot_kubernetes_list_count_pods_per_cluster.go`| List the count of running Kubernetes Pods grouped by cluster and namespace. |`promql.exec`| "List the count of running Kubernetes Pods in cluster 'production'" |
22
-
|`troubleshoot_kubernetes_list_underutilized_pods_by_cpu_quota`|`tool_troubleshoot_kubernetes_list_underutilized_pods_by_cpu_quota.go`| List Kubernetes pods with CPU usage below 25% of the quota limit. |`promql.exec`| "Show the top 10 underutilized pods by CPU quota in cluster 'production'" |
23
-
|`troubleshoot_kubernetes_list_underutilized_pods_by_memory_quota`|`tool_troubleshoot_kubernetes_list_underutilized_pods_by_memory_quota.go`| List Kubernetes pods with memory usage below 25% of the limit. |`promql.exec`| "Show the top 10 underutilized pods by memory quota in cluster 'production'" |
24
-
|`troubleshoot_kubernetes_list_top_cpu_consumed_by_workload`|`tool_troubleshoot_kubernetes_list_top_cpu_consumed_by_workload.go`| Identifies the Kubernetes workloads (all containers) consuming the most CPU (in cores). |`promql.exec`| "Show the top 10 workloads consuming the most CPU in cluster 'production'" |
25
-
|`troubleshoot_kubernetes_list_top_cpu_consumed_by_container`|`tool_troubleshoot_kubernetes_list_top_cpu_consumed_by_container.go`| Identifies the Kubernetes containers consuming the most CPU (in cores). |`promql.exec`| "Show the top 10 containers consuming the most CPU in cluster 'production'" |
26
-
|`troubleshoot_kubernetes_list_top_memory_consumed_by_workload`|`tool_troubleshoot_kubernetes_list_top_memory_consumed_by_workload.go`| Lists memory-intensive workloads (all containers). |`promql.exec`| "Show the top 10 workloads consuming the most memory in cluster 'production'" |
27
-
|`troubleshoot_kubernetes_list_top_memory_consumed_by_container`|`tool_troubleshoot_kubernetes_list_top_memory_consumed_by_container.go`| Lists memory-intensive containers. |`promql.exec`| "Show the top 10 containers consuming the most memory in cluster 'production'" |
|`kubernetes_list_nodes`|`tool_kubernetes_list_nodes.go`| Lists Kubernetes node information. |`metrics-data.read`| "List all Kubernetes nodes in the cluster 'production-gke'" |
14
+
|`kubernetes_list_workloads`|`tool_kubernetes_list_workloads.go`| Lists Kubernetes workload information. |`metrics-data.read`| "List all desired workloads in the cluster 'production-gke' and namespace 'default'" |
15
+
|`kubernetes_list_pod_containers`|`tool_kubernetes_list_pod_containers.go`| Retrieves information from a particular pod and container. |`metrics-data.read`| "Show me info for pod 'my-pod' in cluster 'production-gke'" |
16
+
|`kubernetes_list_cronjobs`|`tool_kubernetes_list_cronjobs.go`| Retrieves information from the cronjobs in the cluster. |`metrics-data.read`| "List all cronjobs in cluster 'prod' and namespace 'default'" |
17
+
|`troubleshoot_kubernetes_list_top_unavailable_pods`|`tool_troubleshoot_kubernetes_list_top_unavailable_pods.go`| Shows the top N pods with the highest number of unavailable or unready replicas. |`metrics-data.read`| "Show the top 20 unavailable pods in cluster 'production'" |
18
+
|`troubleshoot_kubernetes_list_top_restarted_pods`|`tool_troubleshoot_kubernetes_list_top_restarted_pods.go`| Lists the pods with the highest number of container restarts. |`metrics-data.read`| "Show the top 10 pods with the most container restarts in cluster 'production'" |
19
+
|`troubleshoot_kubernetes_list_top_400_500_http_errors_in_pods`|`tool_troubleshoot_kubernetes_list_top_400_500_http_errors_in_pods.go`| Lists the pods with the highest rate of HTTP 4xx and 5xx errors over a specified time interval. |`metrics-data.read`| "Show the top 20 pods with the most HTTP errors in cluster 'production'" |
20
+
|`troubleshoot_kubernetes_list_top_network_errors_in_pods`|`tool_troubleshoot_kubernetes_list_top_network_errors_in_pods.go`| Shows the top network errors by pod over a given interval. |`metrics-data.read`| "Show the top 10 pods with the most network errors in cluster 'production'" |
21
+
|`troubleshoot_kubernetes_list_count_pods_per_cluster`|`tool_troubleshoot_kubernetes_list_count_pods_per_cluster.go`| List the count of running Kubernetes Pods grouped by cluster and namespace. |`metrics-data.read`| "List the count of running Kubernetes Pods in cluster 'production'" |
22
+
|`troubleshoot_kubernetes_list_underutilized_pods_by_cpu_quota`|`tool_troubleshoot_kubernetes_list_underutilized_pods_by_cpu_quota.go`| List Kubernetes pods with CPU usage below 25% of the quota limit. |`metrics-data.read`| "Show the top 10 underutilized pods by CPU quota in cluster 'production'" |
23
+
|`troubleshoot_kubernetes_list_underutilized_pods_by_memory_quota`|`tool_troubleshoot_kubernetes_list_underutilized_pods_by_memory_quota.go`| List Kubernetes pods with memory usage below 25% of the limit. |`metrics-data.read`| "Show the top 10 underutilized pods by memory quota in cluster 'production'" |
24
+
|`troubleshoot_kubernetes_list_top_cpu_consumed_by_workload`|`tool_troubleshoot_kubernetes_list_top_cpu_consumed_by_workload.go`| Identifies the Kubernetes workloads (all containers) consuming the most CPU (in cores). |`metrics-data.read`| "Show the top 10 workloads consuming the most CPU in cluster 'production'" |
25
+
|`troubleshoot_kubernetes_list_top_cpu_consumed_by_container`|`tool_troubleshoot_kubernetes_list_top_cpu_consumed_by_container.go`| Identifies the Kubernetes containers consuming the most CPU (in cores). |`metrics-data.read`| "Show the top 10 containers consuming the most CPU in cluster 'production'" |
26
+
|`troubleshoot_kubernetes_list_top_memory_consumed_by_workload`|`tool_troubleshoot_kubernetes_list_top_memory_consumed_by_workload.go`| Lists memory-intensive workloads (all containers). |`metrics-data.read`| "Show the top 10 workloads consuming the most memory in cluster 'production'" |
27
+
|`troubleshoot_kubernetes_list_top_memory_consumed_by_container`|`tool_troubleshoot_kubernetes_list_top_memory_consumed_by_container.go`| Lists memory-intensive containers. |`metrics-data.read`| "Show the top 10 containers consuming the most memory in cluster 'production'" |
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
WithRequiredPermissions(), // FIXME(fede): Add the required permissions. It should be `promql.exec` but somehow the token does not have that permission even if you are able to execute queries.
0 commit comments