MCP server analytics
TypeScript MCP SDK
Add Voxmith analytics to your TypeScript MCP server
Install
npm install voxmithpnpm add voxmithyarn add voxmithIntegrate
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
trackMCPafter 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.
Was this page helpful?