Skip to main content
Glama
ACRT-EVAL
by ACRT-EVAL

mcp-server-kubernetes

MCP Server that can connect to a Kubernetes cluster and manage it.

https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed

Usage with Claude Desktop

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"]
    }
  }
}

The server will automatically connect to your current kubectl context. Make sure you have:

  1. kubectl installed and in your PATH

  2. A valid kubeconfig file with contexts configured

  3. Access to a Kubernetes cluster configured for kubectl (e.g. minikube, Rancher Desktop, GKE, etc.)

You can verify your connection by asking Claude to list your pods or create a test deployment.

If you have errors, open up a standard terminal and run kubectl get pods to see if you can connect to your cluster without credentials issues.

Related MCP server: mcp-server-kubernetes

Features

  • Connect to a Kubernetes cluster

  • List all pods

  • List all services

  • List all deployments

  • List all nodes

  • Create a pod

  • Delete a pod

  • Describe a pod

  • List all namespaces

  • Get logs from a pod for debugging (supports pods, deployments, jobs, and label selectors)

  • Port forward to a pod

  • Choose namespace for next commands (memory)

  • Support Helm for installing charts

Local Development

git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun install

Development Workflow

  1. Start the server in development mode (watches for file changes):

bun run dev
  1. Run unit tests:

bun run test
  1. Build the project:

bun run build
  1. Local Testing with Inspector

npx @modelcontextprotocol/inspector node build/index.js
# Follow further instructions on terminal for Inspector link

Project Structure

src/
├── index.ts     # Main server implementation
├── types.ts     # TypeScript type definitions
└── unit.test.ts # Unit tests

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests for new functionality

  5. Ensure all tests pass

  6. Submit a pull request

For bigger changes, please open an issue first to discuss the proposed changes.

Architecture

This section describes the high-level architecture of the MCP Kubernetes server.

Request Flow

The sequence diagram below illustrates how requests flow through the system:

sequenceDiagram
    participant Client
    participant Transport as StdioTransport
    participant Server as MCP Server
    participant Handler as Request Handler
    participant K8sManager as KubernetesManager
    participant K8s as Kubernetes API

    Client->>Transport: Send Request via STDIO
    Transport->>Server: Forward Request

    alt Tools Request
        Server->>Handler: Route to tools handler
        Handler->>K8sManager: Execute tool operation
        K8sManager->>K8s: Make API call
        K8s-->>K8sManager: Return result
        K8sManager-->>Handler: Process response
        Handler-->>Server: Return tool result
    else Resource Request
        Server->>Handler: Route to resource handler
        Handler->>K8sManager: Get resource data
        K8sManager->>K8s: Query API
        K8s-->>K8sManager: Return data
        K8sManager-->>Handler: Format response
        Handler-->>Server: Return resource data
    end

    Server-->>Transport: Send Response
    Transport-->>Client: Return Final Response

Not planned

Authentication / adding clusters to kubectx.

Available Tools

11 tools
cleanupC

Cleanup all managed resources

NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and falls short. 'Cleanup' implies a destructive bulk operation, but the description does not disclose scope, irreversibility, permissions required, or what happens to dependent resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise and front-loaded, but its brevity reflects under-specification rather than efficiency. It spends no words on the details an agent would need for a destructive bulk operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no annotations and no output schema, the description is inadequate. It lacks scope definition, safety warnings, and any explanation of what 'cleanup' entails across the managed resources.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to clarify. Baseline 4 applies because parameter semantics are not a concern for this definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ('Cleanup all managed resources'), but 'managed resources' is vague and does not distinguish this tool from destructive siblings like delete_pod. An agent cannot tell what specifically gets cleaned up or how this differs from individual delete operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus delete_pod or other resource-management siblings. No prerequisites, exclusions, or alternative tools are mentioned, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_deploymentC

Create a new Kubernetes deployment

NameRequiredDescriptionDefault
nameYes
portsNo
replicasNo
templateYes
namespaceYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a mutation by saying "Create," but it does not disclose required permissions, side effects, idempotency, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler, so its structure is clean. However, its brevity reflects under-specification rather than efficient communication of the necessary context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, no annotations, and no parameter description coverage, yet the description does not compensate by explaining required parameters, the template enum, deployment behavior, or return values. For a five-parameter mutation tool, this is insufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention any of the five parameters, including required fields like name, namespace, and template. The enum for template and defaults for replicas are documented only structurally in the schema, with no added semantic guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: "Create a new Kubernetes deployment." It is clear what the tool does, but it does not distinguish the tool from siblings such as create_pod or explain when a deployment is preferable to a pod.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives like create_pod, list_deployments, or other sibling tools. Usage is only implied by the verb "Create."

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_podC

Create a new Kubernetes pod

NameRequiredDescriptionDefault
nameYes
commandNo
templateYes
namespaceYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says nothing about side effects, whether the pod starts immediately, what the 'template' enum values actually provision, failure modes, or permissions required — all critical for a mutating cluster operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and wastes no words, but it is under-specified rather than concise — brevity comes at the cost of all the information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter mutation tool with no annotations, no output schema, and 0% schema coverage, the description is far too thin. An agent cannot tell what the template values mean or what a successful call produces.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across four parameters, and the description adds nothing — name, namespace, command, and especially the template enum (ubuntu/nginx/busybox/alpine) are completely unexplained. The description must compensate here and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a new Kubernetes pod'), which is clear and distinct from read-only siblings like list_pods or delete_pod. However, it offers no explicit differentiation from create_deployment, which is the sibling an agent could most plausibly confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus create_deployment, no prerequisites (e.g. whether the namespace must already exist), and no mention of alternatives. The agent must infer everything from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_podC

Delete a Kubernetes pod

NameRequiredDescriptionDefault
nameYes
namespaceYes
ignoreNotFoundNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Delete' signals a destructive mutation, but nothing is said about irreversibility, graceful termination/grace period, RBAC requirements, cascading effects on dependent resources, or whether the operation blocks until the pod is gone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single efficient sentence with no filler, which is good structurally, but the brevity reflects under-specification rather than disciplined conciseness for a destructive 3-parameter operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no annotations, no output schema, and zero parameter documentation, the description is far too thin. An agent cannot tell what gets destroyed, whether dependents are affected, how failures are reported, or how ignoreNotFound alters behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description mentions no parameters at all. The non-obvious 'ignoreNotFound' flag (what happens when the pod is absent, whether errors are suppressed) is completely undocumented, and even the required name/namespace pairing is left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Delete a Kubernetes pod'), so an agent knows exactly what the tool does. It does not, however, distinguish itself from siblings like cleanup or describe_pod, so the differentiation is left to the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as cleanup, nor any mention of preconditions like checking pod state first with describe_pod or get_logs. The only implied usage is the obvious 'delete when you want a pod gone'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_podB

Describe a Kubernetes pod (read details like status, containers, etc.)

NameRequiredDescriptionDefault
nameYes
namespaceYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It signals a read-only operation via 'read details,' but says nothing about required permissions/RBAC, behavior when the pod or namespace does not exist, or the scope of the returned data — significant gaps for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action first and the payload second, with no wasted words. Its only shortcoming is that it is so terse it omits needed detail rather than adding any.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with no output schema, the description broadly conveys what comes back ('status, containers, etc.'), which is adequate. It is still incomplete because it neither explains parameter semantics nor error/edge-case behavior, and no annotations or output schema fill those gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there are two required parameters, so the description must compensate for the gap but does not. It never explains that 'name' identifies the pod and 'namespace' scopes it (or whether a default namespace applies), leaving the agent to infer both from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Describe') and resource ('Kubernetes pod'), with a parenthetical enumerating the details returned ('status, containers, etc.'). This clearly distinguishes it from siblings like list_pods and delete_pod, though it never names those alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'read details' implies this is the tool for inspecting a single pod, in contrast to list_pods for enumeration. However, there is no explicit when-to-use guidance, no prerequisites (e.g., pod must exist), and no named alternatives for the agent to choose between.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_logsC

Get logs from pods, deployments, jobs, or resources matching a label selector

NameRequiredDescriptionDefault
nameNoName of the resource
tailNoNumber of lines to show from end of logs
sinceNoGet logs since relative time in seconds
containerNoContainer name (required when pod has multiple containers)
namespaceNoNamespace of the resourcedefault
timestampsNoInclude timestamps in logs
resourceTypeYesType of resource to get logs from
labelSelectorNoLabel selector to filter resources

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about permissions needed, whether logs from multiple matching pods are merged, how errors on missing containers behave, or any output size limits. Only the read-only nature is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity leaves no room for the behavioral and usage context an 8-parameter tool needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no annotations, and no output schema, the description should explain multi-container behavior, label-selector fan-out across pods, and default log volume. None of that is present, leaving significant gaps for a tool this parameter-rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters like tail, since, container, and labelSelector are already documented in the schema. The description adds only the label-selector framing, with no extra detail on default tail limits, since vs timestamps interaction, or multi-pod aggregation behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get) and resource (logs) and enumerates the supported target types (pods, deployments, jobs), which clearly distinguishes it from siblings like list_pods or describe_pod. Minor imprecision: it says 'or resources matching a label selector' while the schema's resourceType enum only allows pod/deployment/job.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to prefer this tool over describe_pod or list_* siblings, and no mention of prerequisites such as the container requirement for multi-container pods. The agent must infer all selection criteria from the purpose sentence alone.

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 in a namespace

NameRequiredDescriptionDefault
namespaceYesdefault

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only list operation but does not disclose permissions, pagination, ordering, or output behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted wording. It is concise, though it is terse to the point of omitting useful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but there are no annotations, no output schema, and no parameter descriptions. The description does not explain what a returned deployment looks like or how listing behaves, leaving significant gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description should compensate for the single namespace parameter. It mentions namespace scope but does not explain namespace format, the default value, or what happens when it is omitted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: list deployments, scoped to a namespace. This is more specific than the name alone, but it does not explicitly differentiate from siblings such as list_pods, list_services, or create_deployment beyond the obvious resource noun.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says where deployments are listed but gives no guidance on when to use this tool versus alternatives like describe_pod, list_services, or create_deployment. There are no exclusions, prerequisites, or alternative-selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_namespacesB

List all namespaces

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation but does not state permissions, rate limits, pagination behavior, or return format, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the core action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description states the essential purpose. However, without annotations, it omits important behavioral context such as read-only guarantees or response structure, leaving it adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and 100% schema description coverage, so the schema already fully documents the input. The description adds no parameter information, which is appropriate for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (List) and resource (namespaces) with scope (all), making the purpose immediately clear. It does not explicitly differentiate from siblings, but the distinct resource inherently distinguishes it from 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives such as list_pods or list_deployments, nor does it mention prerequisites or exclusions. Usage is only implied by the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_nodesB

List all nodes in the cluster

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a read operation via 'List', but doesn't state whether it is read-only, whether results are paginated, or what permission level is required. Only the 'all' qualifier hints at scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with zero waste. It is appropriately sized for a no-argument list tool, though it is somewhat terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with no output schema, the description is minimally adequate. It doesn't indicate what node information is returned or whether the listing is exhaustive across the cluster, leaving a gap since no output schema documents the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline of 4 applies since no parameter semantics need explaining.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('nodes in the cluster'), so the agent knows exactly what the tool retrieves. It doesn't explicitly differentiate itself from siblings like list_pods or list_deployments, though 'nodes' is a distinct resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. The agent must infer that this is the read-oriented listing tool for cluster nodes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_podsC

List pods in a namespace

NameRequiredDescriptionDefault
namespaceYesdefault

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden and does not meet it. It says nothing about whether results are paginated, what fields are returned, whether it lists all pods or only running ones, or what happens if the namespace has none.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though the brevity comes at the cost of the guidance and behavior details noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only list tool with no output schema, the definition is minimally sufficient to call correctly. It falls short on return shape (no output schema means the description should say what a pod entry looks like) and on the default namespace value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but there is only one parameter and its name plus the phrase "in a namespace" make its meaning unambiguous. The description does not mention the schema's "default" default value, which is the one piece of non-obvious behavior an agent might need.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List pods") plus the scope ("in a namespace"). The resource name alone separates it from siblings like list_deployments, list_services, list_nodes, though the description never explicitly routes to or away from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus describe_pod, get_logs, or cleanup. The usage is only implied by the verb 'List' — an agent gets no guidance on selecting this tool for broad discovery versus inspecting a single pod.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_servicesB

List services in a namespace

NameRequiredDescriptionDefault
namespaceYesdefault

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only listing operation but does not disclose permissions, pagination, return shape, error behavior, or whether omitted/empty namespaces behave differently.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every word contributes directly to the action, resource, and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter list tool, the core action and scope are clear. However, with no annotations and no output schema, the description leaves the agent without return-value, permission, or namespace-default context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter has 0% schema description coverage, so the description must compensate. It identifies 'namespace' as the scoping value, adding some meaning beyond the schema's name and type, but it does not explain the default value or accepted namespace format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('List services') and states the scoping dimension ('in a namespace'). It distinguishes itself naturally from siblings like list_pods and list_deployments by resource, but does not explicitly name or differentiate alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus siblings such as list_pods, list_deployments, or list_namespaces. Usage is only implied by the resource name and the namespace scope.

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.

  1. 11 tool updatesv0.1.4
    • First observedcleanup
    • First observedcreate_deployment
    • First observedcreate_pod
    • First observeddelete_pod
    • First observeddescribe_pod
    • First observedget_logs
    • First observedlist_deployments
    • First observedlist_namespaces
    • First observedlist_nodes
    • First observedlist_pods
    • First observedlist_services

TDQS

B3/5.0

Scored across 11 tools

Disambiguation4/5

Each tool targets a distinct resource+action combination (list vs create vs delete vs describe on separate resources). get_logs overlaps conceptually with list/describe since it spans multiple resource types, but its purpose is clear enough to avoid misselection.

Naming Consistency4/5

Strong verb_noun pattern (list_pods, create_pod, delete_pod, describe_pod, list_nodes). The lone outlier is 'cleanup', which lacks a verb_noun structure and is vaguer than the rest, and get_logs uses 'get' rather than the dominant 'list'.

Tool Count5/5

Eleven tools is well-scoped for a Kubernetes management server, covering listing, creation, deletion, inspection, logs, and cleanup without bloat.

Completeness3/5

Coverage is asymmetric: deployments can be created but not deleted, and there's no describe for deployments or services despite describe_pod existing. Pods have full list/create/delete/describe/logs lifecycle, but the broader surface has notable gaps that could cause agent dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables connecting to a Kubernetes cluster to manage it, including listing pods, services, deployments, nodes, and namespaces, creating and deleting pods, describing pods, and retrieving logs for debugging.
    3,426 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects to a Kubernetes cluster through the current kubectl context and enables listing, creating, deleting, and describing pods, services, deployments, nodes, and namespaces, plus retrieving logs for debugging.
    3,426 npm
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Connects to a Kubernetes cluster using your current kubectl context, letting an assistant list pods, services, deployments, nodes, and namespaces, create, delete, and describe pods, and pull logs for debugging. It turns everyday cluster management into natural-language tool calls.
    11
    3,426 npm
    MIT