Skip to content

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.