MCP server analytics

TypeScript MCP SDK

Add Voxmith analytics to your TypeScript MCP server

Install

npm install voxmith

Integrate

Call trackMCP after creating your server, before connecting transport:

import { trackMCP } from 'voxmith';

// your existing server setup...

trackMCP(server, 'your-org-id');

Get your org ID from app.voxmith.com.

Options

trackMCP(server, 'your-org-id', {
  disableInput: false,   // set true to skip tracking tool inputs
  disableOutput: false,  // set true to skip tracking tool outputs
  identify: (request, env) => ({
    userId: request?.headers?.['x-user-id'] || 'anonymous',
    email: request?.headers?.['x-user-email'],
  }),
});

Checkpoints

Use checkpoint() inside tool handlers to get per-step latency breakdowns:

import { trackMCP, checkpoint } from 'voxmith';

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  checkpoint('db_query_start');
  const rows = await db.query(/* ... */);
  checkpoint('db_query_done', { rowCount: rows.length });

  checkpoint('format_start');
  const result = format(rows);
  checkpoint('format_done');

  return result;
});

trackMCP(server, 'your-org-id');

Checkpoints appear as a timeline in your dashboard.

What appears in Voxmith

  • Tool calls for MCP tool invocations.
  • Events for every tracked call.
  • Checkpoint timeline for calls that use checkpoint().
  • Failed tool calls remain visible in Events with their error details.

Verify

Call one MCP tool from your client, then open app.voxmith.com. Check Events first, then Tool calls.

Troubleshooting

  • Call trackMCP after creating your server and before connecting transport.
  • Confirm the org ID is correct.

Next steps

  • Tool calls: analyze calls from your TypeScript server.
  • Events: verify call fields and execution details.
  • Alerts: monitor important MCP tool conditions.