Observability MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOKI_URL | No | The URL of the Loki server. | http://localhost:3100 |
| TEMPO_URL | No | The URL of the Tempo server. | http://localhost:3200 |
| GRAFANA_URL | No | The URL of the Grafana server. | http://localhost:3000 |
| GRAFANA_TOKEN | No | The API token for Grafana annotations. | |
| PROMETHEUS_URL | No | The URL of the Prometheus server. | http://localhost:9090 |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obs_connectC | Save backend URLs and probe /ready or Grafana /api/health. |
| obs_disconnectC | Drop an observability session. |
| obs_statusA | List configured observability sessions. |
| obs_query_metricsC | Run an instant PromQL query, for example sum(rate(http_requests_total[5m])). |
| obs_error_rateC | HTTP 5xx rate for a service label over 5 minutes, if that metric exists. |
| obs_query_logsC | Run a LogQL query, for example {service="order-orchestrator"} |= "ERROR". |
| obs_get_traceB | Fetch one Tempo trace by id. |
| obs_search_tracesC | Search Tempo traces. tags example: service.name=order-orchestrator. |
| obs_grafana_datasourcesC | List Grafana datasources. |
| obs_grafana_alertsD | List Grafana alert rules. |
| obs_annotateB | Create a Grafana annotation. This is the write tool for observability. |
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 11 tools
Each tool targets a distinct observability resource and action: connection, status, metrics queries, error-rate specialization, log queries, trace retrieval/search, Grafana datasource/alert listing, and annotation writing. While query_metrics and error_rate both touch metrics, error_rate is narrowly scoped to 5xx rates over a fixed window, and get_trace vs search_traces differ by lookup key vs tags, leaving no ambiguous boundaries.
All tools share the obs_ prefix, followed by a verb_noun or clear verb pattern (e.g., obs_query_metrics, obs_get_trace, obs_grafana_datasources, obs_annotate). The naming is predictable and uniform, with no mixed casing or inconsistent verb styles, making tool selection straightforward.
With 11 tools, the server covers a broad but well-scoped observability surface—metrics, logs, traces, and Grafana integration—without feeling bloated. Each tool serves a distinct purpose and earns its place, fitting within the ideal 3-15 tool range.
The tool set provides solid read coverage for metrics (instant queries, error rates), logs, traces (get/search), and Grafana metadata (datasources, alerts), plus one write operation (annotations). Minor gaps exist, such as missing range queries for Prometheus or alert management write operations, but the core observability workflows are well represented and agents can accomplish typical tasks without dead ends.