Direct Node.js — Streamable HTTP
The direct Node.js service defaults to loopback and exposes Streamable HTTP at POST /mcp plus a
small health endpoint at GET /health.
git clone https://github.com/enthouan/simplelogin-mcp.gitcd simplelogin-mcpcorepack enablepnpm install --filter simplelogin-mcp --frozen-lockfilecp .env.example .env# Keep TRANSPORT=http, HOST=127.0.0.1, and PORT=3000; set SL_API_KEY in .env${EDITOR:-vi} .envgrep -Eq '^SL_API_KEY=.+$' .env || { echo 'Set SL_API_KEY in .env before starting.' >&2; exit 1; }pnpm build# Load the file without putting the key in shell history or the parent shell( set -a . ./.env set +a pnpm start)Connect to POST http://127.0.0.1:3000/mcp. A direct loopback run does not require MCP_AUTH_TOKEN. The server refuses a wider bind without it unless the explicit unsafe override is enabled; supported wider deployments use the token and TLS.
Connect a client
Section titled “Connect a client”- Start on loopback. Keep
HOST=127.0.0.1for same-machine access. - Verify health. Request
http://127.0.0.1:3000/health. - Register the endpoint. Point a Streamable HTTP client at
http://127.0.0.1:3000/mcp. - Add authorization when configured. Send
Authorization: Bearer <token>wheneverMCP_AUTH_TOKENis set.
Browser-origin checks
Section titled “Browser-origin checks”Browser requests to POST /mcp must come from loopback or an exact origin listed in
MCP_ALLOWED_ORIGINS. This allowlist protects the MCP route from hostile browser origins. It does
not add CORS response headers, handle preflight requests, or replace authentication.
Verify through MCP
Section titled “Verify through MCP”The health endpoint does not exercise MCP discovery or the SimpleLogin API. After registering the endpoint in a client, verify the complete read-only path.
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 process inspection, credential rotation, upgrades, rollback, and shutdown.