MCP server for Artifact Hub package and Helm chart discovery
Strong tool naming (all verb-prefixed, clear intent). Descriptions present and actionable (avg ~120 chars, within 10-1024 baseline). Input schemas visible with types and descriptions for all 15 tools. Tool annotations present (read_only_hint, open_world_hint on all tools). Key gaps: no output schemas documented in code; no pagination guidance in search tools despite accepting limit/offset; no error recovery hints; parameter constraints (e.g., kind enum values) not visible in schema definitions.
Get changelog for a package as pre-formatted markdown (no JSON parsing needed)
Get metadata summary for a package (name, version, description, repository, stats, keywords, links, containers, security). Does NOT include readme or available_versions.
Get changelog for a package between versions
Get the README for a package (can be very large, 100KB+). Use sparingly - prefer get_package for metadata.
Get Trivy security report map (image -> Results with Vulnerabilities) for a package snapshot. Empty map means no report. Requires package_id and version from get_package.
Get star count for a package
Output schemas not documented in code. LLMs cannot plan downstream tool calls or extract required fields (e.g., package_id from get_package needed by get_package_security_report). Descriptions mention some fields but no formal schema.
Pagination guidance missing. search_packages and search_repositories accept limit/offset but no description explains max results, default limit, or total count in response.
Parameter constraints not formalized. 'kind' parameter appears in multiple tools but no enum values visible (e.g., helm, kagent, etc.). LLMs cannot validate input without explicit constraint definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Get one decoded Helm chart template by exact name (helm/kagent only upstream). Use get_package_templates first to list available templates. Requires package_id and version from get_package.
Get Helm chart template data (values + schema) for rendering. Combines get_package_values and get_package_values_schema. Requires package_id and version from get_package.
List Helm chart template names and metadata without template source (helm/kagent only upstream). Use get_package_template to fetch one decoded template. Requires package_id and version from get_package.
Get the default values.yaml for a Helm chart (helm/kagent only upstream; other kinds return 400)
Get JSON schema for a Helm chart's values.yaml. Requires package_id and version from get_package.
List all available versions for a package
Get basic information about this MCP server
Search for packages in Artifact Hub. Results are ranked by popularity/stars.
Search for repositories by name, kind, user, or organization
Error handling lacks recovery guidance. Tool descriptions do not explain what to do if a package is not found, API rate limit is hit, or version does not exist.
Tool composition chain incomplete. get_package_security_report and get_package_values_schema require package_id and version from get_package, but get_package description does not explicitly state it returns these IDs. Breaks discoverability.