Skip to main content
Glama
0xteamhq

Grafana MCP Server

by 0xteamhq

list_prometheus_metric_metadata

Retrieve metadata for Prometheus metrics scraped from monitoring targets. Use this tool to explore available metrics, their types, and labels for a specified Grafana datasource.

Instructions

List Prometheus metric metadata. Returns metadata about metrics currently scraped from targets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
datasourceUidYesThe UID of the datasource to query
limitNoThe maximum number of metrics to return
limitPerMetricNoThe maximum number of metrics to return per metric
metricNoThe metric to query

Implementation Reference

  • The ToolDefinition for 'list_prometheus_metric_metadata' including its handler function that uses PrometheusClient.getMetricMetadata to fetch metric metadata.
    export const listPrometheusMetricMetadata: ToolDefinition = { name: 'list_prometheus_metric_metadata', description: 'List Prometheus metric metadata. Returns metadata about metrics currently scraped from targets.', inputSchema: ListPrometheusMetricMetadataSchema, handler: async (params, context: ToolContext) => { try { const client = new PrometheusClient(context.config.grafanaConfig, params.datasourceUid); const metadata = await client.getMetricMetadata(params.metric, params.limit); return createToolResult(metadata); } catch (error: any) { return createErrorResult(error.message); } }, };
  • Zod input schema for the tool defining parameters: datasourceUid, optional metric, limit, and limitPerMetric.
    const ListPrometheusMetricMetadataSchema = z.object({ datasourceUid: z.string().describe('The UID of the datasource to query'), metric: z.string().optional().describe('The metric to query'), limit: z.number().optional().describe('The maximum number of metrics to return'), limitPerMetric: z.number().optional().describe('The maximum number of metrics to return per metric'), });
  • Specific registration of the listPrometheusMetricMetadata tool within the registerPrometheusTools function.
    server.registerTool(listPrometheusMetricMetadata);
  • src/cli.ts:107-108 (registration)
    Top-level conditional registration of Prometheus tools (including list_prometheus_metric_metadata) in the CLI entrypoint by invoking registerPrometheusTools.
    if (enabledTools.has('prometheus')) { registerPrometheusTools(server);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/0xteamhq/mcp-grafana'

If you have feedback or need assistance with the MCP directory API, please join our Discord server