Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OTO_EMAILYesThe email address you use in the OtO mobile app
OTO_PASSWORDYesYour OtO app password

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_devicesB

List all OtO devices on the account with names and winter-mode state.

get_device_statusB

Get live hardware status for one device: battery voltage/current, charge state, comms info, and any error data.

get_device_logsB

Get the device's recent log entries (watering starts/stops, errors, battery and connectivity events), newest first.

list_zonesA

List watering zones (across all devices or for one device), with each zone's name, enabled state, water amount and schedule days.

get_zoneB

Get full details of one zone: paths, nozzle angles, water amounts, bottle/fertilizer state and scheduling info.

set_zone_enabledB

Enable or disable a zone. A disabled zone is skipped by schedules; manual watering may still be requested.

rename_zoneC

Rename a watering zone.

set_zone_wateringB

Set the scheduled water amount for a zone. Pass water_depth_mm (the depth of water the zone should receive per watering day) or minutes. Example: 9.5 mm is a typical summer day for turf grass.

water_zoneA

START WATERING a zone now, manually. Give water_depth_mm (water depth in millimetres, e.g. 0.5-10) or minutes (runtime). The device begins its run within a couple of minutes. Returns the event scheduleId needed to stop it. If allow_conflicts is false the request fails when the device is already due to water at this time.

stop_wateringA

Stop an active manual watering run. Get the scheduleId from water_zone or from the device's event list.

list_eventsA

List irrigation events. start/end are dates (YYYY-MM-DD), end included; default window is 7 days back through 14 days ahead. Set only_active=true to fetch just events that are scheduled, pending or currently executing.

cancel_eventB

Cancel a scheduled irrigation event (or set cancel=false to un-cancel a rain-skipped event and force it to water anyway).

list_routinesA

List watering schedules (routine definitions): pattern (daily/even/odd/ interval/daysOfWeek), start time, enabled flag and member zones.

set_routine_enabledA

Enable or disable a watering schedule. Fetch-current-then-merge is used so other schedule settings are preserved.

get_weatherA

Get the local weather used by the OtO weather engine: current conditions, weekly rain/temperature forecast and historical rain.

list_messagesC

List recent account messages from OtO (announcements, tips).

get_device_battery_historyB

Get the device's battery level history (percent values, one per day).

add_zoneA

Create a new unconfigured zone on a device. The device must calibrate the throw path via the app afterwards (cloud-only path mapping is not possible), but the zone appears immediately and is waterable.

delete_zoneB

Delete a zone. This cannot be undone from this tool; the app keeps deleted zones recoverable for a short period.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions (zones vs routines vs events vs devices). A few pairs could be momentarily confused—cancel_event vs stop_watering, and water_zone (manual) vs set_zone_watering (scheduled amount)—but the descriptions explicitly clarify the manual/scheduled distinction.

Naming Consistency5/5

Every tool follows a consistent snake_case verb_noun pattern (list_zones, get_zone, set_zone_enabled, water_zone, cancel_event, etc.). No mixed conventions or vague verbs appear.

Tool Count4/5

19 tools is on the heavier side but the domain is genuinely broad (zones, routines, events, devices, weather, messages), and each tool maps to a distinct operation. Slightly heavy but not bloated.

Completeness4/5

Zones have full lifecycle coverage (add/get/list/rename/enable/delete/set-watering) and devices/events are well covered. The main gap is routines: they can only be listed and enabled/disabled, with no create/edit, though zone-level scheduling partially compensates.

Maintenance

ActivityMaintained
ResponsivenessNo issues