Kubernetes management MCP server that exposes Kubernetes tools and integrates with external MCP servers for tool execution
The k8m MCP server exposes only one tool: 'save_k8s_yaml_template'. Critical issues: (1) Tool name lacks action clarity, 'save' is weak and could be confused with 'store' or 'persist'; 'save_k8s_yaml_template' is 28 characters but does not follow verb_noun convention cleanly. (2) Description is in Chinese ('保存Yaml为模版' = 'Save YAML as template'), not English, LLMs expect English documentation for proper understanding. (3) Parameters have descriptions in Chinese ('模板适配集群(可为空)' = 'template-adapted cluster (optional)'), again creating a language barrier. (4) Schema is partially visible but underdocumented: 'cluster' param has description but 'required' status is not explicit; 'yaml' is marked required but no format/length constraints documented; 'name' lacks a clear description of what constitutes a valid template name (length, chars, uniqueness?). (5) No output schema documented, what does the tool return on success? What fields? What error states? (6) No error handling guidance visible, if the YAML is malformed, if the template name already exists, or if the cluster is invalid, how does the tool respond and what should the LLM do next? (7) Input validation rules not stated, no regex pattern for 'name', no size limit for 'yaml' content. (8) The tool is marked WRITE risk, which is good, but the description does not state 'This tool creates/persists a template' explicitly, LLMs need to know if this is idempotent or if repeated calls with the same name overwrite.
保存Yaml为模版
Tool description and all parameter descriptions are in Chinese, not English. LLMs are primarily English-trained; non-English documentation degrades comprehension and tool selection.
No output schema documented. LLMs cannot plan downstream actions or extract return values. What does 'success' return? Fields? Error structure?
No error handling guidance. If YAML is malformed, cluster is invalid, or template name conflicts, the tool response must tell the LLM what to do next. Currently absent.
Parameter validation rules not documented. No regex pattern for 'name', no size limit for 'yaml' content, no format declaration. LLMs cannot validate input before calling.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 28 | - | v1 |
Idempotency not declared. If 'name' is the primary key, does saving with the same name overwrite the old template? Or fail? This affects agent retry logic.
Tool name 'save_k8s_yaml_template' is vague. 'save' does not clearly signal a write operation. Better: 'create_k8s_yaml_template' or 'persist_k8s_yaml_template' followed by explicit documentation of what 'template' means in this domain.