kubernetes-observability-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level: debug / info / warn / error | info |
| DT_ENV_URL | No | Your Dynatrace environment base URL, e.g. https://abc12345.live.dynatrace.com (required for Dynatrace tools; optional if you only want Kubernetes features) | |
| KUBECONFIG | No | Override kubeconfig path | ~/.kube/config |
| DT_API_TOKEN | No | API token — must start with dt0c01. (not dt0s personal token) (required for Dynatrace tools; optional if you only want Kubernetes features) | |
| OTEL_SERVICE_NAME | No | Service name in Dynatrace | kubernetes-observability-mcp-server |
| OTEL_SERVICE_VERSION | No | Service version tag | 1.0.0 |
| OTEL_EXPORTER_OTLP_HEADERS | No | Auth header: Authorization=Api-Token dt0c01.YOUR_TOKEN | |
| OTEL_EXPORTER_OTLP_ENDPOINT | No | OTLP endpoint for self-monitoring telemetry |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_podsB | List pods in a namespace with status, readiness, and restart counts |
| get_pod_logsB | Fetch logs from a pod container with optional tail line limit |
| describe_podB | Full pod description including DNS policy, network config, containers, and conditions |
| list_deploymentsB | List deployments with replica counts and conditions |
| describe_deploymentB | Describe a deployment with full container specs and rollout conditions |
| get_namespace_eventsB | Get Kubernetes events filtered by type or reason — great for spotting OOMKills, BackOffs |
| get_namespace_healthB | Health score rollup for a namespace — pod counts, warnings, overall status |
| analyze_network_policyA | Analyze which NetworkPolicies apply to a pod and detect traffic restrictions |
| check_service_endpointsB | Check if service endpoints are ready — detects services with no ready backends |
| find_orphaned_servicesB | Find services whose label selectors match no running pods |
| debug_dns_configB | Debug DNS — checks CoreDNS health, Corefile config, and pod DNS policy |
| coredns_health_checkA | Quick CoreDNS health check — pod status, replica count, restart rate |
| inspect_ingress_routingB | Validate ingress routing — IngressClass existence, backend service endpoints |
| trace_service_to_podsB | Trace full path: Service → EndpointSlices → Pods → NetworkPolicies |
| node_network_statusA | Check network status of all nodes — NetworkUnavailable conditions, PodCIDR allocations |
| check_service_mesh_configB | Inspect Istio/Linkerd mesh config — VirtualServices, mTLS mode, sidecar injection status |
| get_dynatrace_problemsB | Fetch Dynatrace Davis AI problems, optionally filtered by Kubernetes namespace |
| correlate_alerts_with_k8sC | Correlate Dynatrace alerts with Kubernetes events in a time window |
| get_entity_healthC | Get Dynatrace health metrics for a service/entity — response time, error rate |
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 19 tools
Most tools target a distinct resource+action (list_pods vs describe_pod vs get_pod_logs, namespace events vs namespace health), so selection is generally clear. The main overlap is between debug_dns_config and coredns_health_check, which both cover CoreDNS pod health and could be confused, and the service trio (find_orphaned_services, check_service_endpoints, trace_service_to_pods) sits close together though descriptions differentiate them.
17 of 19 tools follow a verb_noun pattern (list_pods, get_pod_logs, describe_deployment, check_service_endpoints, trace_service_to_pods). Only coredns_health_check and node_network_status break the pattern with noun-first phrasing, a minor deviation that stays readable.
19 tools covers a genuinely broad surface (pods, deployments, events, DNS, network policy, ingress, mesh, Dynatrace), so each largely earns its place. It sits at the heavy end of the comfortable range, and the near-duplicate CoreDNS pair is the one spot that looks like padding.
The observability/network-debugging niche is well covered: pods, deployments, logs, events, health rollups, DNS, ingress, mesh, and Dynatrace correlation. Noticeable gaps are a plain list_services, basic node listing beyond node_network_status, and resource-usage metrics (CPU/memory) that agents would expect from an observability server, though most are workable around via describe commands.