io.github.CloudCorpRecords/dashmetrics

السجل الرسمي أخرى

Grafana dashboards, datasources, Prometheus, Loki, and alerts from your MCP client.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package @reneturcios/dashmetrics
Claude Code
claude mcp add dashmetrics -- npx -y @reneturcios/dashmetrics@0.1.0 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "dashmetrics": {
            "command": "npx",
            "args": [
                "-y",
                "@reneturcios/dashmetrics@0.1.0",
                "mcp"
            ]
        }
    }
}
OCI package ghcr.io/cloudcorprecords/dashmetrics:0.1.0
Claude Code
claude mcp add dashmetrics -- docker run -i --rm ghcr.io/cloudcorprecords/dashmetrics:0.1.0 mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "dashmetrics": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/cloudcorprecords/dashmetrics:0.1.0",
                "mcp"
            ]
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. dashmetrics
  2. Install
  3. CLI
  4. MCP server
  5. Development
  6. License

dashmetrics

dashmetrics gives an MCP client or a terminal read access to a Grafana instance: dashboard search and retrieval, datasource inspection, Prometheus range queries with metric and label discovery, Loki log queries with label discovery, and the provisioned alert rules and contact points. It is a clean-room rebuild of the documented core of Grafana's MCP tool surface, built from Grafana's public HTTP API documentation.

Point it at an instance with GRAFANA_URL (default http://localhost:3000) and authenticate with a service account token in GRAFANA_SERVICE_ACCOUNT_TOKEN, sent as a Bearer token. The legacy GRAFANA_API_KEY variable is accepted as a fallback when the primary variable is unset. When no token is set, every call fails with an error that names GRAFANA_SERVICE_ACCOUNT_TOKEN; when the instance is unreachable, the error names the base URL it tried.

Install

npx @reneturcios/dashmetrics list_datasources

Or run the container image:

docker run -i -e GRAFANA_URL -e GRAFANA_SERVICE_ACCOUNT_TOKEN ghcr.io/cloudcorprecords/dashmetrics

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

Every MCP tool is also a CLI subcommand. Tool arguments are passed as one JSON object with --json:

export GRAFANA_URL=http://localhost:3000
export GRAFANA_SERVICE_ACCOUNT_TOKEN=<redacted>

dashmetrics search_dashboards --json '{"query": "api", "limit": 5}'
dashmetrics get_dashboard_by_uid --json '{"uid": "dash-1"}'
dashmetrics list_datasources
dashmetrics query_prometheus --json '{"datasourceUid": "prom1", "expr": "up", "start": "now-1h", "end": "now", "step": "15s"}'
dashmetrics query_loki_logs --json '{"datasourceUid": "loki1", "query": "{job=\"api\"}"}'
dashmetrics list_alert_rules

dashmetrics --version

Results print as JSON. Exit codes: 0 on success, 1 when an API call fails (including a missing token), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/dashmetrics mcp

MCP client configuration:

{
  "mcpServers": {
    "dashmetrics": {
      "command": "npx",
      "args": ["-y", "@reneturcios/dashmetrics", "mcp"],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_SERVICE_ACCOUNT_TOKEN": "your Grafana service account token"
      }
    }
  }
}
Tools
ToolInput (required in bold)What it does
search_dashboardsquery, limit, typeSearches dashboards/folders (/api/search).
get_dashboard_by_uiduidReturns one dashboard by uid.
list_datasources—Lists configured datasources.
get_datasource_by_uiduidReturns one datasource by uid.
query_prometheusdatasourceUid, expr, start, end, stepPrometheus range query via the datasource proxy.
list_prometheus_metric_namesdatasourceUid, regexLists metric names, regex-filtered.
list_prometheus_label_namesdatasourceUid, metricLists label names.
list_prometheus_label_valuesdatasourceUid, label, metricLists one label's values.
query_loki_logsdatasourceUid, query, start, end, limitLoki LogQL range query via the proxy.
list_loki_label_namesdatasourceUidLists Loki label names.
list_loki_label_valuesdatasourceUid, labelLists one Loki label's values.
list_alert_ruleslimitLists provisioned alert rules.
get_alert_rule_by_uiduidReturns one provisioned alert rule.
list_contact_pointslimitLists provisioned contact points.

Prometheus and Loki calls go through Grafana's documented datasource proxy paths (/api/datasources/proxy/uid/{uid}/...). Out of scope: incident creation/update, on-call schedules, Sift/Asserts, and admin/user management — see BUILD-REPORT.md.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

الأسئلة الشائعة

ما هو io.github.CloudCorpRecords/dashmetrics؟

Grafana dashboards, datasources, Prometheus, Loki, and alerts from your MCP client.

كيف أثبّت io.github.CloudCorpRecords/dashmetrics؟

يعمل على جهازك. في Claude Code: claude mcp add dashmetrics -- npx -y @reneturcios/dashmetrics@0.1.0 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.CloudCorpRecords/dashmetrics إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل io.github.CloudCorpRecords/dashmetrics مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.CloudCorpRecords/dashmetrics؟

ينشره CloudCorpRecords. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.