Server MCP — accesso IA per OpenSprinkler
L’integrazione MCP (Model Context Protocol) consente agli assistenti IA di interrogare e controllare un controller OpenSprinkler tramite strumenti documentati.
Questa pagina copre solo configurazione MCP e modalità operative. Gli altri temi sono separati:
Modalità operative
MCP integrato nel firmware
Il server MCP integrato funziona direttamente nei firmware ESP32 con USE_OTF:
POST http://<controller-ip>/mcp
Content-Type: application/json
L’autenticazione usa lo stesso hash della password amministratore dell’API REST: ?pw=, header X-OS-Password o bearer token.
Disponibilità: solo ESP32 / ESP32-C5 con USE_OTF; non ESP8266 e non OSPi.
Server MCP Node.js esterno
Il server esterno in tools/mcp-server/ gira fuori dal firmware e pubblica l’API REST via stdio. Funziona con ESP8266, ESP32 e OSPi, con strumenti per sensori, monitor, Zigbee, BLE e risorse sistema quando supportati dal controller.
Configurazione
cd tools/mcp-server
npm install
npm run build
Esempio VS Code / GitHub Copilot:
{
"servers": {
"opensprinkler": {
"type": "stdio",
"command": "node",
"args": ["tools/mcp-server/dist/index.js"],
"env": {
"OS_BASE_URL": "http://<CONTROLLER-IP>",
"OS_PASSWORD_HASH": "<MD5-HASH>"
}
}
}
}
Calcolo hash:
echo -n "password_admin" | md5sum | awk '{print $1}'
Panoramica strumenti
| Area | Esempi di strumenti |
|---|---|
| Stato controller | get_all, get_controller_variables, get_options, get_debug, get_system_resources |
| Stazioni e programmi | get_stations, get_station_status, get_programs, manual_station_run, change_program |
| Sensori e log | get_sensors, get_sensor_values, get_sensor_log, backup_sensor_config |
| Radio OpenSprinklerPro | get_ieee802154_config, get_zigbee_devices, get_zigbee_status, get_ble_devices, get_rainmaker_status |
| Automazione | list_adjustments, configure_adjustment, list_monitors, configure_monitor |
Il server MCP non ha una schermata UI propria. Per la diagnostica locale usare Diagnostica di sistema.
