Skip to main content
FrontMCP has native observability built in. Enable it with a single config line and get automatic distributed tracing, structured JSON logging, and per-request log collection across your entire server — every tool call, resource read, prompt invocation, auth flow, and transport session.

How It Works

When enabled:
  • Zero config — 103+ hooks register automatically on every flow
  • Single trace ID — all spans in a request share the same W3C trace ID
  • Privacy-safe session ID — a truncated SHA-256 hash, never the real session ID
  • Zero overhead when unused — without a TracerProvider, all OTel calls are no-ops
  • MCP-interoperable — uses rpc.system = "mcp" and mcp.* attributes for cross-framework tracing

What Gets Instrumented

Every flow in the SDK is automatically traced:

Logging vs Tracing

They’re complementary, not competing: A log line says “what happened.” A span says “how long it took.” When both share the same trace_id, platforms like Coralogix or Datadog show logs inline within a trace waterfall.

Learn More

Setup Guide

Step-by-step: install, configure backends, use this.telemetry

Telemetry API Reference

Full API for TelemetryAccessor, TelemetrySpan, and testing utilities

OpenTelemetry

OpenTelemetry documentation

Plugin System

How plugins hook into the request lifecycle