Skip to main content
Glama

describe-service

Retrieve detailed information about a specific Kubernetes service, including its configuration, endpoints, and current status, to monitor and troubleshoot cluster networking.

Instructions

Describe details of a Kubernetes service

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serviceYesThe name of the service to describe
namespaceNoThe namespace of the service (optional, defaults to current context namespace)

Implementation Reference

  • The handler function that implements the core logic of the 'describe-service' tool by executing the 'kubectl describe service' command with the provided service name and optional namespace.
    case "describe-service": {
      const { service, namespace } = args;
      const nsArg = namespace ? `-n ${namespace}` : "";
      const cmd = `kubectl describe service ${service} ${nsArg}`;
      const { stdout } = await execAsync(cmd);
      return {
        content: [{ type: "text", text: stdout || "No service details found" }]
      };
    }
  • The input schema definition for the 'describe-service' tool, specifying the expected parameters: service (required string) and namespace (optional string). This is used for validation and documentation.
    inputSchema: {
      type: "object",
      properties: {
        service: { 
          type: "string",
          description: "The name of the service to describe"
        },
        namespace: { 
          type: "string",
          description: "The namespace of the service (optional, defaults to current context namespace)"
        }
      },
      required: ["service"]
    }
  • server.js:213-230 (registration)
    The tool registration object for 'describe-service' in the tools array, which is returned by the ListTools handler to advertise the tool's availability, name, description, and schema to MCP clients.
    {
      name: "describe-service",
      description: "Describe details of a Kubernetes service",
      inputSchema: {
        type: "object",
        properties: {
          service: { 
            type: "string",
            description: "The name of the service to describe"
          },
          namespace: { 
            type: "string",
            description: "The namespace of the service (optional, defaults to current context namespace)"
          }
        },
        required: ["service"]
      }
    },
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it behaves: no information about output format, error conditions, permissions required, whether it's read-only or has side effects, or what 'details' specifically means. For a tool with zero annotation coverage, this leaves significant behavioral 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, clear sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the essential information. Every word earns its place in communicating the core purpose.

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 tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'details' means, what format the output takes, or what information will be returned. Given the complexity of Kubernetes services and the lack of structured output documentation, users need more context about what to expect from this operation.

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 both parameters are fully documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema descriptions. It doesn't explain relationships between parameters or provide usage examples. Baseline 3 is appropriate when schema does the heavy lifting.

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 clearly states the verb ('describe') and resource ('Kubernetes service'), making the purpose immediately understandable. It distinguishes this from other describe tools (like describe-configmap, describe-deployment) by specifying the resource type, though it doesn't explicitly differentiate from list-services or get-configmap which might provide similar information.

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 is provided about when to use this tool versus alternatives like list-services, get-configmap, or other describe-* siblings. The description doesn't mention prerequisites, context requirements, or typical use cases for describing a service versus listing or getting it.

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

Install Server

Other Tools

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/thekaranpargaie/kube-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server