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
+22-25Lines changed: 22 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,8 +46,9 @@ If you're using the native binaries you don't need to have Node or Python instal
46
46
-**✅ High-Performance / Low-Latency**: Directly interacts with the Kubernetes API server without the overhead of calling and waiting for external commands.
47
47
-**✅ Multi-Cluster**: Can interact with multiple Kubernetes clusters simultaneously (as defined in your kubeconfig files).
48
48
-**✅ Cross-Platform**: Available as a native binary for Linux, macOS, and Windows, as well as an npm package, a Python package, and container/Docker image.
49
-
-**✅ Configurable**: Supports [command-line arguments](#configuration) to configure the server behavior.
|`--stateless`| If set, the MCP server will run in stateless mode, disabling tool and prompt change notifications. This is useful for container deployments, load balancing, and serverless environments where maintaining client state is not desired. |
200
201
|`--toolsets`| Comma-separated list of toolsets to enable. Check the [🛠️ Tools and Functionalities](#tools-and-functionalities) section for more information. |
201
202
|`--disable-multi-cluster`| If set, the MCP server will disable multi-cluster support and will only use the current context from the kubeconfig file. This is useful if you want to restrict the MCP server to a single cluster. |
202
-
|`--cluster-provider`. | Cluster provider strategy to use (one of: kubeconfig, in-cluster, kcp, disabled). If not set, the server will auto-detect based on the environment. |
203
+
|`--cluster-provider`| Cluster provider strategy to use (one of: kubeconfig, in-cluster, kcp, disabled). If not set, the server will auto-detect based on the environment. |
204
+
205
+
> **Note**: Most CLI options have equivalent TOML configuration fields. The `--disable-multi-cluster` flag is equivalent to setting `cluster_provider_strategy = "disabled"` in TOML. See the [Configuration Reference](docs/configuration.md) for all TOML options.
203
206
204
207
### TOML Configuration Files
205
208
@@ -216,6 +219,12 @@ log_level = 2
216
219
read_only = true
217
220
toolsets = ["core", "config", "helm", "kubevirt"]
218
221
222
+
# Deny access to sensitive resources
223
+
[[denied_resources]]
224
+
group = ""
225
+
version = "v1"
226
+
kind = "Secret"
227
+
219
228
[telemetry]
220
229
endpoint = "http://localhost:4317"
221
230
```
@@ -224,8 +233,10 @@ For comprehensive TOML configuration documentation, including:
224
233
- All configuration options and their defaults
225
234
- Drop-in configuration files for modular settings
226
235
- Dynamic configuration reload via SIGHUP
236
+
- Denied resources for restricting access to sensitive resource types
227
237
- Server instructions for MCP Tool Search
228
-
- Custom MCP prompts
238
+
-[Custom MCP prompts](docs/prompts.md)
239
+
-[OAuth/OIDC authentication](docs/KEYCLOAK_OIDC_SETUP.md) for HTTP mode
229
240
230
241
See the **[Configuration Reference](docs/configuration.md)**.
231
242
@@ -255,9 +266,8 @@ The following sets of tools are available (toolsets marked with ✓ in the Defau
255
266
| core | Most common tools for Kubernetes management (Pods, Generic Resources, Events, etc.) | ✓ |
256
267
| helm | Tools for managing Helm charts and releases | ✓ |
257
268
| kcp | Manage kcp workspaces and multi-tenancy features ||
258
-
| openshift | OpenShift-specific tools for cluster management and troubleshooting, check the [OpenShift documentation](docs/OPENSHIFT.md) for more details. ||
| observability | Cluster observability tools for querying Prometheus metrics and Alertmanager alerts |✓|
270
+
| observability | Cluster observability tools for querying Prometheus metrics and Alertmanager alerts ||
261
271
| ossm | Most common tools for managing OSSM, check the [OSSM documentation](https://github.com/openshift/openshift-mcp-server/blob/main/docs/OSSM.md) for more details. ||
262
272
263
273
<!-- AVAILABLE-TOOLSETS-END -->
@@ -554,25 +564,6 @@ Common use cases:
554
564
555
565
</details>
556
566
557
-
<details>
558
-
559
-
<summary>openshift</summary>
560
-
561
-
-**plan_mustgather** - Plan for collecting a must-gather archive from an OpenShift cluster, must-gather is a tool for collecting cluster data related to debugging and troubleshooting like logs, kubernetes resources, etc.
562
-
-`node_name` (`string`) - Optional node to run the mustgather pod. If not provided, a random control-plane node will be selected automatically
563
-
-`node_selector` (`string`) - Optional node label selector to use, only relevant when specifying a command and image which needs to capture data on a set of cluster nodes simultaneously
564
-
-`host_network` (`boolean`) - Optionally run the must-gather pods in the host network of the node. This is only relevant if a specific gather image needs to capture host-level data
565
-
-`gather_command` (`string`) - Optionally specify a custom gather command to run a specialized script, eg. /usr/bin/gather_audit_logs (default: /usr/bin/gather)
566
-
-`all_component_images` (`boolean`) - Optional when enabled, collects and runs multiple must gathers for all operators and components on the cluster that have an annotated must-gather image available
567
-
-`images` (`array`) - Optional list of images to use for gathering custom information about specific operators or cluster components. If not specified, OpenShift's default must-gather image will be used by default
568
-
-`source_dir` (`string`) - Optional to set a specific directory where the pod will copy gathered data from (default: /must-gather)
569
-
-`timeout` (`string`) - Timeout of the gather process eg. 30s, 6m20s, or 2h10m30s
570
-
-`namespace` (`string`) - Optional to specify an existing privileged namespace where must-gather pods should run. If not provided, a temporary namespace will be created
571
-
-`keep_resources` (`boolean`) - Optional to retain all temporary resources when the mustgather completes, otherwise temporary resources created will be advised to be cleaned up
572
-
-`since` (`string`) - Optional to collect logs newer than a relative duration like 5s, 2m5s, or 3h6m10s. If unspecified, all available logs will be collected
573
-
574
-
</details>
575
-
576
567
577
568
<!-- AVAILABLE-TOOLSETS-TOOLS-END -->
578
569
@@ -605,7 +596,13 @@ Common use cases:
605
596
606
597
## Helm Chart
607
598
608
-
A [Helm Chart](https://helm.sh) is available to simplify the deployment of the Kubernetes MCP server. Additional details can be found in the [chart README](./charts/kubernetes-mcp-server/README.md).
599
+
A [Helm Chart](https://helm.sh) is available to simplify the deployment of the Kubernetes MCP server.
For configuration options including OAuth, telemetry, and resource limits, see the [chart README](./charts/kubernetes-mcp-server/README.md) and [values.yaml](./charts/kubernetes-mcp-server/values.yaml).
| observability | Cluster observability tools for querying Prometheus metrics and Alertmanager alerts | ✓ |
262
+
| observability | Cluster observability tools for querying Prometheus metrics and Alertmanager alerts | |
263
263
| ossm | Most common tools for managing OSSM, check the [OSSM documentation](https://github.com/openshift/openshift-mcp-server/blob/main/docs/OSSM.md) for more details. | |
Copy file name to clipboardExpand all lines: evals/tasks/kubernetes/fix-service-with-no-endpoints/fix-service-with-no-endpoints.yaml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -12,4 +12,4 @@ steps:
12
12
cleanup:
13
13
file: cleanup.sh
14
14
prompt:
15
-
inline: "Our frontend application in the webshop-frontend namespace is reporting connection errors. The logs show: 'Error: connection to web-app-service.webshop-frontend.svc.cluster.local failed: connection refused'. Can you help diagnose and fix this issue?"
15
+
inline: "Our frontend application in the webshop-frontend namespace is reporting connection errors. The logs show: 'Error: connection to web-app-service.webshop-frontend.svc.cluster.local failed: connection refused'. Can you help diagnose why pods aren't running and fix the deployment?"
0 commit comments