Docker Compose — Streamable HTTP
Use the operator Compose file to run the published container image.
The application listens on
0.0.0.0:3000 inside the container so Docker can forward the port, while the host publishes only
to 127.0.0.1 by default.
git clone https://github.com/enthouan/simplelogin-mcp.gitcd simplelogin-mcpcp .env.example .env# Set SL_API_KEY and MCP_AUTH_TOKEN in .env${EDITOR:-vi} .envgrep -Eq '^SL_API_KEY=.+$' .env || { echo 'Set SL_API_KEY in .env before starting.' >&2; exit 1; }grep -Eq '^MCP_AUTH_TOKEN=.+$' .env || { echo 'Set MCP_AUTH_TOKEN in .env before starting.' >&2; exit 1; }docker compose up -ddocker compose pscurl http://localhost:3000/healthCompose listens on 0.0.0.0:3000 inside the container, publishes only to 127.0.0.1 by default, and the normal startup guard requires MCP_AUTH_TOKEN. Only the explicit unsafe override bypasses that guard.
Configure the two credentials
Section titled “Configure the two credentials”-
Create
.env. Copy.env.example; Compose reads it for variable interpolation. -
Set
SL_API_KEY. Create a dedicated key, then store it in.env. This authenticates the server to SimpleLogin and grants full account control. -
Generate
MCP_AUTH_TOKEN. Runopenssl rand -hex 32and store the result in.env. -
Start and verify. Run
docker compose up -d, inspectdocker compose ps, then requesthttp://localhost:3000/health.
Change host exposure deliberately
Section titled “Change host exposure deliberately”Use SIMPLELOGIN_MCP_HOST_PORT for the published host port. Set
SIMPLELOGIN_MCP_HOST_BIND_IP=0.0.0.0 or a LAN address only when wider access is intentional,
MCP_AUTH_TOKEN remains set, and a reverse proxy supplies TLS.
The container listener stays on port 3000; changing the host port does not require changing the
application PORT.
Verify through MCP
Section titled “Verify through MCP”Health only proves that the process is running. Connect an MCP client to http://127.0.0.1:3000/mcp
with the configured bearer token, then verify discovery and a read-only tool call.
Verify it works
After the client discovers the server, use this low-data, read-only check:
Can you show me my SimpleLogin account usage?Use Operations for exact-version upgrades, rollback, credential rotation, inspection, and shutdown.