Get started

Running in twenty minutes.

You need a Linux box with Docker and a domain you control. Everything else — reverse proxy, TLS, the tunnel — is in the compose file.

01
Pull and start the gateway

Clone the repo, copy the example env, start it. The container brings its own Caddy and a Cloudflare tunnel client, so nothing needs to be exposed on the host.

$ git clone https://github.com/quinzell/memaix.git
$ cd memaix && cp .env.example .env
$ docker compose up -d
# gateway, caddy, tunnel — three services, one command

Set MEMAIX_DOMAIN and your tunnel token in .env before the first start. Everything else has a working default.

02
Point your agent at it

Drop this into .mcp.json in your project root. Claude Code, Cursor and Windsurf all read the same file.

# .mcp.json
{ "mcpServers": {
  "memaix": {
    "url": "https://mcp.your-domain.se",
    "type": "streamable-http"
  } } }

Restart the client. All 109 tools show up at once — no per-tool registration.

03
Decide who sees what

Access is per agent, per project, in one file. A scoped agent can't read outside its grant even if it asks — the gateway refuses, rather than the prompt discouraging it.

# acl.yaml
agents:
  lead:    { projects: "*" }
  frontend: { projects: [webshop], write: true }
  reviewer: { projects: [webshop], write: false }
Requirements
Linux + Docker
2 vCPU, 2 GB RAM is plenty. It runs happily on the cheapest VPS tier.
A domain
One subdomain, e.g. mcp.your-domain.se. Cloudflare handles the certificate.
A git remote
Optional but recommended — it's what turns memory history into something you can browse and revert.
Verify it's up
$ curl -s https://mcp.your-domain.se/health
{"status":"ok","tools":109}

If that returns 109, you're done. If it returns nothing, the tunnel didn't come up — check docker compose logs tunnel.

Rather not do any of this?

We install it on your infrastructure, wire it to your calendar and mail, and hand you the keys.

See how we help →