← Back to search

io.github.daedalus/mcp-delonghi-ecam

daedalus Scanned 24d ago

MCP server for DeLonghi ECAM espresso coffee machines via local network

B
85.3 / 100

Versions

0.1.1latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 13

connect
annotations: none low

Connect to a DeLonghi ECAM coffee machine on the local network. This tool establishes a connection to the coffee machine using its IP address. The machine must be on the same local network as this server. The default port is 10280, which is the standard port for DeLonghi local API server. Args: params (ConnectInput): Connection parameters containing: - ip_address (str): IPv4 address of the coffee machine (e.g., "192.168.1.100") Returns: str: Success or error message. Example: >>> connect("192.168.1.100") "Connected to coffee machine at 192.168.1.100"

params ConnectInput
disconnect
annotations: none low

Disconnect from the currently connected coffee machine. This tool disconnects from the machine if a connection is active. It is safe to call even when not connected. Args: None Returns: str: Success message. Example: >>> disconnect() "Disconnected from coffee machine"

get_status
annotations: none low

Get the current status of the connected coffee machine. Returns information about the machine's current state including whether it's brewing, any active alarms, temperature, and switch states. Args: params (StatusInput): Parameters containing: - response_format (ResponseFormat): Output format - 'markdown' (default) or 'json' Returns: str: Formatted status information. Example: >>> get_status("markdown") "# Coffee Machine Status **State**: ReadyOrDispensing ..."

params StatusInput
brew_beverage
annotations: none low

Start brewing a beverage on the connected coffee machine. This command starts the brewing process for the specified beverage with the given parameters. The machine must be powered on and ready. Args: params (BrewBeverageInput): Brewing parameters containing: - beverage (BeverageType): Type of beverage (espresso, coffee, cappuccino, etc.) - coffee_amount (int): Coffee amount in units 0-250 (default: 40) - taste (Taste): Taste level - extra_mild, mild, normal, strong, extra_strong (default: normal) - temperature (Temperature): Temperature - low, medium, high (default: medium) Returns: str: Result message indicating success or error. Example: >>> brew_beverage("cappuccino", 40, "normal", "medium") "Started brewing cappuccino"

params BrewBeverageInput
stop_brewing
annotations: none low

Stop the currently brewing beverage. If a beverage is currently being prepared, this command stops it. Safe to call when not brewing. Args: None Returns: str: Result message. Example: >>> stop_brewing() "Brewing stopped"

turn_on
annotations: none low

Turn the coffee machine on. Powers on the connected coffee machine. The machine will go through its normal startup sequence including heating and rinsing. Args: None Returns: str: Result message. Example: >>> turn_on() "Machine turned on"

turn_off
annotations: none low

Turn the coffee machine off. Powers off the connected coffee machine. The machine will perform a shutdown cycle. Args: None Returns: str: Result message. Example: >>> turn_off() "Machine turned off"

set_cup_light
annotations: none low

Control the cup illumination light. Turns the cup light on or off. The cup light illuminates the dispensing area. Args: params (CupControlInput): Parameters containing: - enabled (bool): True to turn on, False to turn off Returns: str: Result message. Example: >>> set_cup_light(true) "Cup light ON"

params CupControlInput
set_cup_warmer
annotations: none low

Control the cup warmer plate. Turns the cup warmer on or off. The cup warmer keeps cups and mugs warm while not in use. Args: params (CupControlInput): Parameters containing: - enabled (bool): True to turn on, False to turn off Returns: str: Result message. Example: >>> set_cup_warmer(true) "Cup warmer ON"

params CupControlInput
get_machine_info
annotations: none low

Get machine information including serial number and model. Returns detailed information about the connected coffee machine such as serial number, model, software version, and bean system type. Args: params (MachineInfoInput): Parameters containing: - response_format (ResponseFormat): Output format - 'markdown' or 'json' Returns: str: Formatted machine information. Example: >>> get_machine_info("markdown") "# Machine Information **Serial Number**: 012345678901 ..."

params MachineInfoInput
get_statistics
annotations: none low

Get machine usage statistics. Returns statistics about the machine's usage including total coffees brewed, maintenance indicators, etc. Args: params (StatisticsInput): Parameters containing: - response_format (ResponseFormat): Output format - 'markdown' or 'json' Returns: str: Formatted statistics. Example: >>> get_statistics("markdown") "# Machine Statistics **Total Coffees**: 150 ..."

params StatisticsInput
list_beverages
annotations: none low

List all beverages available on the connected machine. Returns a list of all beverage types that can be brewed on this specific coffee machine model. Args: None Returns: str: Formatted list of beverages. Example: >>> list_beverages() "# Available Beverages 1. Espresso 2. Coffee ..."

get_recipe
annotations: none low

Get the recipe parameters for a specific beverage. Returns the default recipe settings for a beverage including coffee amount, taste, temperature, and brew time. Args: params (GetRecipeInput): Parameters containing: - beverage (BeverageType): Type of beverage - response_format (ResponseFormat): Output format - 'markdown' or 'json' Returns: str: Formatted recipe information. Example: >>> get_recipe("espresso", "markdown") "# Recipe: Espresso **Coffee Amount**: 40 ..."

params GetRecipeInput

Permissions 1

network medium
Server uses network capabilities via: httpx

Scan Findings 32

low
Tool 'connect' has no annotations annotation_checker · 100%
low
Tool 'disconnect' has no annotations annotation_checker · 100%
low
Tool 'get_status' has no annotations annotation_checker · 100%
low
Tool 'brew_beverage' has no annotations annotation_checker · 100%
low
Tool 'stop_brewing' has no annotations annotation_checker · 100%
low
Tool 'turn_on' has no annotations annotation_checker · 100%
low
Tool 'turn_off' has no annotations annotation_checker · 100%
low
Tool 'set_cup_light' has no annotations annotation_checker · 100%
low
Tool 'set_cup_warmer' has no annotations annotation_checker · 100%
low
Tool 'get_machine_info' has no annotations annotation_checker · 100%
low
Tool 'get_statistics' has no annotations annotation_checker · 100%
low
Tool 'list_beverages' has no annotations annotation_checker · 100%
low
Tool 'get_recipe' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: connect manifest_parser · 90%
info
Tool: disconnect manifest_parser · 90%
info
Tool: get_status manifest_parser · 90%
info
Tool: brew_beverage manifest_parser · 90%
info
Tool: stop_brewing manifest_parser · 90%
info
Tool: turn_on manifest_parser · 90%
info
Tool: turn_off manifest_parser · 90%
info
Tool: set_cup_light manifest_parser · 90%
info
Tool: set_cup_warmer manifest_parser · 90%
info
Tool: get_machine_info manifest_parser · 90%
info
Tool: get_statistics manifest_parser · 90%
info
Tool: list_beverages manifest_parser · 90%
info
Tool: get_recipe manifest_parser · 90%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%