dashmetrics
Provides read access to a Grafana instance, including dashboard search and retrieval, datasource inspection, provisioned alert rules, and contact points.
Enables Prometheus range queries and metric/label discovery through Grafana's datasource proxy, including listing metric names and label names/values.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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_datasourcesOr run the container image:
docker run -i -e GRAFANA_URL -e GRAFANA_SERVICE_ACCOUNT_TOKEN ghcr.io/cloudcorprecords/dashmetricsThe container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Related MCP server: mcp-read-only-grafana
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 --versionResults 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 mcpMCP 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
Tool | Input (required in bold) | What it does |
|
| Searches dashboards/folders ( |
|
| Returns one dashboard by uid. |
| — | Lists configured datasources. |
|
| Returns one datasource by uid. |
|
| Prometheus range query via the datasource proxy. |
|
| Lists metric names, regex-filtered. |
|
| Lists label names. |
|
| Lists one label's values. |
|
| Loki LogQL range query via the proxy. |
|
| Lists Loki label names. |
|
| Lists one Loki label's values. |
|
| Lists provisioned alert rules. |
|
| Returns one provisioned alert rule. |
|
| Lists 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 tsxLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Provides read access to your GKE and Kubernetes resources.
An MCP server giving access to Grafana dashboards, data and more.
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible agents to interact with Grafana instances for searching, creating, and updating dashboards, exploring logs via Loki, querying datasources, managing alerts, incidents, and on-call shifts, and accessing observability data.8Apache 2.0
- AlicenseAqualityBmaintenanceA secure MCP server for Grafana that provides read-only access by default, with a separate write-capable command for mutations.2933 PyPI3MIT
- FlicenseNot gradedqualityDmaintenanceIn-cluster MCP server for read-only diagnostics of Grafana, Prometheus, Alertmanager, and Loki, enabling metric queries, alert listings, and log queries through Grafana datasource proxies with Kubernetes RBAC authentication.-
- FlicenseAqualityDmaintenanceRead-only MCP server that exposes Grafana dashboards, datasources, and metric/log queries as tools, for use by skills in the TICKETS workspace.6-