Writing
Notes on measuring what models do with your tools
Everything here comes out of building MCPulse: the metrics that turned out to matter, the ones that did not, and the parts of MCP that are easy to get wrong.
58 posts Measurement Engineering Privacy Tool design
A server-wide average hides which client is struggling
Your first-call rate is an average over every model that connects to you. When one reads a description correctly and another does not, the average points at nothing.
Read it-
Measurement 4 minCalls per day does not tell you who your users are
The first chart everyone reads, and the easiest to over-read. It counts calls, not people — and by design nothing in MCPulse counts people.
-
Measurement 6 minHow to monitor an MCP server in production
Uptime and an error rate tell you the process is alive. They do not tell you whether the model can use your tools. Here is what to watch, in the order it breaks.
More writing
-
Measurement 5 minMCP server analytics: what to read in your first week
Sixteen numbers arrive at once and most of them mean nothing yet. Read them in this order — the first one is useful before a single call has landed.
-
Engineering 6 minOpenTelemetry for MCP servers: what it misses
OpenTelemetry will carry anything you give it. The hard part of MCP observability is deciding what a call meant, and that part is still yours to write.
-
Engineering 4 minAdding analytics to a Python MCP server
pip install, one import, one wrap. What it attaches to in mcp 2.x and 1.x, what it records, and the one option worth setting in your test suite.
-
Measurement 5 minRetries: when the model calls the same tool twice
Same tool, within thirty seconds, with different arguments. Each part of that definition exists to throw out something that looks like a retry and is not one.
-
Engineering 4 minAdding analytics to a TypeScript MCP server
One import and one wrap, after your tools are registered. Where the wrap goes on a stdio server, where it goes on a streamable-HTTP one, and why those differ.
-
Privacy 4 minWhat deleting a server in MCPulse actually deletes
Everything recorded about it, in one statement, with no undo. What goes, what stays, how long call rows live on each plan, and why the cleanup is the database's job.
-
Privacy 6 minWhat MCPulse receives from your server, field by field
Three payload types, every field in each, and why it is there. The list is short on purpose, and the wire format is a published schema you can check it against.
-
Measurement 9 minA stemming bug, and what it cost us
Our counter did exact string matching, so `screens` and `screening` were two words. Every collision figure we published was optimistic. The corrected ones.
-
Measurement 4 minMCPulse is live on Product Hunt
Sixteen metrics for MCP servers, two lines to install, and the per-client split that a server-wide average hides. Free for one server.
Stop reading about it and measure yours
Every post here came out of the same data the product runs on. Two lines inside your server and the numbers are about you instead.
Free forever. No card, no trial to expire. All ten MCP SDKs supported.