acinfinity-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ACINFINITY_EMAIL | Yes | App login e-mail | |
| ACINFINITY_PASSWORD | Yes | App password (only the first 25 characters are used) | |
| ACINFINITY_LOG_LEVEL | No | Log level: DEBUG, INFO (default), WARNING, ERROR | INFO |
| ACINFINITY_BACKUP_DIR | No | Where backup_settings stores its JSON files (default ~/.acinfinity-mcp/backups) | ~/.acinfinity-mcp/backups |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_controllersA | List all AC Infinity controllers on the account with current readings and port status.
A port whose mode is 'Off' but whose power is > 0 is being driven by an Advance Automation program — call list_automations to see the rules governing it. |
| get_port_settingsA | Get the mode configuration of one port: active mode, on/off power, auto temperature and humidity triggers (°C / %), VPD triggers (kPa), timer and cycle durations (minutes) and the schedule window (HH:MM). Units are already converted; nothing is scaled. |
| get_port_settings_rawA | Return the unmodified API object for a port (getdevModeSettingList) including the nested
|
| get_device_settingsA | Return the advanced settings object (getDevSetting) for a port, or for the controller when
port=0: temperature unit, calibration offsets, load type, dynamic response, sunrise timer,
display options. Values are in API units. Works on both controller families; on AI
controllers the same data is also nested as |
| list_automationsA | List the Advance Automation programs of a controller (the app's "Automations" tab). A program is a named set of rules; each rule governs one or more ports with a mode (On/Off/Auto/Cycle/VPD), on/off power, a schedule and, for Auto/VPD, sensor thresholds. These rules override the per-port mode from get_port_settings while they run — on AI controllers this is where the real configuration lives. Use |
| get_automations_rawA | Unmodified Advance Automation rule objects (getGroups) plus alarms (getAlarms) for a controller, in API units. Use list_automations for the decoded view. |
| backup_settingsA | Save the complete configuration of a controller (every port's mode settings, the controller record, all Advance Automation rules and alarms) to a local JSON file. Nothing on the device changes. Do this before any set_* call; restore_settings undoes changes. |
| list_backupsA | List saved backups (newest first) with their ids for restore_settings/compare_backup. |
| compare_backupA | Show every configuration field that differs between a backup and the device right now (per port and per automation rule), without changing anything. Use it after write experiments to verify the device is back in its original state. |
| restore_settingsA | Write a backup back to the device: each changed port's full mode settings and each
changed automation rule (in place, by id). The controller record (port 0) and rules that
no longer exist are skipped and reported. Afterwards the device is re-read and any
remaining differences are returned — an empty |
| rename_portA | Rename a port (the label shown in the AC Infinity app). Does not change any mode or power. |
| set_port_modeA | Switch the active mode of a port (e.g. Off, On, Auto, Schedule). The mode's parameters (power, triggers, timers) keep their current values — set them first with the other tools. |
| set_port_powerA | Set the power levels (0-10) a port uses in its on and/or off state. Applies to every mode;
in On mode |
| set_port_timerA | Configure a countdown timer: the port turns on (to_on) or off (to_off) after |
| set_port_cycleA | Configure Cycle mode: repeat |
| set_port_scheduleA | Configure Schedule mode: on at |
| set_auto_triggersA | Configure Auto-mode temperature/humidity triggers. Each trigger has a value and an enabled flag; pass only what should change. Temperatures are °C (the °F twin is derived). |
| set_vpd_triggersA | Configure VPD-mode high/low triggers in kPa (one decimal). Pass only what should change. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools are clearly distinct: list_*, get_*, set_*, and backup/restore operations each target specific resources. The main potential confusion is between get_port_settings_raw and get_device_settings, which both expose raw device data, but the descriptions clarify their different scopes.
Tool names follow a consistent verb_noun pattern: list_*, get_*, set_*, backup_settings, restore_settings, compare_backup. The only minor inconsistency is list_backups vs compare_backup (plural vs singular), but this does not hurt predictability.
With 18 tools, the server is slightly above the ideal 3-15 range, but every tool addresses a distinct configuration aspect of AC Infinity controllers. The count feels justified rather than bloated.
The set covers reading and writing port modes, timers, schedules, triggers, and backups well. However, there are notable gaps: no create/update/delete operations for automation programs, and no setter for device-level settings (e.g., temperature unit, calibration), limiting full lifecycle management.