MCP server for querying k8s-at-home-search helm deployment examples
KubeSearch MCP Server demonstrates solid definition quality with consistent naming conventions, detailed descriptions, and well-structured schemas across all 6 tools. All tools follow verb_noun patterns (search_*, get_*, list_*) and include comprehensive descriptions (194 - 280 chars average, well within the 10 - 1024 baseline). Input schemas are explicit and properly typed with Zod validation. However, output schemas are not formally documented in the source code (only inferred from JSON stringification), and error handling, while present, lacks recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are declared. Tool composition is excellent, the tools form a coherent workflow (search → list_sources → get_details/get_index/get_stats) with proper ID chaining via 'key' fields. Security is appropriate (read-only operations, no credentials exposed). Missing output schema documentation and tool annotations prevent a higher score.
Get detailed information about a specific Helm chart including popular configuration values with all variations sorted by repository quality (stars + author reputation). Optionally filter to specific configuration paths (e.g., "persistence" to see only persistence-related settings). TIP: Use get_chart_index first to explore available configuration paths, then use valuePath to narrow down to specific sections. Requires a chart key - use list_chart_sources or search_deployments first to find the key.
List all available chart sources (helm repositories) for a given chart name, showing how many deployments use each source. Compare official repos vs mirrors vs community forks to choose the best one. Each result includes a "key" field that can be used with get_chart_details, get_chart_index, or get_chart_stats to get more information about that specific chart source.
Search for Helm chart deployments using fuzzy matching. Returns all real-world deployment examples matching your search, useful for seeing how others have configured a chart. Sorted by repository quality (stars + author reputation).
Output schemas are not formally documented. Tools return JSON.stringify() with no explicit TypeScript interface exports or OpenAPI/JSON Schema definitions visible in the source. This forces LLMs to infer the response structure from tool descriptions alone, increasing hallucination risk.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are absent. All tools are read-only but do not declare this via annotation. Per current MCP spec (2026-07-28), tool annotations enable agents to make smarter decisions about retryability and safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 49 | - | v1 |
Error messages in tool-handler.ts use CLIENT_SAFE_ERROR_PATTERNS allowlist but do not provide recovery guidance. Errors like 'Chart with key X not found' are safe for clients but lack next steps (e.g., 'Try search_deployments() to find available charts'). Per pattern:recovery-guide, errors should be actionable.
Pagination is not enforced. list_chart_sources and search_deployments accept unbounded results. Although limit parameters have defaults (10/20) and max caps (100), there is no offset/cursor mechanism or total_count returned. Large result sets risk context window exhaustion.