EKS Metrics MCP Server
Fetches and filters metrics from Amazon EKS clusters via the Kubernetes API server's /metrics endpoint.
Queries Kubernetes API server metrics, including exact metric name and label-based filtering.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EKS Metrics MCP Serverget apiserver_request_total metrics"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EKS Metrics MCP Server
Python MCP server for querying Amazon EKS cluster metrics.
Implemented now:
Kubernetes API server
/metrics, equivalent tokubectl get --raw /metricsMetric filtering by exact metric name, metric name regex, and labels
A source selector that currently supports
api_serverand reservescloudwatch
CloudWatch metric collection is intentionally left as a future extension.
Install
python3.11 -m pip install -e .The MCP Python SDK requires Python 3.10 or newer. If python points to Python
3.9, use python3.11 or another Python 3.10+ interpreter in both installation
and MCP client configuration.
The server uses the Kubernetes Python client. Authentication follows the same
configuration sources as kubectl:
In-cluster service account credentials when running inside Kubernetes
Local kubeconfig from
KUBECONFIGor~/.kube/configOptional per-call
kube_contextandkubeconfig_pathtool arguments
The Kubernetes identity must be allowed to call the API server non-resource URL
/metrics.
Related MCP server: MCP Datadog Playcourt
Run
eks-metrics-mcp-serveror:
python3.11 -m eks_metrics_mcp_server.serverCodex MCP config
[mcp_servers.eks-metrics]
enabled = true
command = "python3.11"
args = ["-m", "eks_metrics_mcp_server.server"]
cwd = "/root/eks-metrics-server/eks-metrics-mcp-server"
[mcp_servers.eks-metrics.env]
PYTHONPATH = "/root/eks-metrics-server/eks-metrics-mcp-server/src"MCP Tools
get_eks_metrics
Fetch metrics from the selected source.
Important arguments:
source:api_serverorcloudwatch; onlyapi_serveris implementedmetric_name: exact Prometheus metric namemetric_name_pattern: regular expression for metric nameslabel_selectors: label key/value filterslimit: maximum returned samplesinclude_raw: include original Prometheus sample linekube_context: kubeconfig context to usekubeconfig_path: kubeconfig path to use
Example metric names from Kubernetes API server metrics include
apiserver_request_total, apiserver_request_duration_seconds_bucket, and
apiserver_current_inflight_requests.
list_api_server_metric_names
Return metric names available from /metrics, including type/help metadata and
sample counts.
Kubernetes RBAC
For an in-cluster deployment, bind a service account to a role that can read
the /metrics non-resource URL:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: eks-metrics-mcp-api-server-metrics
rules:
- nonResourceURLs:
- /metrics
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: eks-metrics-mcp-api-server-metrics
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: eks-metrics-mcp-api-server-metrics
subjects:
- kind: ServiceAccount
name: eks-metrics-mcp
namespace: defaultMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/normalzzz/eks-metrics-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server