Skip to main content
Glama
misterboe

acinfinity-mcp

by misterboe

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ACINFINITY_EMAILYesApp login e-mail
ACINFINITY_PASSWORDYesApp password (only the first 25 characters are used)
ACINFINITY_LOG_LEVELNoLog level: DEBUG, INFO (default), WARNING, ERRORINFO
ACINFINITY_BACKUP_DIRNoWhere 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_controllersA

List all AC Infinity controllers on the account with current readings and port status.

tent is the climate inside the grow tent (external probe: temperature °C, humidity %, VPD kPa) — use this when the user asks how the tent is doing. ambient (AI controllers only) is the onboard sensor in the controller housing, i.e. the room outside the tent. Also returns every port with name, power level (0-10), on/off state and active mode, and on AI controllers every individual sensor reading. Readings are null while offline.

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 devSetting advanced settings. Port 0 = controller-level settings. Values are in API units (see docs/api/controls-and-settings.md); use get_port_settings for converted values.

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 devSetting in get_port_settings_raw.

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 schedule/continuous for when a rule applies: continuous=true means the app's 24/7 switch is on and the rule runs at all times (window/days are then null/empty). Thresholds: low/high are null when that trigger is not set; the underlying record is only partially reverse-engineered (see raw), so report values as decoded from the device rather than as guaranteed.

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 remaining_changes means fully restored.

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 on_power is the running level. Pass only the values you want to change.

set_port_timerA

Configure a countdown timer: the port turns on (to_on) or off (to_off) after minutes.

set_port_cycleA

Configure Cycle mode: repeat on_minutes on, then off_minutes off.

set_port_scheduleA

Configure Schedule mode: on at start, off at end (controller local time). A window crossing midnight (e.g. 18:00 → 06:00) is allowed. Null disables that edge (API value 65535).

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 18 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness3/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues