# Quickstart

The shortest path to querying your logs with an AI assistant: create a source, assign its streams to a workspace, and connect your assistant via MCP.  Use the [Dstl8 CLI](/controltheory-documentation/dstl8-docs/dstl8-cli.md) to on-board at warp speed.

### Terminology

* **Source** — A connection to a platform you want to pull logs from (e.g. an AWS account's CloudWatch, a Kubernetes cluster). You can add multiple sources of the same type with different credentials.
* **Stream Type** — A kind of log stream produced by a source, e.g. a CloudWatch Lambda log group, or a Kubernetes Deployment or DaemonSet.
* **Stream** — A specific instance of a stream type, e.g. one Lambda function or one pod.
* **Workspace** — A boundary that controls user and data access. Streams are assigned to workspaces to make them queryable. Every organization starts with a **Default** workspace.

### 1. Create a source and validate streams

Pick a platform and add it as a source:

* [**AWS CloudWatch**](/controltheory-documentation/dstl8-docs/sources/aws-cloudwatch.md) — if your logs live in CloudWatch Log Groups.
* [**Kubernetes**](/controltheory-documentation/dstl8-docs/sources/kubernetes.md) — install the in-cluster agent to collect container logs and cluster events.
* Other sources (Vercel, Supabase, OTLP, GitHub) — see [Sources](/controltheory-documentation/dstl8-docs/sources.md).

New sources start as **Pending**. Within a couple of minutes the source should transition to **Healthy** and streams will appear with their inferred stream types.

**Validate:** expand the source card on the **Sources** page — you should see streams listed under **STREAMS**. If nothing appears after a few minutes, re-run **Test Connection** from the source's actions menu (gear icon).

### 2. Assign streams to a workspace

Streams must be assigned to a workspace before they're queryable. Every organization starts with a **Default** workspace — the fastest path is to assign everything to it.

1. On the source card, open the actions menu (gear icon) and select **Assign Streams**.
2. Check the **Default** workspace to assign all streams from this source, or drill in to select specific **Stream Types** or individual streams.
3. Click **Save**.

The source card now shows `1 workspace` receiving streams.

For splitting streams across multiple workspaces (e.g. prod vs staging), see [Assigning streams to workspaces](/controltheory-documentation/dstl8-docs/sources.md#assigning-streams-to-workspaces).

### 3. Connect your AI assistant via MCP

Dstl8 exposes an MCP endpoint per organization that lets Claude (or any MCP-compatible assistant) query your logs, incidents, and anomaly tools directly.

1. In **Org Settings → Organizational Info**, copy your MCP endpoint — it looks like `https://<org_id>.app.dstl8.ai/mcp`.
2. In **Org Settings → API Tokens**, create an API token and copy it (it's only shown once).
3. Configure your client. Per-client setup guides:
   * [Claude Code](https://docs.controltheory.com/controltheory-documentation/dstl8-docs/mcp-integration/claude-code)
   * [Claude Desktop](https://docs.controltheory.com/controltheory-documentation/dstl8-docs/mcp-integration/claude-desktop)
   * [Cursor](https://docs.controltheory.com/controltheory-documentation/dstl8-docs/mcp-integration/cursor)
   * [Codex](https://docs.controltheory.com/controltheory-documentation/dstl8-docs/mcp-integration/codex)
   * [ChatGPT](https://docs.controltheory.com/controltheory-documentation/dstl8-docs/mcp-integration/chatgpt)

Full reference: [MCP Integration](https://docs.controltheory.com/controltheory-documentation/dstl8-docs/mcp-integration).

### 4. Ask a question

From your configured assistant, try:

* *"What's going on in production?"*
* *"Any anomalies in the last hour?"*
* *"Summarize recent errors across my streams."*

If you get a grounded answer referencing your actual services and log patterns, you're set.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.controltheory.com/controltheory-documentation/dstl8-docs/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
