Skip to content

Instrument your agents

Lookspan ingests spans over HTTP. You can build that payload yourself, but the adapters do it for you — capturing model, tokens, prompt/response and timing with no code rewrite. Pick the one that matches your stack:

If your agent uses…UsePage
The OpenAI Node SDK@lookspan/openaiOpenAI SDK
The Anthropic Node SDK@lookspan/anthropicAnthropic SDK
An MCP client (tool calls)@lookspan/mcpMCP SDK
LangGraph / LangChain / CrewAI (Python)lookspan + adapterPython
Any OpenTelemetry exporter(no SDK)OpenTelemetry
Anything that can POST JSON(no SDK)HTTP API

Shared options

The TypeScript drop-in observers (observeOpenAI, observeAnthropic) and the MCP wrapper accept the same option bag:

OptionTypeDefaultWhat it does
endpointstringhttp://127.0.0.1:3100/api/ingestWhere spans are POSTed.
exporterSpanExporterBring your own exporter (overrides endpoint).
agentIdstringAttribution label shown in the dashboard.
sessionIdstringGroup traces from related agents into a session.
parentTraceIdstringLink this client’s traces to a spawning trace (cross-agent handoff).
providerstringspec defaultProvider label stored on the span.
captureContentbooleantrueCapture prompt/response so Replay & judge work. Set false to keep content out of Lookspan entirely. Secrets are scrubbed server-side regardless.

agentId, sessionId and parentTraceId are what power the sessions & causality view; captureContent is what enables replay and LLM-as-judge.