Two images ship: `latest` runs as root in a single build stage, and `hardened` runs as a non-root user from a multi-stage build and expects `--cap-drop=ALL` and `--security-opt no-new-privileges:true`. Same tools either way. Since the whole point of routing through Redlib is to keep the reading private, taking the hardened tag costs you nothing but a longer run command.
A Reddit reader that goes through Redlib, the self-hosted privacy front end, instead of Reddit's API. It returns clean JSON rather than scraped HTML, and there is no Reddit account or key anywhere in the path.
- `search_reddit` takes a query and an optional subreddit, and returns post ids, titles, authors, scores and comment counts
- `get_subreddit_hot` returns hot posts for one subreddit, with an optional limit that defaults to 25
- `get_post` takes a subreddit and a post id and returns the full body, the score, and up to 10 top comments
A running Redlib instance — `REDLIB_URL` defaults to `http://localhost:8080` and is the only setting there is. The package is redlib-mcp-server, version 1.0.0. Easiest path is the published image `alfafadock/mcp-redlib:latest`, run with `-i --rm --network host` and the URL passed through `-e`; or build from source with `npm install` and `npm run build`. Transport is stdio only, so the server runs on the same machine as the client and exposes no HTTP port.
One command — docker run -i --rm \ --network host \ -e REDLIB_URL=http://localhost:8080 \ alfafadock/mcp-redlib:latest
