> For the complete documentation index, see [llms.txt](https://docs.controltheory.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.controltheory.com/controltheory-documentation/dstl8-docs/quickstart.md).

# Quickstart

{% hint style="info" %}
**Just want to look around first?** Choose **Explore Sample Data** on first launch to see a preloaded demo workspace with live anomalies and a sample incident. No setup required. When you're ready for real value, follow the steps below to integrate your own project.
{% endhint %}

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 — `dstl8 setup` runs the whole flow below as one guided command.

### 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.

#### Explore with sample data

If you picked **Explore Sample Data** on first launch, you'll notice Dstl8 creates a second workspace tagged **Sample** alongside your **Default** workspace. It comes preloaded so you can see the product working before connecting anything:

* An OTLP source named **Sample Data** feeding a set of live streams.
* Anomalies and at least one active incident generated from the sample traffic.
* A completed **Möbius Analysis** summarizing the incident, plus the **Sentiment Heatmap** and **Möbius Chat**.

Sample incidents behave like real ones, which means the org admin receives email notifications for them. This is expected. It also previews how alerting works once you connect a real source.

Use the sample workspace to get familiar with the dashboard, incidents, and Möbius. You can delete it anytime from the workspace settings (gear icon) once you have real data flowing.

### 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
