Grafana's own server: dashboards, data sources and queries against Prometheus and Loki through the Grafana you already run.
Observability desk
Queries metrics and traces, finds the slow span, and designs the dashboards and SLOs that make the next incident shorter.
Built for: The team that has Prometheus, Grafana and a tracing backend running, and still answers "is it slow?" by opening five tabs.
The button opens the checkout, where the 3 servers and 5 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Run PromQL against Prometheus and read the series before and after a deploy, with the query kept next to the answer.
- 02
Find the critical path of a slow trace in Jaeger and compare latency percentiles between yesterday and today for one service.
- 03
Draft the dashboard, the recording rules and the SLO with its error budget for a service that has none.
- 04
Work through a hard bug by adding the instrumentation that settles it, rather than guessing from the code.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
Instant and range PromQL queries, metric metadata, labels and scrape targets, straight from the Prometheus API.
Read-only Jaeger: trace search, critical path, per-operation latency percentiles, service dependencies and regression diffs between two time windows.
Scrape configuration, recording rules and alerting rules, written so the alert that pages is the one that matters.
Dashboards laid out for the question they answer, with the panels and variables a person on call actually uses.
Tracing with Jaeger and Tempo — instrumentation, context propagation, sampling — for requests that cross services.
SLIs, SLOs and error budgets with the alerting that follows from them, instead of thresholds nobody can defend.
A debugging method that adds the measurement before the fix: evidence first, hypothesis second.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Grafana | Free | — |
| Prometheus | Free | — |
| Jaeger | Free | — |
| Skills | ||
| Prometheus Configuration | Free · context cost only | — |
| Grafana Dashboards | Free · context cost only | — |
| Distributed Tracing | Free · context cost only | — |
| SLO Implementation | Free · context cost only | — |
| Observability-First Debugging | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 3 servers and 5 skills, and all 15 tools.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add observability writes all 3 servers into Claude Code’s config in one go — or run the lines below one by one. The 5 skills are not included — add them with lines 04–08.
- Grafana
GRAFANA_URL— URL to your Grafana instance- Jaeger
JAEGER_URL— Jaeger query service URL, e.g. https://jaeger.example.com
Set them where you start Claude Code — export GRAFANA_URL=… in your shell profile on macOS and Linux, setx GRAFANA_URL "…" on Windows, then open a new terminal. Claude Code reads them at start; the config keeps only the names.
# 01 · Grafana
claude mcp add --scope user --env 'GRAFANA_URL=${GRAFANA_URL}' --transport stdio grafana-grafana-mcp '--' docker run -i --rm -e GRAFANA_URL docker.io/grafana/mcp-grafana:2.0.2 -t stdio
# 02 · Prometheus
claude mcp add --scope user prometheus-mcp '--' npx -y prometheus-mcp stdio
# 03 · Jaeger
claude mcp add --scope user --env 'JAEGER_URL=${JAEGER_URL}' --transport stdio mshegolev-jaeger-mcp '--' uvx jaeger-mcp
# 04 · Prometheus Configuration
npx mcprush@latest skill add wshobson/prometheus-configuration
# 05 · Grafana Dashboards
npx mcprush@latest skill add wshobson/grafana-dashboards
# 06 · Distributed Tracing
npx mcprush@latest skill add wshobson/distributed-tracing
# 07 · SLO Implementation
npx mcprush@latest skill add wshobson/slo-implementation
# 08 · Observability-First Debugging
npx mcprush@latest skill add ntcoding/observability-first-debuggingRequirements and Windows tips
- Node.js — the current LTS (24) is the safe choice (for
npx). - uv (for
uvx, docs.astral.sh/uv). - Docker, installed and running.
- Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 2 members want an API key, set in your own client’s config on your machine — this marketplace never holds it.
- 1 member has not declared what credential it needs — check each one’s own page before you start.
- What this stack can write is not recorded — 2 members of 3 have no imported tool surface. Section 05 says what is known before you approve anything.
- 3 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Grafana | not imported | not recorded |
| Prometheus | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 2 members of 3 have no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
If your traces go to Honeycomb, query them there: Honeycomb's hosted server reads traces, events, SLOs and triggers, and nothing runs on your machine.
A shop on New Relic reads metrics, logs and traces through New Relic's own hosted server instead of a Grafana it does not run.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It does not page anyone or acknowledge alerts. Routing and escalation stay in your incident tool; the on-call desk covers the first ten minutes.
It reads telemetry you already collect. A service without metrics or traces gets a plan to instrument it, not answers.
The Grafana member is a container image and needs Docker; its access is whatever the service account token allows.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Stacks that share parts with this one
On-call
Tools to investigate alerts, check recent changes and follow the runbook.
Code review
Tools to inspect code changes, run checks and prepare a pull request review.
Bug reproduction
Tools to investigate a bug report and work toward a reproducible test case.