--- title: Getting Started --- # Getting Started The fastest path to a running Overslash: grab a prebuilt binary, point it at a Postgres database, and start it. The single `overslash` binary embeds the dashboard, applies migrations on first boot, and exposes both the REST API and the MCP endpoint on the same port. ::: warning Pre-release Overslash is under active development. Self-host at your own risk; expect breakage between versions. ::: ## 1. Download a binary Grab the latest release for your platform from [github.com/overfolder/overslash/releases](https://github.com/overfolder/overslash/releases): - `overslash-vX.Y.Z-x86_64-unknown-linux-gnu.tar.gz` — Linux x86_64 - `overslash-vX.Y.Z-aarch64-unknown-linux-gnu.tar.gz` — Linux arm64 - `overslash-vX.Y.Z-aarch64-apple-darwin.tar.gz` — macOS Apple Silicon - `overslash-vX.Y.Z-x86_64-pc-windows-msvc.zip` — Windows x86_64 Each release also publishes a `SHA256SUMS.txt` — verify with: ```bash sha256sum -c SHA256SUMS.txt --ignore-missing ``` Extract the archive — you get a single `overslash` binary with the dashboard embedded. ## 2. Start Postgres Any Postgres 14+ instance works. A throwaway one in Docker: ```bash docker run -d --name overslash-pg \ -e POSTGRES_PASSWORD=overslash -e POSTGRES_DB=overslash \ -p 5432:5432 postgres:17 ``` ## 3. Run `overslash web` Set the three required env vars and run the binary. The API auto-applies migrations on first start. ```bash export DATABASE_URL=postgres://postgres:overslash@localhost:5432/overslash export SECRETS_ENCRYPTION_KEY=$(openssl rand -hex 32) export SIGNING_KEY=$(openssl rand -hex 32) ./overslash web ``` Dashboard at `http://localhost:3000`. Stop with `Ctrl+C`; the binary leaves no state outside Postgres. ## 4. Connect an MCP client Overslash exposes its MCP endpoint at `POST /mcp` on the same port as the dashboard, so any client that speaks the Streamable-HTTP transport connects directly. For Claude Code: ```bash claude mcp add --transport http overslash https:///mcp ``` For local dev, the URL is `http://localhost:3000/mcp`. On first launch, the client opens a browser for the OAuth flow. You sign in, name or pick an **agent** for this client to act as, and the binding is done — every subsequent call authenticates as that agent rather than as your user. See [Connect an MCP client](../connect/index.md) for other clients (Cursor, Windsurf, ChatGPT, Claude.ai, stdio fallback). ## Next steps - [Concepts: Identities](./concepts/identities.md) - [Self-hosting: Configuration](./self-hosting/configuration.md) - [Reference: CLI](../reference/cli.md)