Who
Clients and connections
See which clients connect, where usage comes from, and which environments are actually active.
Track clients, tools, sessions, failures, and workflow outcomes from one line at the server boundary. Know what to fix before another agent gets stuck.
TypeScript and Python · asynchronous telemetry · fail-open by design
Transport logs tell you that a request happened. MCP analytics tells you whether the agent got where it was going.
Who
See which clients connect, where usage comes from, and which environments are actually active.
What
Understand the tools agents reach for, the paths they take, and the catalog gaps that block them.
Where
Find the first broken call, retry loop, slow dependency, or silent application error inside a 200 OK.
Connect what happened at the protocol layer to the product question behind it: who tried, where they stopped, and what change is worth shipping next.
Adoption
Which clients and tools create real demand?
46%
Claude
Reliability
Which calls are slow, retried, or failing?
1.2s
p95 latency
Outcomes
Did the workflow finish the job?
75%
completion
Wrap the server you already ship. Redact locally, send only the metadata you need, and keep serving even if telemetry is unavailable.
export default withTrackMCP(server, {
apiKey: process.env.TRACKMCP_KEY,
service: "acme-mcp-server",
});Analytics for MCP servers
Start with one server, one key, and one real workflow.