OpenTelemetry MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOKI_URL | No | The URL of your Loki instance | |
| LOG_LEVEL | No | Logging level for the server | INFO |
| LOKI_PASSWORD | No | Password for Loki basic authentication | |
| LOKI_USERNAME | No | Username for Loki basic authentication | |
| LOKI_AUTH_TYPE | No | Authentication type for Loki (none, basic, or bearer) | none |
| PROMETHEUS_URL | No | The URL of your Prometheus instance | |
| MCP_OIDC_ISSUER | No | OIDC issuer URL for MCP server authentication | |
| MCP_AUTH_ENABLED | No | Enable OIDC authentication for the MCP server | false |
| LOKI_BEARER_TOKEN | No | Bearer token for Loki authentication | |
| MCP_OIDC_AUDIENCE | No | OIDC audience for MCP server authentication | |
| DEFAULT_TIME_RANGE | No | Default time range for queries | 1h |
| MCP_OIDC_CLIENT_ID | No | OIDC client ID for MCP server authentication | |
| PROMETHEUS_PASSWORD | No | Password for Prometheus basic authentication | |
| PROMETHEUS_USERNAME | No | Username for Prometheus basic authentication | |
| PROMETHEUS_AUTH_TYPE | No | Authentication type for Prometheus (none, basic, or bearer) | none |
| PROMETHEUS_BEARER_TOKEN | No | Bearer token for Prometheus authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| query_prometheusA | Execute raw PromQL instant query against Prometheus. Returns metric values at a specific point in time. |
| query_prometheus_rangeB | Execute PromQL query over a time range. Returns time series data. Use this for getting metrics over time. |
| list_metricsB | List all available metrics in Prometheus. Useful for discovering what metrics are being collected. |
| list_label_valuesB | Get all values for a specific label. Common labels: 'service', 'job', 'namespace', 'instance'. Use this to discover what services/namespaces are monitored. |
| list_labelsA | Get all label names available in Prometheus. Use this to discover what labels you can filter by. |
| query_lokiB | Execute raw LogQL query against Loki. Use this to search and filter logs. |
| search_logsB | Search logs with simple filters. Easier than writing raw LogQL queries. |
| list_log_labelsB | List all log stream labels in Loki. Use this to discover what labels are available for filtering. |
| list_log_label_valuesA | Get all values for a specific log label. Common labels: 'namespace', 'job', 'app'. Use this to discover what namespaces/services have logs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools have distinct purposes, but there is some overlap between 'query_loki' and 'search_logs' as both handle log queries, which could cause confusion. The other tools are clearly differentiated by their target systems (Prometheus vs. Loki) and query types (instant vs. range).
All tool names follow a consistent verb_noun pattern with clear, descriptive naming. The verbs ('list', 'query', 'search') are used appropriately, and the nouns ('labels', 'metrics', 'logs') accurately reflect the target resources, making the set highly predictable.
With 9 tools, the server is well-scoped for its OpenTelemetry monitoring purpose. It covers essential operations for both Prometheus (metrics) and Loki (logs), including discovery, querying, and searching, without being overly complex or insufficient.
The tool set provides strong coverage for querying and discovering metrics and logs, but lacks write operations (e.g., creating or updating metrics/logs) which might be expected in a full OpenTelemetry workflow. However, for read-only monitoring tasks, it is largely complete.