Skip to content

mrecachinas/lmctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lmctl

Small CLI for La Marzocco Home machines using pylamarzocco.

Install

cd /Users/mrecachinas/Projects/Personal/lmctl
uv tool install --editable .
lmctl login

If lmctl is not on your PATH, run uv tool update-shell and restart your shell.

Config

Default config: ~/.config/lmctl/config.json

{
  "username": "you@example.com",
  "default_serial": "SERIAL"
}

The installation key is stored separately at ~/.config/lmctl/installation_key.json. Override paths with --config-file, --key-file, LMCTL_CONFIG_FILE, or LMCTL_KEY_FILE.

Saved passwords use the OS keychain (keyring service lmctl) and are keyed by username. Use lmctl password status or lmctl password forget to inspect or remove the saved password. lmctl login saves by default; use lmctl login --no-save-password or --no-keyring to opt out.

MCP

After lmctl login, agents can use stdio:

{
  "mcpServers": {
    "lmctl": {
      "command": "lmctl",
      "args": ["mcp"]
    }
  }
}

Or run a local Streamable HTTP server:

lmctl mcp http://127.0.0.1:8000/mcp

HTTP binds loopback only by default. --allow-remote exposes physical machine control and should only be used behind your own auth/TLS.

Help

usage: lmctl [-h] [--json] [--username USERNAME] [--password PASSWORD] [--no-keyring] [--key-file KEY_FILE]
             [--config-file CONFIG_FILE]
             {login,switch,mcp,password,config,key,register,things,show,dashboard,settings,statistics,schedule,firmware,power,steam}
             ...

Control La Marzocco Home machines using pylamarzocco.

positional arguments:
  {login,switch,mcp,password,config,key,register,things,show,dashboard,settings,statistics,schedule,firmware,power,steam}
    login               Authenticate, choose a machine, and save defaults.
    switch              Choose a different default machine.
    mcp                 Run an MCP server for agent integrations.
    password            Manage the saved keychain password.
    config              Manage lmctl defaults.
    key                 Manage installation keys.
    register            Register the current installation key with La Marzocco.
    things              List account devices.
    show                Fetch dashboard, settings, statistics, schedule, and firmware.
    dashboard           Fetch a machine dashboard.
    settings            Fetch machine settings.
    statistics          Fetch machine statistics.
    schedule            Fetch a machine schedule.
    firmware            Fetch firmware information.
    power               Turn a machine on or off.
    steam               Turn steam on or off.

options:
  -h, --help            show this help message and exit
  --json                Print JSON instead of human-readable output.
  --username USERNAME   La Marzocco Home username. Defaults to LMCTL_USERNAME or LAMARZOCCO_USERNAME, then saved config.
  --password PASSWORD   La Marzocco Home password. Defaults to LMCTL_PASSWORD, LAMARZOCCO_PASSWORD, saved keychain password, or an interactive prompt.
  --no-keyring          Do not read from or write to the OS keychain for this invocation.
  --key-file KEY_FILE   Installation key JSON file. Defaults to LMCTL_KEY_FILE or ~/.config/lmctl/installation_key.json.
  --config-file CONFIG_FILE
                        Configuration JSON file. Defaults to LMCTL_CONFIG_FILE or ~/.config/lmctl/config.json.

Development

uv run pytest -q
uv build

About

Lamarzocco CLI and MCP

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages