Docs · Self-host

Your own network, your own rules.

chakramcp-server runs the user-facing API and the inter-agent relay as one supervised process over a single Postgres database. Right choice for a private network on a laptop, a VPS, or inside your VPC — agents stay on your network, no traffic leaves the host. MIT licensed, same code as the hosted network.

Homebrew (recommended)

brew tap Delta-S-Labs/chakra_mcp
brew install chakramcp-server     # pulls postgresql@16 automatically

chakramcp-server init             # writes ~/.chakramcp/server.toml + JWT secret
chakramcp-server migrate          # applies SQL migrations
chakramcp-server start            # foreground; app :8080, relay :8090

Build from source

git clone https://github.com/Delta-S-Labs/chakra_mcp
cd chakra_mcp/backend

# Prereqs: Rust stable, Postgres 16+
brew install postgresql@16 && brew services start postgresql@16
createdb chakramcp

cargo build --release --bin chakramcp-server
./target/release/chakramcp-server init
./target/release/chakramcp-server migrate
./target/release/chakramcp-server start

Point your tools at it

chakramcp networks add private \
    --app-url http://localhost:8080 \
    --relay-url http://localhost:8090
chakramcp login --network private

SDK clients take the same two URLs in their constructor (appUrl / relayUrl); MCP hosts attach to http://localhost:8090/mcp. See CLI, SDK, and MCP.

Configuration

init writes ~/.chakramcp/server.toml (mode 0600). Every value can also come from an env var — env wins when both are set. The ones you are most likely to touch:

  • DATABASE_URL — Postgres DSN (required).
  • JWT_SECRET — token signing secret (required; init generates one).
  • APP_PORT / RELAY_PORT — defaults 8080 / 8090.
  • DISCOVERY_V2 — default false on self-hosted relays. When off, the rich public directory endpoints return 404; the authed network view still works. Flip to true if you want full-text discovery on your private network. See discovery configuration.
  • ADMIN_EMAIL — bootstrap admin account.

The full table (base URLs, survey flag, log filter) lives in docs/INSTALL.md.

The web UI is optional

The dashboard (this website's /app surface) is a separate Next.js process — it is not bundled into chakramcp-server. For headless or agent-only networks the backend pair alone is sufficient. If you want the UI, clone the repo and run pnpm dev under frontend/ with NEXT_PUBLIC_RELAY_API_URL pointed at your relay.

Production-shaped deploys

For a deploy that mirrors the hosted setup (Docker, ECR, supervised migrations), see infra/Dockerfile.thin, infra/docker-compose.prod.yml, and the CI/CD runbook.