homelab-mcp
This MCP server lets an AI agent inspect and operate a Kubernetes/k3s cluster directly, abstracting away kubectl, with safety guardrails built in.
Read (Inspection) Capabilities
cluster_summary— High-level health overview: node/pod totals and a list of unhealthy pods; best starting point for triagelist_pods— List pods cluster-wide or by namespace, with unhealthy pods sorted firstlist_deployments— List deployments with ready vs. desired replica counts, optionally filtered by namespacelist_events— Recent cluster events, with warnings prioritized (configurable limit, default 30)pod_logs— Tail logs for a specific pod (configurable tail length, default 200 lines)node_health— Per-node readiness, kubelet version, resource capacity, and pressure conditionsserver_info— Effective server config: active kubeconfig context, read-only status, and mutable namespace allowlist
Write (Mutating) Capabilities (All gated by a namespace allowlist and a global read-only switch)
restart_deployment— Rollout-restart a deployment (allowlisted namespaces only)scale_deployment— Scale a deployment to a specified replica count (bounded 0–max, default max 10; allowlisted namespaces only)delete_pod— Delete a pod so its controller can recreate it (allowlisted namespaces only)
Safety Features
HOMELAB_MCP_READONLY=1disables all mutating tools globallyHOMELAB_MCP_MUTABLE_NAMESPACEScontrols which namespaces can be mutated (defaults:default,apps,monitoring,ci)HOMELAB_MCP_MAX_REPLICAScaps the scale limit (default: 10)The cluster's own RBAC permissions apply on top of these guardrails
Provides tools for inspecting and operating a k3s cluster, including pod, deployment, node health, events, and logs, with safety guards for mutations.
Provides tools for inspecting and operating a Kubernetes cluster, including pod, deployment, node health, events, and logs, with safety guards for mutations.
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., "@homelab-mcpShow me the cluster health summary"
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.
WhiteCapData-Dev
Operate a k3s / Kubernetes cluster straight from your AI agent — safe by default.
An MCP server that lets an agent (Claude Code, Claude Desktop, Cursor, …) inspect and operate a Kubernetes / k3s cluster — your homelab box, a dev cluster, whatever your kubeconfig points at — without shelling out to kubectl. It talks to the Kubernetes API directly using your existing kubeconfig (or an in-cluster service account).
The design goal is safe by default: reads are always on; every mutating action (restart / scale / delete) is gated before the API call by a read-only switch and a namespace allowlist, so an over-eager agent can't touch kube-system or nuke a deployment you didn't sandbox.
Name note: the PyPI package is
whitecapdata-dev(thehomelab-k8s-style name was taken); the import package and tools are k8s/homelab-focused as described here.
Why you'd want this
🩺 One-call health.
cluster_summarygives node + pod totals and the unhealthy pods, so the agent starts triage with real data.🔒 Safe by default. Mutations are blocked unless the namespace is on your allowlist; flip
HOMELAB_MCP_READONLY=1to make the whole server read-only.🧰 The operations you actually do. Pods, deployments, events, logs, node health, rollout-restart, scale, delete-pod.
🪶 No bespoke backend. Uses the standard Kubernetes API + your kubeconfig — nothing to deploy server-side.
✅ Tested. Pure logic is unit-tested with fakes; guard logic is tested against a mocked API. No cluster needed to run the suite.
Related MCP server: Kube MCP
Requirements
A reachable cluster and a working kubeconfig (the same one
kubectluses), or run it in-cluster with a service account.Python 3.11+ (or just
uvx).
Install
uvx whitecapdata-dev # run directly
# or
pip install whitecapdata-dev # then run: whitecapdata-devClaude Code
claude mcp add homelab -- uvx whitecapdata-devClaude Desktop / Cursor
{
"mcpServers": {
"homelab": {
"command": "uvx",
"args": ["whitecapdata-dev"],
"env": {
"HOMELAB_MCP_MUTABLE_NAMESPACES": "default,apps,monitoring",
"HOMELAB_MCP_READONLY": "0"
}
}
}
}Run with Docker
A Dockerfile is included. The server speaks MCP over stdio and reaches
your cluster through a mounted kubeconfig. Run interactively (-i), starting read-only:
docker build -t whitecapdata-dev .
docker run --rm -i \
-v "$HOME/.kube/config:/home/app/.kube/config:ro" \
-e HOMELAB_MCP_READONLY=1 \
whitecapdata-devTools
Tool | Kind | Description |
| read | Node/pod health totals + unhealthy pods |
| read | Pods (optionally one namespace), unhealthy first |
| read | Deployments with ready/desired replicas |
| read | Recent events, Warnings first |
| read | Tail a pod's logs |
| read | Per-node readiness, kubelet, capacity, pressure |
| write | Rollout-restart (allowlisted namespaces) |
| write | Scale to N replicas (0..max, allowlisted) |
| write | Delete a pod; its controller recreates it (allowlisted) |
| read | Effective config (context, read-only, allowlist) |
Configuration
Variable | Default | Description |
| current-context | kubeconfig context to use |
|
|
|
|
| Namespaces mutations may touch; |
|
| Upper bound for |
Safety model
Read-only switch —
HOMELAB_MCP_READONLY=1rejects every mutating tool up front.Namespace allowlist — mutating tools refuse any namespace not in
HOMELAB_MCP_MUTABLE_NAMESPACES(default a homelab-friendly set;*opts into all).Bounded scale —
scale_deploymentclamps to0..HOMELAB_MCP_MAX_REPLICAS.
The cluster's own RBAC still applies on top — this server can only do what the kubeconfig identity is permitted to do.
Development
git clone https://github.com/Michael-WhiteCapData/WhiteCapData-Dev
cd WhiteCapData-Dev
uv pip install -e ".[dev]"
ruff check .
pytest # no cluster required — APIs are faked/mockedSee CONTRIBUTING.md.
License
MIT © Michael Tierney
Available Tools
10 toolscluster_summaryA
Node and pod health totals plus the list of unhealthy pods. Start here.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses the read-only, summary nature of the tool. Without annotations, it carries the burden of transparency and does so adequately, though it could mention that no changes are performed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence stating the output, followed by a directive. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there are no parameters and an output schema exists (though not shown), the description is sufficient for a simple summary tool. It lacks context about scope (e.g., cluster/namespace) but is adequate for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With no parameters, the baseline is 4. The description adds no parameter information, but none is needed as schema coverage is 100% due to zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 'node and pod health totals plus the list of unhealthy pods' and positions itself as the entry point ('Start here'), distinguishing it from sibling tools like list_pods or node_health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Start here' explicitly guides the agent to use this tool first for an overview, but does not provide when-not-to-use scenarios or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_podA
Delete a pod so its controller recreates it (subject to the allowlist).
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | ||
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behavioral traits: deletion triggers recreation by the controller and is subject to an allowlist. This adds significant context, though the allowlist itself is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with 12 words. Every word carries weight with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior but omits details about the allowlist and does not clarify when to use this tool over similar siblings like restart_deployment. Given the output schema exists, return values are acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining parameters. However, it provides no information about 'namespace' or 'name' beyond what the schema field titles imply, failing to add meaning for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete', the resource 'pod', and specifies the consequence (controller recreates it) and a constraint (allowlist). This distinguishes it from sibling tools like list_pods or pod_logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for refreshing a pod via deletion, but does not explicitly state when to use this tool versus alternatives like restart_deployment, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_deploymentsC
List deployments with ready/desired replica counts.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits (e.g., read-only, permissions, pagination). The simple verb 'List' implies a read operation, but explicit safety guarantees are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 7 words, which is concise but lacks sufficient detail. It is not verbose, but it is under-specific for a complete understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool has an output schema (reducing the need for return value documentation), the description omits parameter semantics and usage guidance. For a simple list tool, it partially fulfills completeness but leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (namespace) with 0% schema description coverage. The description does not explain the purpose or effect of the namespace parameter, or whether it is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'deployments', and explicitly mentions that it includes ready/desired replica counts. This provides a clear purpose, though it does not differentiate from sibling tools like list_pods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives such as list_pods or cluster_summary. There are no context signals indicating optional or required conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_eventsB
Recent cluster events; Warning-type events sort first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description must disclose behavior. It notes Warning-type events sort first, a useful detail, but does not mention other ordering, read-only nature, or any destructive potential. Some transparency but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence), which is concise but lacks structure. It front-loads the resource and key behavior, but could be more organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (1 param, output schema present), the description is too sparse. It doesn't explain what 'events' means, the order of non-warning events, or how the limit parameter affects the result. Significant gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (limit) is not described in the input schema (0% coverage) and the description fails to explain its purpose or effect. The description adds no value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists recent cluster events, distinguishing it from siblings like list_pods or cluster_summary. The mention of Warning-type events sorting first adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for viewing cluster events but does not specify when to avoid this tool or contrast with alternatives. No explicit when-not or context given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_podsB
List pods (optionally one namespace). Unhealthy pods sort first.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It adds value by noting that unhealthy pods sort first, but it omits other behavioral traits such as authentication needs, rate limits, or pagination. The existence of an output schema compensates slightly, but the description remains somewhat sparse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, using a single sentence to convey the purpose and a key behavioral detail (sorting). It is front-loaded and contains no fluff. However, it could be slightly expanded without sacrificing conciseness to improve completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, output schema exists), the description is adequate but not thorough. It explains the core functionality and sorting, but it does not clarify what constitutes 'unhealthy' pods or how to interpret the output. The output schema covers returns, but the description could still provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'optionally one namespace' but fails to explain what the namespace parameter is for, its format, or default behavior. This adds minimal meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('pods'), clarifies optional namespace scoping, and distinguishes from sibling tools like list_deployments and list_events. The unique behavior that unhealthy pods sort first is also stated, making the tool's purpose highly clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool versus alternatives. Sibling tools like pod_logs, node_health, or delete_pod exist, but there is no mention of when to choose list_pods instead. The context is only implied by the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node_healthA
Per-node readiness, kubelet version, capacity, and pressure conditions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the data fields returned (readiness, version, capacity, pressure) but does not discuss side effects, permissions, or rate limits. It is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence of 10 words, front-loading the key information ('Per-node') and listing the data categories efficiently. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema, the description explains the output fields well. However, it lacks explicit scope (e.g., 'all nodes in the cluster') and could be slightly more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema description coverage is 100%. The description adds no parameter information, which is acceptable since none exist. Baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns per-node information about readiness, kubelet version, capacity, and pressure conditions. It distinguishes itself from sibling tools like cluster_summary (cluster-level) and pod/ deployment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like cluster_summary. It does not mention exclusions or prerequisites, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pod_logsC
Tail a pod's logs.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | ||
| pod | Yes | ||
| tail | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as streaming behavior, log truncation, multi-container handling, or required permissions. The word 'tail' implies streaming but is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While very short (one sentence), it is under-specified. For a tool with three parameters and an output schema, the description is too sparse to be informative. It does not earn its place as it omits critical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description lacks completeness: no parameter details, no usage context, and no behavioral notes. The presence of an output schema does not compensate for the missing information in the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about the three parameters (namespace, pod, tail). It does not explain their meaning or usage, leaving the agent to rely solely on parameter names and limited schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'tail' and resource 'pod's logs', clearly indicating the action and object. However, it could be more precise about whether it shows live streaming or historical logs, but it is adequately distinct from sibling tools like list_pods or list_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over siblings. There is no mention of prerequisites, context, or alternatives, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restart_deploymentC
Rollout-restart a deployment (subject to the mutable-namespace allowlist).
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | ||
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the operation causes a restart but doesn't explain side effects (e.g., pod recreation, potential downtime) or whether it is destructive. The allowlist mention hints at restrictions but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at one sentence (10 words). It is front-loaded with the action and resource. However, it could benefit from a structure that lists parameters or constraints more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 required parameters, an output schema exists, and no annotations, the description is insufficient. It lacks details on return values, side effects, and prerequisites. The allowlist mention adds some context but overall leaves many gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no information about the two parameters (namespace and name). The agent must infer their roles from the tool name alone. The description should at least indicate that these identify the deployment to restart.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a 'Rollout-restart' on a deployment, which is a specific verb-resource combination. It distinguishes from sibling tools like scale_deployment and delete_pod. However, it does not elaborate on what a rollout-restart entails, which might leave ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a constraint (subject to allowlist) but provides no guidance on when to use this tool versus alternatives like scale_deployment. No explicit context for when a restart is appropriate or not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scale_deploymentB
Scale a deployment to N replicas (0..max), subject to the allowlist.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace | Yes | ||
| name | Yes | ||
| replicas | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description adds constraint '0..max' and 'allowlist' but does not explain side effects, idempotence, or what happens when replicas exceed max. Partial transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, very concise, front-loads action. However, it omits parameter details and usage context, which could be included without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description is minimal for a 3-param tool with output schema. Does not cover return values, allowlist details, or behavioral aspects like immediacy or waiting. Incomplete given complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 0%; description does not explain any parameter individually. Only broad constraint on replicas is mentioned. No per-parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Scale a deployment to N replicas' with clear verb and resource. It distinguishes from siblings like restart_deployment and delete_pod by focusing on scaling replicas. The constraint '0..max' and 'allowlist' add specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives. Siblings include similar operations but description does not provide context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_infoA
Report the effective configuration (context, read-only, allowlist).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'report', implying a read operation, but does not explicitly confirm idempotency, authentication needs, or side effects. Minimal transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no redundancy. It is front-loaded and contains only essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and an output schema. The description lists the configuration aspects reported, which is adequate given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Baseline for 0 parameters is 4, and the description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports effective configuration, specifying aspects like context, read-only, and allowlist. This distinguishes it from sibling tools which perform actions like deletion, listing, scaling, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Usage is only implied by the description; no exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v0.1.0- First observed
cluster_summary - First observed
delete_pod - First observed
list_deployments - First observed
list_events - First observed
list_pods - First observed
node_health - First observed
pod_logs - First observed
restart_deployment - First observed
scale_deployment - First observed
server_info
TDQS
Each tool targets a distinct aspect of cluster management: summary, pods, deployments, events, nodes, logs, scaling, restart, and configuration. No overlapping purposes.
Tools use a mix of verb_noun (delete_pod, list_deployments) and noun_noun (cluster_summary, node_health) patterns. While mostly clear, the inconsistency may cause minor confusion for an agent.
10 tools provide a well-scoped set for monitoring and managing a Kubernetes cluster, covering essential operations without being overwhelming.
Covers core observability and common actions (restart, scale, delete pod) but lacks CRUD for deployments and pods, leaving gaps for full lifecycle management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Fail-closed policy guardrails for AI agents running kubectl, terraform, helm, and argocd.
- FullmaktOAuthai.fullmakt
Credential broker for AI agents: scoped, revocable API access with policy enforcement and audit.
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to Kubernetes clusters for AI assistants.23MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with and manage Kubernetes clusters, supporting operations on pods, deployments, services, configmaps, secrets, namespaces, metrics, and events with built-in safety features for destructive actions.9181MIT
- AlicenseAqualityCmaintenanceEnables safe, read-only interaction with Kubernetes clusters, allowing users to list resources and fetch logs without any create/update/delete operations.116Apache 2.0
- FlicenseNot gradedqualityCmaintenanceProvides a read-only interface to Kubernetes clusters, enabling LLMs to list pods, get pod status and logs, fetch deployment manifests, and perform pod health analysis with resource trend tracking.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/Michael-WhiteCapData/WhiteCapData-Dev'
If you have feedback or need assistance with the MCP directory API, please join our Discord server