Metrics
The sixteen metrics MCPulse records
Eleven are counted as your calls arrive. Two land when your server boots, before a single call happens. Three need a night's worth of calls first, and the page says so rather than pretending.
Where you see these numbers
One row per tool, and every column below is one of the sixteen. The figures worth acting on are coloured and the rest are left alone — a dashboard that tones every cell leaves you deciding which of twelve amber numbers matters.
Every figure narrows the same way: to one tool, to one client, to one hour of one day. The counters are one row per hour per tool per client, which is what makes that possible without keeping a row per call.
All sixteen metrics, grouped by when they update
Grouped by where they come from rather than by what they measure, because when a number becomes true is the thing you need to know before you act on it.
Live on ingest
Counted as each payload lands.
11 metrics
- 01
Calls per tool
Which of your tools agents actually reach.
- 02
Calls per day
The shape of a range — by the hour when you ask for a single day, drawn flat at zero when nothing happened, never left blank.
- 03
Which client
Claude Desktop, Cursor, or something you did not expect — with its own outcomes, latency and first-call rate, not just a share of the total.
- 04
Crashes
Your handler threw. A bug list, sorted by tool.
- 05
Tool errors
You returned isError deliberately. Healthy in small doses.
- 06
Bad arguments
Validation rejected the call. Usually your schema, not the agent.
- 07
Empty answers
Succeeded and returned nothing usable. The failure nobody reports.
- 08
Speed
Four buckets, because percentiles cannot be summed across days.
- 09
Result size
Bytes per answer, which is what context actually costs.
- 10
Sessions
Counted from their own rows, so one crossing midnight counts once.
- 11
Cost per session
What a single conversation with your server spends.
Nightly pass
02:00 UTC. Labelled as of yesterday, because they are.
3 metrics
- 12
Retries
Same tool, inside 30 seconds, with different arguments.
- 13
First-call success
Asked once, got something usable, moved on.
- 14
Tool pairs
Which tools get called one after another.
From the startup payload
Sent once, when your server boots.
2 metrics
- 15
Schema size
What each tool costs in context before anyone asks a question.
- 16
Dead tools
Registered, described, and never once called.
Why three metrics are computed overnight
Retries, first-call success and tool pairs are not counters. Each one is a statement about a sequence of calls, and a sequence is not finished while calls are still arriving.
A retry is only a retry in hindsight
The same tool, called again inside thirty seconds, with different arguments. At the moment the first call lands, nothing about it is a retry — that is decided by whatever happens next, and if we counted it live we would be counting the second call and guessing about the first.
First-call success needs the calls that followed
Asked once, got something usable, moved on. You cannot know somebody moved on until they have had the chance not to. Counted live, this number would be optimistic every time and would settle downward all day.
A session can cross midnight
So the pass cannot simply take yesterday's rows: a conversation that started at 23:50 belongs to one session, not two days. The pass reads a window that overlaps the boundary, which is the whole reason it is a pass and not a query.
So they are labelled as of yesterday
Not hidden behind a spinner, not quietly stale, and not shown as though they were live. Thirteen numbers move as your traffic moves; three carry a date. A dashboard that blurred that line would be easier to sell and would have told you its first lie on the first screen.
How a number becomes something to fix
A dashboard that makes you work out what to do with it has done half the job. These are the actual thresholds — a number crosses one, and the overview says so in a sentence that names the tool and the consequence.
| Rule | What it says |
|---|---|
| Low first-call | Agents retried X N times on average. |
| Heavy payload | X returns ~Nk tokens per call, roughly $N of context each time. |
| Silent empties | N calls to X returned empty with no error. |
| Dead tool | X has never been called but costs N tokens of schema every session. |
| Slow tool | N% of X calls take over 2 seconds. |
search_orders
Agents retried it 2.4 times on average before getting a usable answer.
list_customers
Returns ~14 kB per call — about 3.5k tokens, roughly $0.01 of context every time it runs.
get_invoice
312 calls returned empty with no error at all.
export_report
Has never been called, but costs 480 tokens of schema every session.
The same figures are reachable through the API and an MCP connector on every plan, so your agent can ask these questions the way you would — see the documentation.
See all sixteen on your own server
Dead tools and schema cost appear as soon as you install. The per-call numbers fill in as traffic arrives, and three of them land after the first night.
Free forever. No card, no trial to expire. All ten MCP SDKs supported.