getLatestShotIdLABSCO SUMMARY
Dialling in a shot is a data problem, and this is where the data already is.
Gaggiuino records what happened during every shot; what it does not do is explain it. Three read calls put that curve in front of a model that can compare it to the last one and say whether to go finer on the grinder.
What it is
A read-only bridge to Gaggiuino, the open-source controller for the Gaggia Classic. It runs on your own network and fetches machine state and recorded shot data.
What you get
- getStatus — the espresso machine's current state
- getLatestShotId — the id of the most recent shot, which is how you reach the one you just pulled
- getShotData — the recorded telemetry for a shot, by id
Requirements
A Gaggia Classic running Gaggiuino, reachable on the same local network. The server is launched from a checkout with uv, so Python and a cloned repository.
Setup effort
Build from source
USE CASES
Working out why the last shot ran fast
Fetch the id of the shot you just pulled and read its telemetry, so the diagnosis comes from what the machine recorded rather than from taste alone.
Comparing this morning's shot to yesterday's
Read two shots by id and put them side by side, which is the only way to tell whether a grind change did anything.
Checking the machine before you commit a dose
Read the machine's current state first, so you are not pulling against a group that has not settled.
Keeping a record of a dialling-in session
Walk the shot ids as you go and keep the telemetry, so the session leaves something behind besides a notebook.
3 tools
Listed in project docs. Your client may show a different list.
getShotDatagetStatusBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
MCP Clients
Claude Desktop
{
"mcpServers": {
"gaggiuino": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_PARENT_FOLDER_GAGGIUINO_MCP>",
"run",
"gaggiuino.py"
]
}
}
}