ocp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| register_clusterA | Register an OpenShift cluster by acquiring an OAuth token. The first registered cluster automatically becomes the default. Provide oauth_url when OAuth is served from a dedicated hostname. Set set_default=True to make this cluster the default when registering additional clusters. |
| list_clustersA | List all registered clusters (no tokens or passwords exposed). |
| list_standard_clustersA | List built-in cluster aliases and API/OAuth URLs for dev/uat/prod environments. |
| register_standard_clustersA | Register all built-in cluster aliases in one call. By default, top-level username/password are used for every alias. Use credentials_by_alias to override credentials per alias. |
| set_default_clusterA | Set the default cluster used when no cluster_alias is provided to other tools. |
| remove_clusterA | Remove a registered cluster. If it was the default, the next registered cluster becomes default. |
| refresh_cluster_tokenA | Re-authenticate and refresh the OAuth token for a cluster. Uses the default cluster if alias is not provided. |
| list_deploymentsB | List all Deployments in a namespace. |
| get_deploymentC | Get detailed information about a specific Deployment. |
| scale_deploymentB | Scale a Deployment to the specified number of replicas. |
| rollout_restartB | Trigger a rolling restart of a Deployment by patching the pod template annotation. |
| get_deployment_rollout_statusA | Get the rollout status of a Deployment including progress and conditions. |
| get_deployment_revision_historyB | List the revision history (ReplicaSets) for a Deployment. |
| rollback_deploymentA | Roll back a Deployment to a previous revision. If revision is not specified, rolls back to the previous revision. Uses ReplicaSet history to find the target revision's pod template. |
| list_hpasB | List all HorizontalPodAutoscalers in a namespace. |
| get_hpaB | Get detailed information about a specific HorizontalPodAutoscaler. |
| list_podsB | List all Pods in a namespace. |
| get_podC | Get detailed information about a specific Pod. |
| list_namespacesB | List all namespaces (projects) in the cluster. |
| list_servicesC | List all Services in a namespace. |
| delete_resourceB | Delete a Kubernetes resource by kind and name. Supported kinds: Pod, Deployment, Service, ConfigMap, HorizontalPodAutoscaler |
| get_deployment_image_infoB | Get image repository, tag, and version label for a specific Deployment. |
| list_deployments_image_infoA | Get image repository, tag, and version label for all Deployments in a namespace. |
| get_pod_logsA | Get logs from a Pod. Options:
|
| get_all_container_logsA | Get logs from ALL containers in a multi-container Pod. Returns a dict mapping container name to its log output. |
| get_previous_pod_logsA | Get logs from the previous (crashed/terminated) instance of a pod container. Shortcut for get_pod_logs(..., previous=True). |
| list_eventsA | List events in a namespace, sorted by last timestamp descending. |
| get_pod_eventsC | Get events for a specific Pod. |
| list_configmapsB | List all ConfigMaps in a namespace. |
| get_configmapC | Get a ConfigMap including its data. |
| list_secretsA | List all Secrets in a namespace (metadata only, no secret data exposed). |
| get_secret_metadataA | Get Secret metadata (type, keys, labels). Secret values are NOT returned for security. |
| list_statefulsetsB | List all StatefulSets in a namespace. |
| get_statefulsetB | Get detailed information about a specific StatefulSet. |
| scale_statefulsetB | Scale a StatefulSet to the specified number of replicas. |
| list_daemonsetsA | List all DaemonSets in a namespace. |
| get_daemonsetB | Get detailed information about a specific DaemonSet. |
| list_replicasetsB | List all ReplicaSets in a namespace. |
| list_jobsC | List all Jobs in a namespace. |
| get_jobB | Get detailed information about a specific Job. |
| list_cronjobsB | List all CronJobs in a namespace. |
| get_cronjobB | Get detailed information about a specific CronJob. |
| list_nodesC | List all nodes in the cluster with status and capacity info. |
| get_nodeB | Get detailed information about a specific node. |
| list_pvcsB | List all PersistentVolumeClaims in a namespace. |
| get_pvcB | Get detailed information about a specific PersistentVolumeClaim. |
| list_routesB | List all OpenShift Routes in a namespace. |
| get_routeB | Get detailed information about a specific OpenShift Route. |
| list_ingressesB | List all Ingresses in a namespace. |
| get_ingressB | Get detailed information about a specific Ingress. |
| list_network_policiesA | List all NetworkPolicies in a namespace. |
| list_terminating_podsA | List pods stuck in Terminating state. A pod is considered terminating if it has a deletion_timestamp set. |
| force_delete_podB | Force-delete a pod stuck in Terminating state (grace_period_seconds=0). Use this when a pod will not terminate normally and is stuck. |
| force_delete_all_terminating_podsB | Force-delete ALL pods stuck in Terminating state in a namespace. |
| list_failing_podsB | List pods that are in error states: CrashLoopBackOff, ImagePullBackOff, ErrImagePull, OOMKilled, etc. |
| list_pods_not_readyC | List pods where at least one container is not ready. |
| top_podsA | Get real-time CPU and memory usage for all pods in a namespace (like 'oc adm top pods'). |
| top_podC | Get real-time CPU and memory usage for a specific pod. |
| top_nodesB | Get real-time CPU and memory usage for all nodes (like 'oc adm top nodes'). |
| pod_resource_usage_vs_requestsA | Compare actual pod resource usage against configured requests/limits. Useful for right-sizing: identifies over-provisioned and under-provisioned pods. |
| list_resource_quotasA | List all ResourceQuotas in a namespace with used vs hard limits. |
| list_limit_rangesB | List all LimitRanges in a namespace. |
| list_service_accountsC | List all ServiceAccounts in a namespace. |
| list_buildconfigsB | List all OpenShift BuildConfigs in a namespace. |
| get_buildconfigC | Get detailed information about an OpenShift BuildConfig. |
| list_buildsB | List all OpenShift Builds in a namespace. |
| get_buildC | Get detailed information about an OpenShift Build. |
| list_imagestreamsB | List all OpenShift ImageStreams in a namespace. |
| get_imagestreamB | Get detailed information about an OpenShift ImageStream including all tags. |
| list_prometheus_rulesA | List all PrometheusRules (alerting/recording rules) in a namespace. |
| get_prometheus_ruleB | Get detailed PrometheusRule including all alerting and recording rules. |
| list_service_monitorsC | List all ServiceMonitors in a namespace (Prometheus scrape targets). |
| list_pod_monitorsA | List all PodMonitors in a namespace (Prometheus pod scrape targets). |
| list_alertmanager_configsA | List AlertmanagerConfig resources in a namespace. |
| list_deploymentconfigsB | List all OpenShift DeploymentConfigs in a namespace. |
| get_deploymentconfigC | Get detailed information about an OpenShift DeploymentConfig. |
| scale_deploymentconfigB | Scale an OpenShift DeploymentConfig to the specified number of replicas. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 77 tools
Most tools target distinct resource types (list_* vs get_* per kind), and overlap is limited to a few areas like logs (get_pod_logs, get_all_container_logs, get_previous_pod_logs) and deployment operations (rollout_restart, rollback_deployment, get_deployment_revision_history). Descriptions clarify these related tools, so an agent can usually pick the right one, but the sheer number increases selection risk.
The dominant pattern is verb_noun in snake_case (list_pods, get_deployment, scale_statefulset), which is predictable. However, there are deviations like rollout_restart (noun_verb), top_pods/top_nodes (no list/get prefix), and pod_resource_usage_vs_requests (descriptive phrase) that break the strict pattern.
With 77 tools, the surface is very large and far exceeds the typical well-scoped range. While OpenShift is broad, many tools are similar list/get variants for different resource kinds, making the server feel overloaded. This volume could overwhelm agents and increase decision cost.
The server covers a wide range of OpenShift resources with list/get, scaling, logs, events, and monitoring. However, there are notable gaps: no create/update for most resources, delete only for a few kinds, and missing some common resources like roles/rolebindings. Core operational workflows are present, but full lifecycle coverage is incomplete.