Quickstart
Get the full Yavio platform running in under 5 minutes
This guide walks you through deploying the complete Yavio platform on your machine using Docker Compose.
Prerequisites
- Docker with Docker Compose v2+ installed
- Git to clone the repository
- Ports 3000, 3001, 5432, and 8123 available
Clone the repository
git clone https://github.com/yavio-ai/yavio.git
cd yavioGenerate environment secrets
Run the setup script to create a .env file with random secrets:
./scripts/setup-env.shThis generates cryptographically random values for NEXTAUTH_SECRET, JWT_SECRET, API_KEY_HASH_SECRET, and ENCRYPTION_KEY.
You can also copy .env.example manually and fill in the secrets yourself. Generate each with openssl rand -base64 32.
Start the platform
docker compose up -dThis starts five services:
| Service | Port | Description |
|---|---|---|
| Dashboard | 3000 | Web UI for analytics and project management |
| Ingestion API | 3001 | Receives events from the SDK |
| PostgreSQL | 5432 | Stores workspaces, projects, users, API keys |
| ClickHouse | 8123 | Stores analytics events |
| Docs | 3002 | Documentation site |
Wait for all health checks to pass:
docker compose psAll services should show healthy status within about 30 seconds.
Create your account
Open http://localhost:3000 in your browser and register your first account. The first user automatically becomes the workspace owner.
Create a project and API key
- Create a workspace and project in the dashboard
- Navigate to the project settings and generate an API key
- Copy the key — it starts with
yav_
Connect the SDK
Point your MCP server's SDK at your local instance:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { withYavio } from "@yavio/sdk";
const server = new McpServer({ name: "my-server", version: "1.0.0" });
const instrumented = withYavio(server, {
apiKey: "yav_your_key_here",
endpoint: "http://localhost:3001/v1/events",
});Or use a .yaviorc.json config file so your code stays clean:
{
"apiKey": "yav_your_key_here",
"endpoint": "http://localhost:3001/v1/events"
}// withYavio() auto-reads .yaviorc.json — no config needed in code
const instrumented = withYavio(server);Verify events
Invoke a tool on your MCP server and check the dashboard at http://localhost:3000. Events should appear within a few seconds.
Using the Yavio CLI
Instead of running docker compose commands directly, you can use the Yavio CLI for a streamlined experience:
npx @yavio/cli up # Start the platform
npx @yavio/cli status # Check service health
npx @yavio/cli down # Stop the platform