Connect Grafana with a URL and a service-account token.
The tools are Grafana's own MCP server, not a reimplementation of the Grafana API.
Connecting takes a Grafana instance URL and one of three credentials: a service-account token, which is the recommended path and the one the agent's tools require; basic auth with a username and password; or OIDC, where you supply an issuer and a public PKCE client id and sign in through your browser. Lucid Train then downloads Grafana's own official mcp-grafana binary from Grafana's GitHub releases and registers it as a local stdio MCP server, passing the instance URL and credential to it as environment variables. Credentials are stored in the OS keychain.
The token is the one that matters
Create it under Administration, then Service accounts, then Add token. It arrives with a glsa_ prefix. This is the credential the agent's tools actually authenticate with, so it is the one to set up first even if you also want browser sign-in for the dashboard panel.
The OIDC footgun, stated rather than hidden
If you choose OIDC, browser sign-in authenticates the dashboard panel and the Grafana API calls the app makes on your behalf. It does not authenticate the agent's MCP tools, which still need a service-account token supplied alongside it. That is two credentials for one connection, and it surprises people, so the connect card says so at the point of entry rather than failing later with a confusing error.
Grafana's server, not ours
The tools come from mcp-grafana, which Grafana publishes and maintains. Lucid Train fetches the current release and runs it as a child process over stdio. The practical consequence is that the tool surface is whatever that release exposes, so it tracks Grafana's own roadmap rather than ours, and an upstream addition arrives without an update here.
Where the credential lives
Credentials go into the operating system keychain through the connect card, never into the chat transcript and never into the browser layer of the app. The agent is explicitly instructed to refuse a token pasted into conversation and to point at the connect card instead, because a credential in a transcript is a credential in every future context window.
Not a telemetry destination
One thing to be clear about, since it is the assumption people arrive with: this is not a telemetry destination. You do not point an OTLP exporter at Lucid Train and you do not send it traces. It connects to the Grafana you already run and reads through it. Your data stays where it is, and if you have no Grafana there is nothing here to connect to.
The three connection modes
| Mode | What you supply | Agent tools work |
|---|---|---|
| Token | Service-account token (glsa_…) | Yes |
| Basic | Username and password | Yes |
| OIDC | Issuer, PKCE client id, and a token | Only with the token |
Questions
Related
- Chat With Your Grafana DashboardsEvery answer names the query it ran, so you can check it rather than trust it.
- From a Production Symptom to a Code ChangeNot an automated root cause engine. One window that holds both halves of the investigation.
Last updated