otel.agnost.ai. Any framework that supports OpenTelemetry tracing can send spans to it — no SDK required.
Quick Setup
Point your OTLP exporter atotel.agnost.ai and include your org ID in the headers:
Supported Frameworks
Vercel AI SDK
The Vercel AI SDK emits spans withai.* prefixed names. No extra configuration is needed beyond pointing the exporter to Agnost.
OpenAI SDK (Python)
Install the OpenAI SDK with OTel instrumentation:gen_ai.* attributes) and are automatically classified.
Anthropic SDK (Python)
MCP Toolbox for Databases
Custom Tool Spans
Name any span with atool. prefix and it is automatically classified as a tool call:
Session & User Tracking
The collector resolves a session ID and user ID from span attributes using the following priority chains.Session ID
| Priority | Attribute | Source |
|---|---|---|
| 1 | agnost.session_id | Explicit override (always wins) |
| 2 | ai.telemetry.metadata.sessionId | Vercel AI SDK experimental_telemetry.metadata |
| 3 | ai.telemetry.metadata.conversationId | Vercel AI SDK custom metadata |
| 4 | ai.telemetry.metadata.projectId | Vercel AI SDK custom metadata |
| 5 | mcp.session.id | MCP server session |
| 6 | projectId / conversationId | Legacy bare keys |
| — | (trace ID) | Fallback — one trace = one session |
User ID
| Priority | Attribute | Source |
|---|---|---|
| 1 | agnost.user_id | Explicit override |
| 2 | ai.telemetry.metadata.userId | Vercel AI SDK metadata |
| 3 | enduser.id | OTel semantic convention |
| 4 | user.id / user_id | Common custom attributes |
