> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc-studio-tools-doc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup

> Run Scout locally with Docker.

Five context providers come up out of the box: web, workspace (the Scout repo), CRM, knowledge wiki, and voice wiki. Slack, Drive, and MCP servers light up later when you wire credentials.

## Prerequisites

* Docker Desktop ([install](https://docs.docker.com/desktop/))
* OpenAI API key ([get one](https://platform.openai.com/api-keys))

<Tabs>
  <Tab title="Manual">
    <Steps>
      <Step title="Clone and configure">
        ```bash theme={null}
        git clone https://github.com/agno-agi/scout && cd scout
        cp example.env .env
        ```

        Open `.env` and set `OPENAI_API_KEY`. Everything else has sensible defaults.
      </Step>

      <Step title="Start Scout">
        ```bash theme={null}
        docker compose up -d --build
        ```

        First run pulls the base image and builds the container. Subsequent starts come up in seconds.
      </Step>

      <Step title="Verify it's running">
        ```bash theme={null}
        curl http://localhost:8000/health
        ```

        Expect `{"status":"ok"}`. Connection refused means the container is still starting. Check `docker compose logs -f scout-api` and wait for the Agno banner.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Agentic">
    If you have a coding agent like [Claude Code](https://claude.com/product/claude-code) or [Codex](https://openai.com/index/introducing-codex/), paste this prompt into a fresh session in an empty directory.

    The prompt below never asks the agent to read or transmit your API key. The agent opens `.env` for you to edit, then waits for confirmation before continuing.

    ```
    Set up Scout locally for me.

    Steps:
    1. Clone https://github.com/agno-agi/scout into the current directory and cd into it.
    2. Copy example.env to .env. Open .env in the user's editor (or print the path and tell them to open it). Tell the user: "Set OPENAI_API_KEY in .env, save the file, then tell me to continue." Wait for confirmation before proceeding. Do not ask the user to paste the key into this chat. Do not read the key from .env or print its value at any point.
    3. Check that Docker Desktop is running (`docker info`). If not, tell me to start it and stop.
    4. Run `docker compose up -d --build`. Stream the output so I can see progress.
    5. Poll `curl -s http://localhost:8000/health` every 3 seconds for up to 60 seconds. Proceed once it returns `{"status":"ok"}`.
    6. Run `curl -s http://localhost:8000/contexts | jq` and show me the output so I can see which contexts registered.
    7. Print next steps: open os.agno.com, Add OS → Local → http://localhost:8000.

    If any step fails, stop and show me the error. Don't try to fix it on your own.
    ```
  </Tab>
</Tabs>

## Connect to AgentOS UI

<Snippet file="connect-agent-os-ui.mdx" />

Then ask Scout: *"Which contexts are you connected to?"*

Scout reports back web, workspace, CRM, knowledge, and voice.

## What you have now

Five providers active. Each surfaces as `query_<id>` (and `update_<id>` where writes are allowed):

| Provider           | Tool(s)                               | Backed by                                                                                                                                                                |
| ------------------ | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Web**            | `query_web`                           | Parallel's public MCP (keyless). Set `PARALLEL_API_KEY` to upgrade to the Parallel SDK.                                                                                  |
| **Workspace**      | `query_workspace`                     | The Scout repo, read-only. Re-point at your own repo by editing `SCOUT_FS_ROOT` in [`scout/contexts.py`](https://github.com/agno-agi/scout/blob/main/scout/contexts.py). |
| **CRM**            | `query_crm`, `update_crm`             | Local Postgres. Ships with `scout_contacts`, `scout_projects`, `scout_notes`, `scout_followups`. New `scout_*` tables on demand.                                         |
| **Knowledge wiki** | `query_knowledge`, `update_knowledge` | Filesystem at `wiki/knowledge/`. Swap to a Git repo for durable storage in production.                                                                                   |
| **Voice wiki**     | `query_voice`                         | Filesystem at `wiki/voice/`. Read-only, code-managed style guide.                                                                                                        |

## Try it

Each prompt routes through a different provider:

> *"Walk me through your codebase."* → `query_workspace`

> *"Look up the latest pricing for Anthropic's models."* → `query_web`

> *"Save Sarah Chen as a contact, head of platform at Acme."* → `update_crm`

> *"Track my coffee consumption. First one: flat white, extra shot."* → `update_crm` creates `scout_coffee_orders` and inserts the row.

> *"File a runbook for incident response: page on-call first, post status in #incidents, capture timeline as you go."* → `update_knowledge`

## Next

[Use the knowledge wiki and CRM →](/tutorials/scout/knowledge-and-crm)
