Choosing the window
The time controls in the header work the same way as on the LLM Usage Dashboard:- The date button opens rolling presets (Last 1 hour through Last 30 days), calendar presets (Today, Yesterday, Week to date, Month to date, Last month) and a calendar for a custom range. The arrows either side step the window back or forward by its own width.
- UTC is the default timezone. Switch to Local at the bottom of the date picker to use your browser’s timezone instead. The choice decides where each day and week starts.
- The Hourly / Daily / Weekly selector sets the period length for the charts and the By period table. It follows the window unless you change it, and options that would be unreadable for the window are greyed out.
- Refresh re-fetches the data, and Auto repeats that every 10 seconds. The window is part of the URL, so copying the address shares the view.
The summary cards
Six cards sit at the top, reflecting the selected time range.The three middle cards are peaks, not totals. Each reports the highest count seen in any one period, so a window where ten servers were each busy at different hours shows the busiest hour’s count rather than ten.
Tool Calls
Every MCP message proxied in the period — not only tool invocations. The underlying query counts tool calls plus MCP protocol traffic (tools/list, initialize, and similar). A client that reconnects frequently, or an agent that enumerates tools before every run, inflates this relative to “things the agent actually did.”
For a count of genuine tool invocations, switch the Breakdown tab to group by Tool. Protocol traffic carries no tool name, so it is excluded there.
Error Rate
Requests that failed upstream plus requests blocked by policy or governance. Both land in this one figure, and the count beneath the percentage covers both. A spike is not necessarily a broken server — it may be a policy correctly denying traffic. The Errors tab breaks this down over time, both by server and as a rate.Avg Duration
The mean time per call spent on the MCP server, as measured at the gateway. The timer starts when the gateway sends your request upstream and stops when the server’s response comes back, so the figure is time attributable to the server and the network between it and the gateway.The card is named duration, not latency, because it is the whole call’s wall-clock — not the overhead Barndoor adds on top. It is not a number to subtract from anything.
It’s a mean, not a percentile, so one slow call skews a quiet server. A server with four calls — three at 100ms and one at 30s — reports 7.6s, which describes none of them.
The tabs
Trends
Tool Calls Over Time, Avg Duration Over Time, and Active Users Over Time, one value per period. The period length is set by the granularity selector.Errors
Two views side by side: error count over time stacked by MCP server (the ten largest in the window), and error rate as a percentage. The stack answers “is one server responsible?”; the rate answers “how bad is it relative to volume?” On low traffic these can disagree — a handful of errors is a low count but a high rate. That is expected, and the rate is usually the one to act on.By period
One row per period — hourly, daily or weekly, chosen from the Usage by dropdown — newest first, with tool calls, average duration, errors, error rate, and the users, MCP servers and AI agents active in that period. Options that would be unreadable for the selected range (hourly over a month, weekly over a day) are greyed out. Expanding a row breaks that single period down along the dimension set in Expand to, so you can go from “Tuesday was bad” to “Tuesday was bad on this server” without changing the date range. Quiet periods are hidden by default; the line above the table says how many are held back, and clearing Hide quiet days shows them as zero rows. The first and last periods of a rolling window are usually partial. Export CSV downloads exactly the rows and columns on screen as plain numbers, with the window and timezone recorded in the first line and in the filename (for examplemcp-usage-by-period-2026-09-01_2026-09-07-UTC.csv).
Breakdown
The same traffic grouped along one dimension at a time, chosen from Group by — MCP Server, Tool, User, or AI Agent — with tool calls, average duration, and errors per row. Switch between table, bar and pie with the toggle above it; the charts show the 15 largest rows. The metric definitions above apply unchanged. MCP Server and AI Agent rows are grouped by name, so a server or agent renamed mid-period appears as two rows. Traffic with no value for the chosen dimension — protocol messages when grouping by Tool, for example — is left out, so the rows may not add up to the summary cards. The table returns at most 500 groups, ordered by tool call volume. Only very large or very broad selections reach that, and grouping by Tool over a wide window is the likeliest way to hit it — narrow the date range if you need the tail.Frequently asked
Why is one server's duration in milliseconds and another's in seconds?
Why is one server's duration in milliseconds and another's in seconds?
Usually because the calls genuinely differ. An in-cluster server has a far shorter network path than an external SaaS API, and cheap lookups finish faster than heavy queries. Compare each server against its own history rather than against other servers.
Why does Tool Calls exceed the number of tool calls I expect?
Why does Tool Calls exceed the number of tool calls I expect?
It includes MCP protocol traffic —
tools/list, initialize, and similar — not only tool invocations. Agents that reconnect or re-enumerate tools frequently generate a lot of this. Grouping by Tool on the Breakdown tab excludes it.My error rate spiked but the server looks healthy.
My error rate spiked but the server looks healthy.
Policy denials count as errors. Check the Errors tab to see whether the spike concentrates on one server, and whether it coincides with a policy change rather than an upstream fault.
Can I filter the dashboard to one team or agent?
Can I filter the dashboard to one team or agent?
Not on this dashboard. The Breakdown and By period tabs group by user or AI agent, so per-user and per-agent figures are visible in a table, but the summary cards and charts always cover all organization traffic. The LLM Usage Dashboard does have scope filters, for LLM Gateway traffic only.
Why do the daily totals change when I switch to Local time?
Why do the daily totals change when I switch to Local time?
The timezone decides where each day starts, so a call made late in the evening can move from one day’s row to the next. For the same start and end times, the window’s overall totals don’t change. Keep UTC when comparing figures with colleagues in other timezones.