trackmcp
All posts
GuideOct 10, 2025·4 min read

Instrument your MCP server in one line

You don't need an observability project to start. Wrap your server, deploy, and read the data the same day.

Krishna GoyalKrishna GoyalFounder, TrackMCP
Key takeaways
  • Instrumenting at the protocol layer costs one line and one deploy.
  • You get clients, adoption, completions, and silent failures on day one.
  • Add redaction and custom events later, only if you need them.

The reason most MCP servers ship without analytics is not disagreement about value; it is the assumed cost. But instrumenting at the protocol layer means the cost is one line and one deploy.

The whole setup

import { withTrackMCP } from "@trackmcp/sdk";
import { server } from "./mcp";

export default withTrackMCP(server, {
  apiKey: process.env.TRACKMCP_KEY,
  service: "acme-mcp-server",
});

Python is the same shape with with_trackmcp. Your tools do not change. There are no per-tool decorators and no custom events required to get the core picture.

The whole setup: wrap the server, pass your key, ship.

What you get on day one

  • Active clients and client mix
  • Tool adoption and the tools nobody calls
  • Completed workflows and where sessions stop
  • Silent failures hiding inside successful responses

Start there. Add redaction and custom events later if you need them. The point is that the first insight is minutes away, not a quarter away.

See this on your own server

TrackMCP turns your MCP server's calls into adoption, workflows, and outcomes. One line to install.

Keep reading