> ## Documentation Index
> Fetch the complete documentation index at: https://platform.atlan.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the atlanai CLI; `atlanai --map json` prints its command map. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.

# Framework coverage

> Look up the tracing path and support level for each framework, model library, and agent runtime that atlanai SDK works with.

Coverage describes the delivery contract, not every version of a third-party package. Use this page to find the recommended tracing path for a framework or library, then follow its guide.

| Level | Meaning |
| - | - |
| Certified | An executable atlanai SDK test covers the adapter contract |
| Compatible | The integration emits OpenTelemetry or uses a stable callback contract consumed by a supported path |
| Manual | [Wrap the framework boundary](/tools/sdk/how-tos/wrap-unsupported-framework) explicitly |

## Tracing libraries

| Integration | Level | Recommended path |
| - | - | - |
| OpenTelemetry | Certified | [Shared provider](/tools/sdk/how-tos/share-otel-provider), Atlan processor, or [OTLP](/api/how-tos/send-otlp-traces) |
| Temporal | Compatible | OpenTelemetry or direct OTLP |
| Vercel AI SDK | Certified | [`wrapAISDK` or `aiTelemetry`](/frameworks/vercel-ai-sdk/how-tos/vercel-ai-sdk) |
| OpenRouter SDK | Compatible | [Python auto-instrumentation](/tools/sdk/how-tos/trace-python-auto-instrument) or manual boundary |
| LangChain | Certified | [Python `CallbackHandler`](/frameworks/langgraph/how-tos/langgraph); OpenTelemetry for other runtimes |
| LangChain4j | Compatible | Direct OTLP |
| LangSmith | Manual | `traced` or `wrapTraced` |
| LlamaIndex | Compatible | Python auto-instrumentation or OpenTelemetry |
| Agno | Compatible | Python auto-instrumentation or OpenTelemetry |
| Apollo GraphQL | Compatible | OpenTelemetry |
| Cloudflare Workers AI | Compatible | OpenTelemetry or manual boundary |
| DSPy | Compatible | Python auto-instrumentation or OpenTelemetry |
| Instructor | Compatible | Python auto-instrumentation or OpenTelemetry |
| LiteLLM | Compatible | Python auto-instrumentation or OpenTelemetry |
| Ruby LLM | Compatible | Direct OTLP or manual boundary |
| Spring AI | Compatible | Direct OTLP |
| Traceloop | Compatible | Shared OpenTelemetry provider or direct OTLP |
| TrueFoundry | Compatible | Shared OpenTelemetry provider or direct OTLP |

## Agent frameworks

| Integration | Level | Recommended path |
| - | - | - |
| OpenAI Agents SDK | Compatible | [Python auto-instrumentation](/frameworks/openai-agents-sdk/how-tos/openai-agents-sdk) with `opentelemetry-instrumentation-openai-agents` |
| Claude Agent SDK | Manual | `traced` or `wrapTraced` |
| Pi Coding Agent | Manual | `traced` or `wrapTraced` |
| Deep Agents | Compatible | [LangChain callback](/frameworks/langgraph/how-tos/langgraph) |
| LangGraph | Certified | [Python `CallbackHandler`](/frameworks/langgraph/how-tos/langgraph) |
| CrewAI | Compatible | Python auto-instrumentation or OpenTelemetry |
| AutoGen | Compatible | OpenTelemetry |
| AgentScope | Compatible | Python auto-instrumentation or OpenTelemetry |
| Google ADK | Compatible | [Native OpenTelemetry](/frameworks/google-adk/how-tos/google-adk#trace-adk-runs), no instrumentor |
| LiveKit Agents | Compatible | Python auto-instrumentation or OpenTelemetry |
| Mastra | Compatible | OpenTelemetry |
| Pipecat | Compatible | Python auto-instrumentation or OpenTelemetry |
| Pydantic AI | Compatible | [Native OpenTelemetry](/frameworks/pydantic-ai/how-tos/pydantic-ai) through `Agent.instrument_all()` |
| Strands | Compatible | Python auto-instrumentation or OpenTelemetry |
| Cloudflare Agents | Compatible | OpenTelemetry or manual boundary |
| Cloudflare AI Chat | Compatible | `wrapAISDK` or `aiTelemetry` |

<Note>
  Run one representative request after every framework or instrumentor upgrade. Confirm the root, provider call, tool calls, usage, and expected parent relationships in Agent Registry before promoting the build.
</Note>

## Evaluation trace joins

Third-party spans created inside an `Eval` task inherit `atlan.eval.experiment_id`, `atlan.eval.case_id`, and, for a dataset-backed case, `atlan.eval.dataset_record_id` from the active context. The experiment result then stores the root `trace_id` of the case. Bench filters use the experiment attribute, and case drill-down uses the result-to-trace join.

If you run your own harness, execute it inside `run.trace()` in Python or `propagateAttributes(run.traceOptions, fn)` in TypeScript. Flush and verify the traces, upload complete result rows with their numeric score snapshots, then mark the experiment `completed` with one update. Read the returned experiment's `summary`; no separate summarize request is needed.

## See also

* [Agent frameworks](/frameworks/index)
* [Bring your own runner](/evals/custom-runner)
* [Control trace privacy](/tools/sdk/how-tos/privacy)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.