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

# Quickstart

> Install Bento, send your first trace, see it in the dashboard.

Bento is analytics for what your AI app does in production. This page takes you from nothing to a live trace in the dashboard: install the SDK, send one trace, watch it land.

## Set up with an AI coding tool

Your AI coding tool can wire up the SDK for you. Install Bento's Agent Skills, then paste this prompt into Claude Code, Cursor, Codex, OpenCode, or Windsurf:

```text wrap theme={null}
Set up Bento in this project. Run npx skills add BentoLabs-ai/skills, then use the bentolabs-integrate skill for a fresh start, or bentolabs-migrate if I'm coming from another SDK. Walk me through it step by step and confirm before editing.
```

The skill carries the full playbook. It discovers your framework, installs the SDK, wires up `bento.instrument()` or `bento.track_ai`, and verifies the first trace lands.

### Other AI coding tools

Each tool installs the skill the same way, then loads the docs over MCP. Pick yours:

<Tabs>
  <Tab title="Claude Code">
    ```bash theme={null}
    npx skills add BentoLabs-ai/skills
    claude mcp add --transport http bentolabs-docs https://docs.bentolabs.ai/mcp
    ```

    Run `claude` in your project and paste the prompt above.
  </Tab>

  <Tab title="Codex">
    ```bash theme={null}
    npx skills add BentoLabs-ai/skills
    ```

    Add to `~/.codex/config.toml`:

    ```toml theme={null}
    [mcp_servers.bentolabs-docs]
    type = "http"
    url = "https://docs.bentolabs.ai/mcp"
    ```

    Start `codex` and paste the prompt above.
  </Tab>

  <Tab title="OpenCode">
    ```bash theme={null}
    npx skills add BentoLabs-ai/skills
    ```

    Add to `opencode.json`:

    ```json theme={null}
    {
      "mcp": {
        "bentolabs-docs": {
          "type": "remote",
          "url": "https://docs.bentolabs.ai/mcp"
        }
      }
    }
    ```

    Run `opencode` and paste the prompt above.
  </Tab>

  <Tab title="Windsurf">
    ```bash theme={null}
    npx skills add BentoLabs-ai/skills
    ```

    In Cascade, add a custom MCP server with URL `https://docs.bentolabs.ai/mcp`, then paste the prompt above.
  </Tab>
</Tabs>

## Or set it up manually

Three steps get you from an API key to a trace in the dashboard.

<Steps>
  <Step title="Get an API key">
    Sign in at [platform.bentolabs.ai](https://platform.bentolabs.ai) and create a workspace. Copy the API key from settings. Keys start with `bl_pk_` and the prefix is validated by the SDK, so a clearly-bad key fails before any network request goes out.

    ```bash theme={null}
    export BENTOLABS_API_KEY="bl_pk_..."
    ```
  </Step>

  <Step title="Install">
    ```bash theme={null}
    pip install bentolabs-sdk
    ```

    Using Google ADK? Install the extra so Bento can capture every call automatically:

    ```bash theme={null}
    pip install "bentolabs-sdk[adk]"
    ```
  </Step>

  <Step title="Send your first trace">
    Pick the snippet that matches your stack.

    **Google ADK.** Capture every call in one line:

    ```python theme={null}
    import bentolabs_sdk as bento

    bento.init()
    bento.instrument()

    # Run your existing ADK agent. Bento captures it.
    bento.flush()
    ```

    **Anything else** (OpenAI, Anthropic, Bedrock, Vertex, …). Wrap each LLM call site:

    ```python theme={null}
    import bentolabs_sdk.analytics as bento

    bento.track_ai(
        event="user_message",
        user_id="user_42",
        convo_id="conv_abc",
        model="gpt-4o",
        provider="openai",
        input="What's the capital of France?",
        output="Paris.",
    )
    bento.flush()
    ```

    **Already on a framework that speaks OpenTelemetry** (Vercel AI SDK, Mastra, LangChain, LlamaIndex, …)? Point its exporter at Bento instead. See [Export from any framework](/otel-export). In TypeScript this needs no Bento package at all.

    Open [platform.bentolabs.ai](https://platform.bentolabs.ai). The trace lands within seconds.
  </Step>
</Steps>

## Next

<CardGroup cols={2}>
  <Card title="Export from any framework" icon="share-nodes" href="/otel-export">
    Point Vercel AI SDK / Mastra / LangChain at Bento.
  </Card>

  <Card title="Integrations" icon="plug" href="/python/integrations">
    Capture Google ADK with one line.
  </Card>

  <Card title="Manual tracking" icon="paper-plane" href="/python/track-ai">
    Wrap individual LLM calls with `bento.track_ai`.
  </Card>

  <Card title="Configuration" icon="gear" href="/python/configuration">
    Env vars, identity getters, lifecycle.
  </Card>

  <Card title="From Langfuse" icon="https://mintcdn.com/bentolabs-67c07c24/e75aBnxiyuPf12SD/images/langfuse.svg?fit=max&auto=format&n=e75aBnxiyuPf12SD&q=85&s=17eb4942d3516cc0ae1193ab3d8d598b" href="/migrations/langfuse" width="512" height="512" data-path="images/langfuse.svg">
    Mechanical translation guide.
  </Card>

  <Card title="From Raindrop" icon="https://mintcdn.com/bentolabs-67c07c24/e75aBnxiyuPf12SD/images/raindrop.svg?fit=max&auto=format&n=e75aBnxiyuPf12SD&q=85&s=80f0481bcf29e52151b32773507cc90b" href="/migrations/raindrop" width="585" height="585" data-path="images/raindrop.svg">
    Mechanical translation guide.
  </Card>
</CardGroup>
