{"id":36989907,"url":"https://github.com/hyperpolymath/poly-observability-mcp","last_synced_at":"2026-01-13T23:32:20.236Z","repository":{"id":328823787,"uuid":"1116010057","full_name":"hyperpolymath/poly-observability-mcp","owner":"hyperpolymath","description":"Unified MCP server for observability and monitoring. Tools for Prometheus, Grafana, Loki, and Jaeger.","archived":false,"fork":false,"pushed_at":"2026-01-12T06:06:02.000Z","size":396,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T19:44:22.986Z","etag":null,"topics":["analytics","automation","deno","grafana","jaeger","loki","mcp","mcp-server","metrics","model-context-protocol","monitoring","my-coolest-projects","observability","operations","orchestration","poly-mcp","prometheus","telemetry"],"latest_commit_sha":null,"homepage":null,"language":"ReScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyperpolymath.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.adoc","authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"hyperpolymath","ko_fi":"hyperpolymath","liberapay":"hyperpolymath"}},"created_at":"2025-12-14T02:19:04.000Z","updated_at":"2026-01-12T06:06:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hyperpolymath/poly-observability-mcp","commit_stats":null,"previous_names":["hyperpolymath/poly-observability-mcp"],"tags_count":1,"template":false,"template_full_name":"hyperpolymath/rsr-template-repo","purl":"pkg:github/hyperpolymath/poly-observability-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperpolymath%2Fpoly-observability-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperpolymath%2Fpoly-observability-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperpolymath%2Fpoly-observability-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperpolymath%2Fpoly-observability-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperpolymath","download_url":"https://codeload.github.com/hyperpolymath/poly-observability-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperpolymath%2Fpoly-observability-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28405302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T21:51:37.118Z","status":"ssl_error","status_checked_at":"2026-01-13T21:45:14.585Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","automation","deno","grafana","jaeger","loki","mcp","mcp-server","metrics","model-context-protocol","monitoring","my-coolest-projects","observability","operations","orchestration","poly-mcp","prometheus","telemetry"],"created_at":"2026-01-13T23:32:18.313Z","updated_at":"2026-01-13T23:32:20.221Z","avatar_url":"https://github.com/hyperpolymath.png","language":"ReScript","funding_links":["https://github.com/sponsors/hyperpolymath","https://ko-fi.com/hyperpolymath","https://liberapay.com/hyperpolymath"],"categories":[],"sub_categories":[],"readme":"= poly-observability-mcp\n:toc:\n:toc-placement!:\n\nimage:https://img.shields.io/badge/RSR-compliant-gold[RSR Compliant,link=https://github.com/hyperpolymath/rhodium-standard-repositories]\nimage:https://img.shields.io/badge/MCP-server-blue[MCP Server,link=https://github.com/modelcontextprotocol]\nimage:[License,link=\"https://github.com/hyperpolymath/palimpsest-license\"]\n\n// SPDX-License-Identifier: PMPL-1.0\n// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell\n\n\nUnified MCP server for observability and monitoring. Provides Model Context Protocol tools for querying metrics, logs, and traces through Prometheus, Grafana, Loki, and Jaeger.\n\ntoc::[]\n\n== Overview\n\npoly-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.\n\n== Adapters\n\n=== Prometheus (8 tools)\nMetrics querying and alerting:\n\n* `prometheus_query` - Execute an instant PromQL query\n* `prometheus_query_range` - Execute a range PromQL query\n* `prometheus_series` - List time series matching a selector\n* `prometheus_labels` - List all label names\n* `prometheus_label_values` - List values for a specific label\n* `prometheus_targets` - Get current scrape targets and their status\n* `prometheus_alerts` - Get current active alerts\n* `prometheus_rules` - Get alerting and recording rules\n\n=== Grafana (8 tools)\nDashboard and visualization management:\n\n* `grafana_search_dashboards` - Search for dashboards by name or tag\n* `grafana_get_dashboard` - Get a dashboard by UID\n* `grafana_list_datasources` - List all configured data sources\n* `grafana_get_datasource` - Get data source details by name\n* `grafana_list_folders` - List all dashboard folders\n* `grafana_get_alert_rules` - Get all alert rules\n* `grafana_get_annotations` - Get annotations within a time range\n* `grafana_get_org` - Get current organization info\n\n=== Loki (7 tools)\nLog aggregation and querying:\n\n* `loki_query` - Execute an instant LogQL query\n* `loki_query_range` - Execute a range LogQL query\n* `loki_labels` - List all label names\n* `loki_label_values` - List values for a specific label\n* `loki_series` - List log streams matching a selector\n* `loki_tail` - Get recent logs (snapshot of tail)\n* `loki_index_stats` - Get index statistics\n\n=== Jaeger (5 tools)\nDistributed tracing:\n\n* `jaeger_services` - List all services in Jaeger\n* `jaeger_traces` - Get traces for a service\n* `jaeger_trace` - Get a specific trace by ID\n* `jaeger_operations` - Get operations for a service\n* `jaeger_dependencies` - Get service dependency graph\n\n== Requirements\n\n* https://deno.land/[Deno] runtime\n* https://prometheus.io/[Prometheus] (for metrics tools)\n* https://grafana.com/[Grafana] (for dashboard tools)\n* https://grafana.com/oss/loki/[Loki] (for log tools)\n* https://www.jaegertracing.io/[Jaeger] (for tracing tools)\n\n== Configuration\n\n=== Prometheus\n\n[source,bash]\n----\nexport PROMETHEUS_URL=http://localhost:9090\n----\n\n=== Grafana\n\n[source,bash]\n----\nexport GRAFANA_URL=http://localhost:3000\nexport GRAFANA_API_KEY=your-api-key\n----\n\n=== Loki\n\n[source,bash]\n----\nexport LOKI_URL=http://localhost:3100\n----\n\n=== Jaeger\n\n[source,bash]\n----\nexport JAEGER_URL=http://localhost:16686\n----\n\n== Installation\n\n[source,bash]\n----\ngit clone https://github.com/hyperpolymath/poly-observability-mcp\ncd poly-observability-mcp\ndeno cache main.js\n----\n\nNOTE: This project uses Deno with npm: specifiers. No `npm install` required.\n\n== Usage\n\nRun as MCP server:\n\n[source,bash]\n----\ndeno run --allow-read --allow-env --allow-net main.js\n----\n\nOr use the systemd service:\n\n[source,bash]\n----\nsystemctl --user enable poly-observability-mcp\nsystemctl --user start poly-observability-mcp\n----\n\n== Use Cases\n\n* Query application metrics and performance data\n* Search and analyze logs across services\n* Trace requests through distributed systems\n* Monitor and manage Grafana dashboards\n* Investigate incidents using correlated telemetry\n\n== License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperpolymath%2Fpoly-observability-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperpolymath%2Fpoly-observability-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperpolymath%2Fpoly-observability-mcp/lists"}