- Home
- MCP servers
- DLI Power Switch
DLI Power Switch
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You can manage Digital Loggers Web Power Switches through a dedicated MCP server that exposes safe, programmable control over outlets. This MCP server supports discovering hardware, checking outlet statuses, and performing power actions (On, Off, Cycle) with safety checks to prevent unintended disruptions to critical infrastructure.
How to use
Begin by discovering what switches and outlets are available and their current states. Then you can issue targeted actions to turn outlets on, off, or cycle power, while respecting safety constraints for critical or prohibited outlets.
How to install
Prerequisites: you need Python and pip available on your system.
Install the MCP server from PyPI using pip.
pip install dli-mcp-server
Register the MCP server with the Gemini CLI so it starts automatically. Use the example that matches your environment. The command runs the server script and optionally sets the configuration file path.
gemini mcp add dli-mcp-server dli-mcp-server -e DLI_MCP_CONFIG="/path/to/your/config.json" -s user
If you prefer an explicit local path to the server script, specify the Python command and the full path to the server file.
gemini mcp add dli-mcp-server python "/path/to/dli-mcp-server/server.py" -e DLI_MCP_CONFIG="/path/to/your/config.json" -s user
If you are using a default or project-scoped configuration, you can omit the -e option and the configuration file will be read from the server directory by default.
Additional sections
Configuration file
The server uses a configuration file named switches_config.json by default. This file defines each switch by IP address, authentication credentials, outlet aliases, and safety types. You can override this default by setting the DLI_MCP_CONFIG environment variable to the path of your custom configuration file.
Safety and usage guidelines
-
Critical outlets require explicit confirmation for dangerous actions when the system poses a safety risk. Always confirm when prompted to avoid unintended shutdowns of essential services.
-
Prohibited outlets cannot be modified. If a user attempts to control a prohibited outlet, you should deny the action and explain the restriction.
Tools and endpoints
Available tools
get_inventory
Returns the current inventory of switches, outlets, and their statuses to help you plan actions.
power_action
Performs on/off/cycle actions on a single outlet, with optional safety confirmation for critical or restricted outlets.
group_power_action
Executes a power action on a group of outlets sequentially, aborting if any member is prohibited.
sync_config_from_hardware
Synchronizes outlet names from the hardware into the configuration file without overwriting safety classifications.
add_switch
Adds a new DLI power switch to the configuration using its IP address and credentials.
remove_switch
Removes a DLI power switch from the configuration by alias or IP.
list_outlets
Lists all outlets on a specified switch along with their current status.
update_outlet
Updates the configuration of an outlet, including name, description, or type, and writes changes to the hardware when applicable.