Skip to main content

Quick start

0. Toolchain (mise)​

Python, Node.js, pnpm, and uv versions are pinned in mise.toml and provisioned by mise, so every machine runs the same toolchain. Install mise once:

OSCommand
Windowswinget install jdx.mise
macOSbrew install mise
LinuxSee the installation docs

Activate it in your shell (see activation docs for bash/zsh/fish; on Windows add (&mise activate pwsh) | Out-String | Invoke-Expression to your PowerShell $PROFILE), then install the tools from the repository root:

mise trust
mise install

On Windows, also put mise's shims directory (%LOCALAPPDATA%\mise\shims) on your PATH, so uv / pnpm / python resolve even outside an activated shell.

Not using mise? The minimum versions are Python 3.11+, Node.js 20+, plus uv and pnpm installed by hand.

1. Backend​

The backend itself needs only Python and uv; Node.js is used only to launch stdio MCP servers published as npm packages (npx), and the docker compose image ships it.

cd backend
uv sync
cp .env.example .env
sed -i.bak 's/^GOOGLE_API_KEY=.*/GOOGLE_API_KEY=YOUR_API_KEY/' .env && rm .env.bak
uv run uvicorn main:app --host 0.0.0.0 --port 8000 --timeout-graceful-shutdown 30

.env.example defaults to Google Gemini, so replace YOUR_API_KEY with your own key. To use a different model or provider, see LLM configuration.

The API is now available at http://localhost:8000.

2. Frontend​

cd frontend
pnpm install
# Optional: cp .env.local.example .env.local (only needed if backend is not on :8000)
pnpm build
pnpm start

Open http://localhost:3000. To run on a different port, see Changing the port in the frontend README.