Optional MCP server so Cursor can query the `db` container over the Docker network (SSE on localhost).
1. Start your stack so the `db` service is running (`dc up -d` or your usual compose files).
2. Find the Docker network name that `db` uses: `docker network ls` (often `<project-folder>_default`). Set `INTAI_DOCKER_NETWORK` in `.env` (see `.env.example`).
3. Copy `.env.mcp-mariadb.example` to `.env.mcp-mariadb` and set `DB_PASSWORD` (and optional `DB_NAME`) to match `MYSQL_ROOT_PASSWORD` / your database.
4. Build and start the MCP container: `docker compose -f docker-compose.mcp-mariadb.yml.example up -d --build`
5. Ensure `.cursor/mcp.json` uses the same host port as `MCP_MARIADB_PORT` in `.env` (default `8765`, URL path `/sse`).
6. Restart Cursor and enable the **intai-mariadb** MCP server in MCP settings.
First image build can take a while (upstream MariaDB MCP dependencies).
Services `pgsql`, `pgadmin`, `mcp-postgres` are described in `docker-compose.base.yml`; copy them from
`docker-compose.postgres.yml.example` into your `docker-compose.yml` (volumes `database-pgsql` and `pgadmin` too).
`dc up -d pgsql pgadmin mcp-postgres`
-`pgsql` — official `postgres:18` image. Port `5432`, user, password and database `intai`.
Since 18 the data lives in `/var/lib/postgresql/<major>/docker`, so the volume is mounted at `/var/lib/postgresql`.
Another major version does not start on the same volume — dump and restore.
-`pgadmin` — pgAdmin 4 in desktop mode, no login: http://pgadmin.intai.localhost (or the port from the example). The `intai` server comes from `config/pgadmin/servers.json` on every start; the password (`intai`) is asked once, tick "Save password".
Register the server once: host `pgsql`, port `5432`, user `intai`, password `intai`.
-`mcp-postgres` — [Postgres MCP Pro](https://github.com/crystaldba/postgres-mcp), SSE on