Available Tools

July 28, 2026 ยท View on GitHub

This MCP server exposes the following tools for Prometheus/Thanos, Alertmanager, Loki, Tempo, and OpenTelemetry Collector configuration.

Quick Reference

ToolCategoryDescription
list_metrics๐Ÿ“ˆ Prometheus / ThanosMANDATORY FIRST STEP: List all available metric names in Prometheus.
execute_instant_query๐Ÿ“ˆ Prometheus / ThanosExecute a PromQL instant query to get current/point-in-time values.
execute_range_query๐Ÿ“ˆ Prometheus / ThanosExecute a PromQL range query to get time-series data over a period.
show_timeseries๐Ÿ“ˆ Prometheus / ThanosDisplay the results as an interactive timeseries chart.
get_label_names๐Ÿ“ˆ Prometheus / ThanosGet all label names (dimensions) available for filtering a metric.
get_label_values๐Ÿ“ˆ Prometheus / ThanosGet all unique values for a specific label.
get_series๐Ÿ“ˆ Prometheus / ThanosGet time series matching selectors and preview cardinality.
get_alerts๐Ÿ”” AlertmanagerGet alerts from Alertmanager.
get_silences๐Ÿ”” AlertmanagerGet silences from Alertmanager.
tempo_list_instances๐Ÿ” Tempo (Distributed Tracing)List all Tempo instances available in the Kubernetes cluster.
tempo_get_trace_by_id๐Ÿ” Tempo (Distributed Tracing)Retrieve a single distributed trace by its trace ID from Tempo.
tempo_search_traces๐Ÿ” Tempo (Distributed Tracing)Search for distributed traces in Tempo using TraceQL.
tempo_search_tags๐Ÿ” Tempo (Distributed Tracing)List available tag names (attribute keys) in Tempo, grouped by scope.
tempo_search_tag_values๐Ÿ” Tempo (Distributed Tracing)List the known values for a specific tag (attribute key) in Tempo.
loki_list_instances๐Ÿ“‹ Loki (Log Management)List LokiStack instances available in the Kubernetes cluster.
loki_label_names๐Ÿ“‹ Loki (Log Management)List available Loki label names for a time range.
loki_label_values๐Ÿ“‹ Loki (Log Management)List possible values for a Loki label key.
loki_query_range๐Ÿ“‹ Loki (Log Management)Execute a Loki LogQL range query and return matching log streams and lines.
otelcol_list_componentsโš™๏ธ OpenTelemetry CollectorList available OpenTelemetry Collector components (receivers, processors, exporters, extensions, connectors) for a given version.
otelcol_get_component_schemaโš™๏ธ OpenTelemetry CollectorGet the JSON schema for an OpenTelemetry Collector component's configuration options.
otelcol_validate_configโš™๏ธ OpenTelemetry CollectorValidate an OpenTelemetry Collector component configuration against its JSON schema.
otelcol_get_versionsโš™๏ธ OpenTelemetry CollectorList available OpenTelemetry Collector versions and identify the latest.

Note

Types in the tables follow JSON Schema: object is a JSON object (string keys with JSON values); object[] is an array of those objects. Scalar types use their usual names (string, number, boolean, and so on). When a field has no explicit schema type (for example a Go any payload), this document shows object as shorthand for "structured JSON," not a guarantee that only objects are returned at runtime.

Table of Contents


๐Ÿ“ˆ Prometheus / Thanos

list_metrics

MANDATORY FIRST STEP: List all available metric names in Prometheus.

Usage Tips
  • YOU MUST CALL THIS TOOL BEFORE ANY OTHER QUERY TOOL
  • This tool MUST be called first for EVERY observability question to: 1. Discover what metrics actually exist in this environment 2. Find the EXACT metric name to use in queries 3. Avoid querying non-existent metrics 4. The 'name_regex' parameter should always be provided, and be a best guess of what the metric would be named like. 5. Do not use a blanket regex like .* or .+ in the 'name_regex' parameter. Use specific ones like kube., node., etc.
  • REGEX PATTERN GUIDANCE: - Prometheus metrics are typically prefixed (e.g., 'prometheus_tsdb_head_series', 'kube_pod_status_phase') - To match metrics CONTAINING a substring, use wildcards: '.tsdb.' matches 'prometheus_tsdb_head_series' - Without wildcards, the pattern matches EXACTLY: 'tsdb' only matches a metric literally named 'tsdb' (which rarely exists) - Common patterns: 'kube_pod.' (pods), '.memory.' (memory-related), 'node_.' (node metrics) - If you get empty results, try adding '.*' before/after your search term
  • NEVER skip this step. NEVER guess metric names. Metric names vary between environments.
  • After calling this tool: 1. Search the returned list for relevant metrics 2. Use the EXACT metric name found in subsequent queries 3. If no relevant metric exists, inform the user

Parameters:

Required:

ParameterTypeDescription
name_regexstringRegex pattern to filter metric names. IMPORTANT: Metric names are typically prefixed (e.g., 'prometheus_tsdb_head_series'). Use wildcards to match substrings: '.tsdb.' matches any metric containing 'tsdb', while 'tsdb' only matches the exact string 'tsdb'. Examples: 'http_.' (starts with http_), '.memory.' (contains memory), 'node_.' (starts with node_). This parameter is required. Don't pass in blanket regex like '.*' or '.+'.
Output Schema
FieldTypeDescription
metricsstring[]List of all available metric names

execute_instant_query

Execute a PromQL instant query to get current/point-in-time values.

Usage Tips
  • PREREQUISITE: You MUST call list_metrics first to verify the metric exists
  • WHEN TO USE: - Current state questions: "What is the current error rate?" - Point-in-time snapshots: "How many pods are running?" - Latest values: "Which pods are in Pending state?"
  • The 'query' parameter MUST use metric names that were returned by list_metrics.

Parameters:

Required:

ParameterTypeDescription
querystringPromQL query string using metric names verified via list_metrics
Optional Parameters
ParameterTypeDescription
timestringEvaluation time as RFC3339 or Unix timestamp. Omit or use 'NOW' for current time.
Output Schema
FieldTypeDescription
resultobject[]The query results as an array of instant values
resultTypestringThe type of result returned (e.g. vector, scalar, string)
warningsstring[]Any warnings generated during query execution

execute_range_query

Execute a PromQL range query to get time-series data over a period.

Usage Tips
  • PREREQUISITE: You MUST call list_metrics first to verify the metric exists
  • WHEN TO USE: - Trends over time: "What was CPU usage over the last hour?" - Rate calculations: "How many requests per second?" - Historical analysis: "Were there any restarts in the last 5 minutes?"
  • TIME PARAMETERS: - 'duration': Look back from now (e.g., "5m", "1h", "24h") - 'step': Data point resolution (e.g., "1m" for 1-hour duration, "5m" for 24-hour duration)
  • The 'query' parameter MUST use metric names that were returned by list_metrics.

Parameters:

Required:

ParameterTypeDescription
querystringPromQL query string using metric names verified via list_metrics
stepstringQuery resolution step width (e.g., '15s', '1m', '1h'). Choose based on time range: shorter ranges use smaller steps.
Optional Parameters
ParameterTypeDescription
durationstringDuration to look back from now (e.g., '1h', '30m', '1d', '2w') (optional)
endstringEnd time as RFC3339 or Unix timestamp (optional). Use NOW for current time.
startstringStart time as RFC3339 or Unix timestamp (optional)

Note

Parameters with patterns must match: ^\d+[smhdwy]$

Output Schema
FieldTypeDescription
resultobject[]The query results as an array of time series
resultTypestringThe type of result returned: matrix or vector or scalar
summaryobject[]Summary statistics for each time series (when summarize flag is enabled)
warningsstring[]Any warnings generated during query execution

show_timeseries

Display the results as an interactive timeseries chart.

Usage Tips
  • This tool works like execute_range_query but renders the results as a visual chart in the UI clients. Use it when the user wants to see a graph or visualization of time-series data and to use visuals to provide the answer. Use the show_timeseries as the last tool call after all the other Prometheus tool calls where finalized.
  • TIME PARAMETERS: - 'duration': Look back from now (e.g., "5m", "1h", "24h") - 'step': Data point resolution (e.g., "1m" for 1-hour duration, "5m" for 24-hour duration) - 'title': A descriptive chart title (e.g., "API Error Rate Over Last Hour") - 'description': An explanation of the chart's meaning or context (e.g., "Shows the rate of HTTP 5xx errors per second, broken down by pod")
  • The 'query' parameter MUST be a range query and must use metric names that were returned by list_metrics.

Parameters:

Required:

ParameterTypeDescription
querystringPromQL query string using metric names verified via list_metrics
stepstringQuery resolution step width (e.g., '15s', '1m', '1h'). Choose based on time range: shorter ranges use smaller steps.
Optional Parameters
ParameterTypeDescription
descriptionstringExplanation of the chart's meaning or context (e.g., 'Shows the rate of HTTP 5xx errors per second, broken down by pod'). Displayed below the title when provided.
durationstringDuration to look back from now (e.g., '1h', '30m', '1d', '2w') (optional)
endstringEnd time as RFC3339 or Unix timestamp (optional). Use NOW for current time.
startstringStart time as RFC3339 or Unix timestamp (optional)
titlestringHuman-readable chart title describing what the query shows (e.g., 'API Error Rate Over Last Hour'). Displayed above the chart when provided.

Note

Parameters with patterns must match: ^\d+[smhdwy]$


get_label_names

Get all label names (dimensions) available for filtering a metric.

Usage Tips
  • WHEN TO USE (after calling list_metrics): - To discover how to filter metrics (by namespace, pod, service, etc.) - Before constructing label matchers in PromQL queries
  • The 'metric' parameter should use a metric name from list_metrics output.

Parameters:

Optional Parameters
ParameterTypeDescription
endstringEnd time for label discovery as RFC3339 or Unix timestamp (optional, defaults to now)
metricstringMetric name (from list_metrics) to get label names for. Leave empty for all metrics.
startstringStart time for label discovery as RFC3339 or Unix timestamp (optional, defaults to 1 hour ago)
Output Schema
FieldTypeDescription
labelsstring[]List of label names available for the specified metric or all metrics

get_label_values

Get all unique values for a specific label.

Usage Tips
  • WHEN TO USE (after calling list_metrics and get_label_names): - To find exact label values for filtering (namespace names, pod names, etc.) - To see what values exist before constructing queries
  • The 'metric' parameter should use a metric name from list_metrics output.

Parameters:

Required:

ParameterTypeDescription
labelstringLabel name (from get_label_names) to get values for
Optional Parameters
ParameterTypeDescription
endstringEnd time for label value discovery as RFC3339 or Unix timestamp (optional, defaults to now)
metricstringMetric name (from list_metrics) to scope the label values to. Leave empty for all metrics.
startstringStart time for label value discovery as RFC3339 or Unix timestamp (optional, defaults to 1 hour ago)
Output Schema
FieldTypeDescription
valuesstring[]List of unique values for the specified label

get_series

Get time series matching selectors and preview cardinality.

Usage Tips
  • WHEN TO USE (optional, after calling list_metrics): - To verify label filters match expected series before querying - To check cardinality and avoid slow queries
  • CARDINALITY GUIDANCE: - <100 series: Safe - 100-1000: Usually fine - >1000: Add more label filters
  • The selector should use metric names from list_metrics output.

Parameters:

Required:

ParameterTypeDescription
matchesstringPromQL series selector using metric names from list_metrics
Optional Parameters
ParameterTypeDescription
endstringEnd time for series discovery as RFC3339 or Unix timestamp (optional, defaults to now)
startstringStart time for series discovery as RFC3339 or Unix timestamp (optional, defaults to 1 hour ago)
Output Schema
FieldTypeDescription
cardinalityintegerTotal number of series matching the selector
seriesobject[]List of time series matching the selector, each series is a map of label names to values

๐Ÿ”” Alertmanager

get_alerts

Get alerts from Alertmanager.

Usage Tips
  • WHEN TO USE: - START HERE when investigating issues: if the user asks about things breaking, errors, failures, outages, services being down, or anything going wrong in the cluster - When the user mentions a specific alert name - use this tool to get the alert's full labels (namespace, pod, service, etc.) which are essential for further investigation with other tools - To see currently firing alerts in the cluster - To check which alerts are active, silenced, or inhibited - To understand what's happening before diving into metrics or logs
  • INVESTIGATION TIP: Alert labels often contain the exact identifiers (pod names, namespaces, job names) needed for targeted queries with prometheus tools.
  • FILTERING: - Use 'active' to filter for only active alerts (not resolved) - Use 'silenced' to filter for silenced alerts - Use 'inhibited' to filter for inhibited alerts - Use 'filter' to apply label matchers (e.g., "alertname=HighCPU") - Use 'receiver' to filter alerts by receiver name
  • All filter parameters are optional. Without filters, all alerts are returned.

Parameters:

Optional Parameters
ParameterTypeDescription
activebooleanFilter for active alerts only (true/false, optional)
filterstringLabel matchers to filter alerts (e.g., 'alertname=HighCPU', optional)
inhibitedbooleanFilter for inhibited alerts only (true/false, optional)
receiverstringReceiver name to filter alerts (optional)
silencedbooleanFilter for silenced alerts only (true/false, optional)
unprocessedbooleanFilter for unprocessed alerts only (true/false, optional)
Output Schema
FieldTypeDescription
alertsobject[]List of alerts from Alertmanager

get_silences

Get silences from Alertmanager.

Usage Tips
  • WHEN TO USE: - To see which alerts are currently silenced - To check active, pending, or expired silences - To investigate why certain alerts are not firing notifications
  • FILTERING: - Use 'filter' to apply label matchers to find specific silences
  • Silences are used to temporarily mute alerts based on label matchers. This tool helps you understand what is currently silenced in your environment.

Parameters:

Optional Parameters
ParameterTypeDescription
filterstringLabel matchers to filter silences (e.g., 'alertname=HighCPU', optional)
Output Schema
FieldTypeDescription
silencesobject[]List of silences from Alertmanager

๐Ÿ” Tempo (Distributed Tracing)

tempo_list_instances

List all Tempo instances available in the Kubernetes cluster. Call this tool first to discover available Tempo instances before using other Tempo tools, as the returned namespace, name, and tenant values are required parameters for all other Tempo tools. Always print the output of this tool in a table.

No parameters.

Output Schema
FieldTypeDescription
instancesobject[]List of available Tempo instances

tempo_get_trace_by_id

Retrieve a single distributed trace by its trace ID from Tempo. Returns the full trace with all its spans, including service names, operation names, durations, and attributes. Use this tool when you already have a specific trace ID, e.g. from search results or logs.

Parameters:

Required:

ParameterTypeDescription
tempoNamestringThe name of the Tempo instance to query. Use tempo_list_instances to discover available instance names.
tempoNamespacestringThe Kubernetes namespace where the Tempo instance is deployed. Use tempo_list_instances to discover available namespaces.
traceidstringThe trace ID to retrieve, e.g. "26dad4a0e2b0dd9a440dd5ff203a24a4".
Optional Parameters
ParameterTypeDescription
endstringOptional end of the time range in RFC 3339 format, e.g. "2025-01-02T00:00:00Z".
Narrows the time range to improve query performance.
startstringOptional start of the time range in RFC 3339 format, e.g. "2025-01-01T00:00:00Z".
Narrows the time range to improve query performance.
tenantstringThe tenant to query. This parameter is required for multi-tenant instances. Use tempo_list_instances to discover available tenants for each instance.
Output Schema
FieldTypeDescription
traceobjectThe trace data with services, scopes and spans

tempo_search_traces

Search for distributed traces in Tempo using TraceQL. Use this tool to find traces matching specific criteria such as service name, HTTP status code, duration, or other span or resource attributes.

Usage Tips
  • IMPORTANT โ€” "slow" or "long" trace requests: Do NOT guess a duration threshold. First call this tool WITHOUT a duration filter to establish a latency baseline, then use that baseline to set a sensible threshold. Both steps are required โ€” do NOT skip the second search with the duration filter. Skip this two-step process only when the user provides an explicit duration (e.g. "find traces slower than 2s").

Parameters:

Required:

ParameterTypeDescription
querystringA TraceQL query expression. Format:
query: "{ <filters joined by &&> }"

Filters:
- service name: resource.service.name="" (string, use quotes)
- HTTP status code: span.http.response.status_code= (number, no quotes)
- duration: duration><value like 100ms, 2s, 5m> (no quotes)
- error status: status=error (keyword, NO quotes โ€” do NOT write status="error")

IMPORTANT: status values (error, ok, unset) are keywords, NOT strings. Write status=error, NEVER status="error".

Operators: =, !=, >, <, >=, <=

Common attributes:
- resource.service.name (service name)
- resource.k8s.namespace.name (Kubernetes namespace)
- resource.k8s.deployment.name (Kubernetes deployment)
- resource.k8s.statefulset.name (Kubernetes statefulset)
- resource.k8s.daemonset.name (Kubernetes daemonset)
- resource.k8s.replicaset.name (Kubernetes replicaset)
- resource.k8s.pod.name (Kubernetes pod)
- resource.k8s.container.name (Kubernetes container)
- resource.k8s.job.name (Kubernetes job)
- resource.k8s.cronjob.name (Kubernetes cronjob)
- resource.k8s.node.name (Kubernetes node)
- resource.k8s.cluster.name (Kubernetes cluster)
- span.http.response.status_code (HTTP response code)
- span.http.request.method (HTTP method like GET, POST)
- span.url.full (request URL)
- name (span name / operation name, e.g. "GET /api/users")
- duration (trace duration, e.g. 100ms, 2s)
- status (trace status: ok, error, unset)

Note: older instrumentation may use legacy HTTP attribute names (e.g. span.http.status_code instead of span.http.response.status_code).
If a query returns no results, try tempo_search_tags to check which attributes exist.

IMPORTANT:
- Always wrap filters in curly braces { }.
- Do NOT use SQL, PromQL, or Lucene syntax.
- Do NOT omit the "resource." or "span." prefix from attribute names
- When the user refers to a Kubernetes resource type (deployment, pod, namespace, etc.), use the matching resource.k8s.* attribute, NOT resource.service.name.

Examples:
- { resource.service.name="frontend" }
- { resource.k8s.deployment.name="checkout" && span.http.response.status_code>=500 }
- { status=error && duration>2s }

If unsure which attributes to filter on, use tempo_search_tags to discover available attributes before building a query.
tempoNamestringThe name of the Tempo instance to query. Use tempo_list_instances to discover available instance names.
tempoNamespacestringThe Kubernetes namespace where the Tempo instance is deployed. Use tempo_list_instances to discover available namespaces.
Optional Parameters
ParameterTypeDescription
endstringEnd of the time range in RFC 3339 format, e.g. "2025-01-01T00:00:00Z".
Use "NOW" for current time.
Both start and end should be provided to search the full time range; if omitted, only a small window of recent data is searched.
limitintegerMaximum number of traces to return. Defaults to the server-side limit if not specified.
spssintegerMaximum number of matching spans to return per trace.
startstringStart of the time range in RFC 3339 format, e.g. "2025-01-01T00:00:00Z".
Use "NOW" for current time.
Both start and end should be provided to search the full time range; if omitted, only a small window of recent data is searched.
tenantstringThe tenant to query. This parameter is required for multi-tenant instances. Use tempo_list_instances to discover available tenants for each instance.
Output Schema
FieldTypeDescription
metricsobjectQuery performance metrics
tracesobject[]List of matching traces with metadata

tempo_search_tags

List available tag names (attribute keys) in Tempo, grouped by scope. Use this tool to discover which attributes are available for building TraceQL queries with tempo_search_traces. For example, this tool may reveal tag names like "service.name" (in the "resource" scope) or "http.response.status_code" (in the "span" scope). To use these in TraceQL queries, prefix them with their scope, e.g. "resource.service.name" or "span.http.response.status_code".

Parameters:

Required:

ParameterTypeDescription
tempoNamestringThe name of the Tempo instance to query. Use tempo_list_instances to discover available instance names.
tempoNamespacestringThe Kubernetes namespace where the Tempo instance is deployed. Use tempo_list_instances to discover available namespaces.
Optional Parameters
ParameterTypeDescription
endstringOptional end of the time range (in RFC 3339 format, e.g. "2025-01-01T00:00:00Z") to filter which traces are considered when listing tags.
limitintegerMaximum number of tag names to return per scope.
maxStaleValuesintegerMaximum number of consecutive blocks without new tag names before the search stops early. Higher values are more thorough but slower.
querystringOptional TraceQL query to filter which traces are considered when listing tags,
e.g. '{ resource.service.name="payment-service" }' to only show tags present in traces from the 'payment-service' service.
scopestringFilter tags to a specific scope. One of:
"resource" (service-level attributes like service.name),
"span" (individual span attributes like http.response.status_code),
"intrinsic" (built-in fields like duration, status, name).
If omitted, tags from all scopes are returned.
startstringOptional start of the time range (in RFC 3339 format, e.g. "2025-01-01T00:00:00Z") to filter which traces are considered when listing tags.
tenantstringThe tenant to query. This parameter is required for multi-tenant instances. Use tempo_list_instances to discover available tenants for each instance.
Output Schema
FieldTypeDescription
scopesobject[]List of tag scopes with their tag names

tempo_search_tag_values

List the known values for a specific tag (attribute key) in Tempo. Use this tool to discover what values exist for a given tag, e.g. to find all service names (values of "resource.service.name") or all HTTP methods (values of "span.http.request.method"). This is useful for building accurate TraceQL queries with tempo_search_traces.

Parameters:

Required:

ParameterTypeDescription
tagstringThe fully qualified tag name to get values for, including its scope prefix, e.g. "resource.service.name" or "span.http.response.status_code".
Use tempo_search_tags to discover available tag names.
tempoNamestringThe name of the Tempo instance to query. Use tempo_list_instances to discover available instance names.
tempoNamespacestringThe Kubernetes namespace where the Tempo instance is deployed. Use tempo_list_instances to discover available namespaces.
Optional Parameters
ParameterTypeDescription
endstringOptional end of the time range (in RFC 3339 format, e.g. "2025-01-01T00:00:00Z") to filter which traces are considered when listing values.
limitintegerMaximum number of tag values to return.
maxStaleValuesintegerMaximum number of consecutive blocks without new values before the search stops early. Higher values are more thorough but slower.
querystringOptional TraceQL query to filter which traces are considered when listing values,
e.g. '{ resource.service.name="payment-service" }' to only show tag values from the 'payment-service' service.
startstringOptional start of the time range (in RFC 3339 format, e.g. "2025-01-01T00:00:00Z") to filter which traces are considered when listing values.
tenantstringThe tenant to query. This parameter is required for multi-tenant instances. Use tempo_list_instances to discover available tenants for each instance.
Output Schema
FieldTypeDescription
tagValuesobjectKnown values for the specified tag, keyed by type

๐Ÿ“‹ Loki (Log Management)

loki_list_instances

List LokiStack instances available in the Kubernetes cluster. Call this first when using Loki Operator managed stacks so you can pass lokiNamespace and lokiName to other Loki tools.

No parameters.

Output Schema
FieldTypeDescription
instancesobject[]

loki_label_names

List available Loki label names for a time range. Use this before writing LogQL queries.

Parameters:

Optional Parameters
ParameterTypeDescription
endstringEnd time as RFC3339, Unix timestamp, NOW, or NOW-relative expression (optional).
lokiNamestringName of the LokiStack. Use loki_list_instances to discover valid values.
lokiNamespacestringKubernetes namespace of the LokiStack. Use loki_list_instances to discover valid values.
startstringStart time as RFC3339, Unix timestamp, NOW, or NOW-relative expression (optional).
tenantstringLoki tenant ID (X-Scope-OrgID). For LokiStack gateway modes (e.g. openshift-network) this selects the /api/logs/v1/<tenant> path; use network for openshift-network.
Output Schema
FieldTypeDescription
labelsstring[]

loki_label_values

List possible values for a Loki label key. Use this to build precise label matchers in LogQL.

Parameters:

Required:

ParameterTypeDescription
labelstringLabel key to inspect (for example namespace, pod, container).
Optional Parameters
ParameterTypeDescription
endstringEnd time as RFC3339, Unix timestamp, NOW, or NOW-relative expression (optional).
lokiNamestringName of the LokiStack. Use loki_list_instances to discover valid values.
lokiNamespacestringKubernetes namespace of the LokiStack. Use loki_list_instances to discover valid values.
startstringStart time as RFC3339, Unix timestamp, NOW, or NOW-relative expression (optional).
tenantstringLoki tenant ID (X-Scope-OrgID). For LokiStack gateway modes (e.g. openshift-network) this selects the /api/logs/v1/<tenant> path; use network for openshift-network.
Output Schema
FieldTypeDescription
valuesstring[]

loki_query_range

Execute a Loki LogQL range query and return matching log streams and lines.

Usage Tips
  • Use precise label matchers and a short time window first.

Parameters:

Required:

ParameterTypeDescription
querystringLogQL query string.
Optional Parameters
ParameterTypeDescription
directionstringSearch direction: backward (default) or forward.
durationstringLookback duration from now when start/end are omitted (for example 5m, 1h). Defaults to 15m.
endstringEnd time as RFC3339, Unix timestamp, NOW, or NOW-relative expression (optional).
limitintegerMaximum number of log lines to return. Defaults to 100, max 1000.
lokiNamestringName of the LokiStack. Use loki_list_instances to discover valid values.
lokiNamespacestringKubernetes namespace of the LokiStack. Use loki_list_instances to discover valid values.
startstringStart time as RFC3339, Unix timestamp, NOW, or NOW-relative expression (optional).
tenantstringLoki tenant ID (X-Scope-OrgID). For LokiStack gateway modes (e.g. openshift-network) this selects the /api/logs/v1/<tenant> path; use network for openshift-network.

Note

Parameters with patterns must match: ^\d+[smhdwy]$

Output Schema
FieldTypeDescription
resultTypestring
streamsobject[]

โš™๏ธ OpenTelemetry Collector

otelcol_list_components

List available OpenTelemetry Collector components (receivers, processors, exporters, extensions, connectors) for a given version.

Parameters:

Optional Parameters
ParameterTypeDescription
versionstringCollector version (e.g., 'v0.100.0'). Defaults to latest available.
Output Schema
FieldTypeDescription
componentsobjectMap of component type to component names
connectorsstring[]List of available connector component names
exportersstring[]List of available exporter component names
extensionsstring[]List of available extension component names
processorsstring[]List of available processor component names
receiversstring[]List of available receiver component names
versionstringThe OpenTelemetry Collector version

otelcol_get_component_schema

Get the JSON schema for an OpenTelemetry Collector component's configuration options.

Parameters:

Required:

ParameterTypeDescription
component_namestringComponent name from otelcol_list_components (e.g., 'otlp', 'batch', 'debug')
component_typestringComponent type: receiver, processor, exporter, extension, connector
Optional Parameters
ParameterTypeDescription
versionstringCollector version (e.g., 'v0.100.0'). Defaults to latest available.
Output Schema
FieldTypeDescription
namestringThe component name
schemaobjectThe JSON schema for the component configuration
typestringThe component type (receiver, processor, exporter, extension, connector)
versionstringThe OpenTelemetry Collector version

otelcol_validate_config

Validate an OpenTelemetry Collector component configuration against its JSON schema.

Parameters:

Required:

ParameterTypeDescription
component_namestringComponent name from otelcol_list_components (e.g., 'otlp', 'batch', 'debug')
component_typestringComponent type: receiver, processor, exporter, extension, connector
configstringConfiguration to validate as YAML or JSON string
Optional Parameters
ParameterTypeDescription
formatstringConfig format: 'yaml' (default) or 'json'
versionstringCollector version (e.g., 'v0.100.0'). Defaults to latest available.
Output Schema
FieldTypeDescription
errorsobject[]List of validation errors if invalid
validbooleanWhether the configuration is valid
versionstringThe OpenTelemetry Collector version used for validation

otelcol_get_versions

List available OpenTelemetry Collector versions and identify the latest.

No parameters.

Output Schema
FieldTypeDescription
latest_versionstringThe latest available version
versionsstring[]List of available OpenTelemetry Collector versions