helm-chart-info
Retrieve Helm chart metadata from Artifact Hub, including version details and descriptions for specified chart repositories and names.
Instructions
Get information about a Helm chart from Artifact Hub, including ID, latest version, and description
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chartRepo | Yes | The Helm chart repository name | |
| chartName | Yes | The Helm chart name |
Implementation Reference
- src/tools/info.ts:15-46 (handler)The handler logic for helm-chart-info which calls getChartInfo and formats the response.
async ({ chartRepo, chartName }: InfoParams) => { try { const data = await getChartInfo(chartRepo, chartName); return { content: [ { type: "text", text: JSON.stringify( { id: data.package_id, latest_version: data.version, description: data.description, }, null, 2 ), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error retrieving chart info: ${(error as Error).message}`, }, ], }; } } ); - src/tools/info.ts:7-46 (registration)The registration of the helm-chart-info tool.
export function registerInfoTool(server: McpServer) { return server.tool( "helm-chart-info", "Get information about a Helm chart from Artifact Hub, including ID, latest version, and description", { chartRepo: z.string().describe("The Helm chart repository name"), chartName: z.string().describe("The Helm chart name"), }, async ({ chartRepo, chartName }: InfoParams) => { try { const data = await getChartInfo(chartRepo, chartName); return { content: [ { type: "text", text: JSON.stringify( { id: data.package_id, latest_version: data.version, description: data.description, }, null, 2 ), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error retrieving chart info: ${(error as Error).message}`, }, ], }; } } ); - src/services/artifactHub.ts:38-46 (helper)The helper function that performs the API request to retrieve chart information.
export async function getChartInfo( chartRepo: string, chartName: string ): Promise<ArtifactHubPackage> { const url = `https://artifacthub.io/api/v1/packages/helm/${encodeURIComponent( chartRepo )}/${encodeURIComponent(chartName)}`; return (await fetchFromArtifactHub(url)) as ArtifactHubPackage; } - src/types/artifactHub.ts:14-17 (schema)The parameter schema for the helm-chart-info tool.
export interface InfoParams { chartRepo: string; chartName: string; }