Install¶
Three supported transports, pick whichever fits your setup. All three give you the same behavior — they differ only in how the runtime is provisioned.
Best for shared/reproducible deployments and the only way to get the sandboxed unprivileged-user runtime out of the box.
The image is two-stage (docker/Dockerfile):
- builder (
ghcr.io/astral-sh/uv:python3.12-bookworm-slim) —uv sync --frozen --no-dev, bytecode-compile. - runtime (
python:3.12-slim-bookworm) — copy prebuilt.venv, unprivilegedmcpuser,ENTRYPOINT ["saldeosmart-mcp"].
Final size: ~234 MB. Logs default to /var/log/saldeosmart/saldeosmart.log (rotated daily, 7 days retained); mount a volume to persist them.
Best for local development and ad-hoc usage. No Docker daemon, no clone.
# From PyPI (once published):
uvx saldeosmart-mcp --username your-login --api-token your-token
# From source today:
uvx --from git+https://github.com/piotrlinski/saldeosmart-mcp \
saldeosmart-mcp --username your-login --api-token your-token
uvx is uv tool run. It resolves the package into an isolated venv on
first run and caches it. Requires uv ≥ 0.4.
Verify the install¶
You should see the argparse help with --username, --api-token, and
--base-url flags. If any arg is missing the env-var fallback fires
(SALDEO_USERNAME, SALDEO_API_TOKEN, SALDEO_BASE_URL).
Next¶
- Pick a client and configure it: Claude Desktop, Claude Code, Cursor, other.
- Run a smoke test against your account before pointing an LLM at it.