io.github.daedalus/mcp-delonghi-ecam
MCP server for DeLonghi ECAM espresso coffee machines via local network
Versions
0.1.1latestTools 13
connect 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"
disconnect 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 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 ..."
brew_beverage 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"
stop_brewing 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 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 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 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"
set_cup_warmer 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"
get_machine_info 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 ..."
get_statistics 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 ..."
list_beverages 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 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 ..."
Permissions 1
network medium