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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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