annotate
Add or update annotations on Kubernetes resources to organize metadata, configure behavior, or add custom labels for management.
Instructions
Add or update annotations on a resource
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| resource | Yes | The resource type | |
| name | Yes | The name of the resource | |
| annotations | Yes | Annotations to add/update (key=value,key2=value2) | |
| namespace | No | The namespace of the resource (optional, defaults to current context namespace) |
Implementation Reference
- server.js:2070-2078 (handler)The handler function for the 'annotate' tool. It destructures the input arguments, constructs a 'kubectl annotate' command with optional namespace, executes it using execAsync, and returns the stdout or a success message.case "annotate": { const { resource, name, annotations, namespace } = args; const nsArg = namespace ? `-n ${namespace}` : ""; const cmd = `kubectl annotate ${resource} ${name} ${annotations} ${nsArg}`; const { stdout } = await execAsync(cmd); return { content: [{ type: "text", text: stdout || `Annotations updated on ${resource} ${name}` }] }; }
- server.js:1067-1091 (schema)The tool definition including name, description, and inputSchema for validating arguments to the 'annotate' tool.name: "annotate", description: "Add or update annotations on a resource", inputSchema: { type: "object", properties: { resource: { type: "string", description: "The resource type" }, name: { type: "string", description: "The name of the resource" }, annotations: { type: "string", description: "Annotations to add/update (key=value,key2=value2)" }, namespace: { type: "string", description: "The namespace of the resource (optional, defaults to current context namespace)" } }, required: ["resource", "name", "annotations"] } },
- server.js:1392-1394 (registration)Registers the list tools handler which returns the array of all tools, including 'annotate', making it discoverable by MCP clients.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });