Unified MCP server for observability and monitoring. Provides Model Context Protocol tools for querying metrics, logs, and traces through Prometheus, Grafana, Loki, and Jaeger.
poly-observability-mcp exposes observability capabilities through the Model Context Protocol (MCP), enabling AI assistants and other MCP clients to query metrics, search logs, analyze traces, and manage dashboards across the observability stack.
Metrics querying and alerting:
-
prometheus_query- Execute an instant PromQL query -
prometheus_query_range- Execute a range PromQL query -
prometheus_series- List time series matching a selector -
prometheus_labels- List all label names -
prometheus_label_values- List values for a specific label -
prometheus_targets- Get current scrape targets and their status -
prometheus_alerts- Get current active alerts -
prometheus_rules- Get alerting and recording rules
Dashboard and visualization management:
-
grafana_search_dashboards- Search for dashboards by name or tag -
grafana_get_dashboard- Get a dashboard by UID -
grafana_list_datasources- List all configured data sources -
grafana_get_datasource- Get data source details by name -
grafana_list_folders- List all dashboard folders -
grafana_get_alert_rules- Get all alert rules -
grafana_get_annotations- Get annotations within a time range -
grafana_get_org- Get current organization info
Log aggregation and querying:
-
loki_query- Execute an instant LogQL query -
loki_query_range- Execute a range LogQL query -
loki_labels- List all label names -
loki_label_values- List values for a specific label -
loki_series- List log streams matching a selector -
loki_tail- Get recent logs (snapshot of tail) -
loki_index_stats- Get index statistics
-
Deno runtime
-
Prometheus (for metrics tools)
-
Grafana (for dashboard tools)
-
Loki (for log tools)
-
Jaeger (for tracing tools)
git clone https://github.com/hyperpolymath/poly-observability-mcp
cd poly-observability-mcp
deno cache main.js|
Note
|
This project uses Deno with npm: specifiers. No npm install required.
|
Run as MCP server:
deno run --allow-read --allow-env --allow-net main.jsOr use the systemd service:
systemctl --user enable poly-observability-mcp
systemctl --user start poly-observability-mcp-
Query application metrics and performance data
-
Search and analyze logs across services
-
Trace requests through distributed systems
-
Monitor and manage Grafana dashboards
-
Investigate incidents using correlated telemetry