baseline-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BASELINE_PASSWORD | Yes | Your Baseline account password. | |
| BASELINE_USERNAME | Yes | Your Baseline account username. | |
| BASELINE_COMPANY_ID | No | Company ID to restrict enumeration to a single organization. | |
| BASELINE_CONTROLLER_ID | No | Default controller ID to use when not explicitly provided. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| baseline_whoamiA | Validate the session and return the logged-in user, access level, current company, and assigned controller ids. |
| baseline_list_companiesA | List the Baseline organizations (companies) this account can access. Use a companyId to scope baseline_list_controllers, or pin one via BASELINE_COMPANY_ID. |
| baseline_list_controllersA | List sites and controllers (with model, firmware, subscription, device counts) across every organization the account can access. Pass companyId to limit to one org. |
| baseline_get_statusA | Live snapshot for a controller: overall status plus per-zone and per-device status codes (Running/Done/Off/Error/etc.) with decoded sensor readings. |
| baseline_list_zonesC | Zone configuration for a controller: number, name, decoder serial, enabled state, designed/learned flow, and hydrozone agronomy details. |
| baseline_get_alarmsA | Active alarms and faults for a controller (valve short circuits, flow comm failures, dial-off, empty conditions, etc.), decoded with sender device and fault type. |
| baseline_get_announcementsB | Vendor proactive notifications (e.g. scheduled server-maintenance banners), as plain text. |
| baseline_get_reportA | Fetch a reporting time-series for a controller. Returns aligned timestamp/value points. Types: WaterUsage, ZoneRuntimes, ZonesActivity, ControllerActivity, MoistureLevels, Temperature, FlowMeterTotals, RainfallAccumulation, MeasuredFlow, ExpectedFlow. Dates are 'YYYY-MM-DD HH:mm'. Use id to scope to a single zone/device, omit for controller-wide. |
| baseline_list_devicesA | Enumerate every device on a controller grouped by type (zones, flow meters, moisture/temperature/pressure sensors, master valves, pumps, rain gauges, event switches). Each entry includes the |
| baseline_get_programsA | List watering programs for a controller with their last start/finish, duration, water used, next scheduled start/finish, and assigned zones. Sourced from the controller config. |
| baseline_get_liveA | Current live reading for one enumerated device, by its reporting serial (from baseline_list_devices: serialNumber, or decoderSN for a zone). Returns the decoded status and key/value readings, plus a primary value where meaningful: pressure sensor → PSI, moisture sensor → %VWC, flow meter → real-time water usage, zones/valves/pumps → run state. Pair with baseline_get_history for the same device's trend. |
| baseline_get_historyA | Modern reporting time-series for a single device. Kinds: pressure, zone, flow, moisture, temperature. This is the source for historical PRESSURE and for per-zone/flow/moisture/temperature trends. deviceSn is the device's reporting serial (from baseline_list_devices: serialNumber for sensors/meters, decoderSN for zones). Dates accept ISO-8601 or YYYY-MM-DD. Returns max/min/average/median plus per-bucket points. |
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 12 tools
Each tool targets a unique read operation (listing, getting live data, history, etc.) with no overlaps. Tools like baseline_get_live and baseline_get_status are distinct: live gives a single device reading, status gives controller-wide snapshot.
All tools follow a consistent 'baseline_verb_noun' pattern in snake_case. Verbs are either 'get' or 'list', with 'whoami' being the only exception but still clearly readable.
With 12 tools, the server is well-scoped for an irrigation monitoring system. It covers key data types (companies, controllers, devices, zones, alarms, history, live, programs, reports, status) without overloading.
The tool set provides comprehensive read access to most data sources (alarms, history, live, programs, reports, status, device listing). Missing write operations (create, update, delete) which might be out of scope for a read-only server.