domoai-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOMOAI_MCP_HOST | No | Host address to bind the shared network gateway. | |
| DOMOAI_MCP_PATH | No | Path for the shared network gateway. | |
| DOMOAI_MCP_PORT | No | Port for the shared network gateway. | |
| DOMOAI_ENERGY_LIVE | No | Set to 1 to enable live energy data collection. | |
| DOMOAI_MODBUS_HOST | No | Hostname of the Modbus TCP controller. | |
| DOMOAI_MODBUS_PORT | No | Port of the Modbus TCP controller (default '502'). | |
| DOMOAI_DATABASE_PATH | No | Path to the SQLite database file. | |
| DOMOAI_MQTT_PASSWORD | No | Password for MQTT broker authentication. | |
| DOMOAI_MQTT_USERNAME | No | Username for MQTT broker authentication. | |
| DOMOAI_MCP_PUBLIC_URL | No | Public URL for the shared network gateway. | |
| DOMOAI_SOLAR_PROVIDER | No | Solar forecast provider, e.g., 'open_meteo'. | |
| DOMOAI_KNX_CONFIG_PATH | No | Path to the KNX mapping JSON file. | |
| DOMOAI_TARIFF_PROVIDER | No | Tariff provider, e.g., 'omie'. | |
| DOMOAI_ZIGBEE2MQTT_URL | No | MQTT broker URL for Zigbee2MQTT, e.g., 'mqtt://mqtt-broker.local:1883'. | |
| DOMOAI_KNX_GATEWAY_HOST | No | Hostname of the KNX/IP gateway. | |
| DOMOAI_MATTER_SERVER_URL | No | WebSocket URL of the Matter Server, e.g., 'ws://matter-server.local:5580/ws'. | |
| DOMOAI_HOME_ASSISTANT_URL | No | Base URL of the Home Assistant instance. Required with DOMOAI_HOME_ASSISTANT_TOKEN for the live Home Assistant runtime. | |
| DOMOAI_MODBUS_CONFIG_PATH | No | Path to the Modbus mapping JSON file. | |
| DOMOAI_SOLAR_PROFILE_PATH | No | Path to the solar profile JSON file. | |
| DOMOAI_KNX_TIMEOUT_SECONDS | No | Timeout in seconds for KNX operations. | |
| DOMOAI_HOME_ASSISTANT_TOKEN | No | Long-lived access token for Home Assistant. Required with DOMOAI_HOME_ASSISTANT_URL. | |
| DOMOAI_MQTT_TIMEOUT_SECONDS | No | Timeout in seconds for MQTT operations. | |
| DOMOAI_MCP_CLIENT_TOKEN_FILE | No | Path to a file containing the bearer token. Required when binding to a non-loopback address. | |
| DOMOAI_MATTER_TIMEOUT_SECONDS | No | Timeout in seconds for Matter Server operations. | |
| DOMOAI_MODBUS_TIMEOUT_SECONDS | No | Timeout in seconds for Modbus operations. | |
| DOMOAI_ZIGBEE2MQTT_BASE_TOPIC | No | Base MQTT topic for Zigbee2MQTT (default 'zigbee2mqtt'). | |
| DOMOAI_BATTERY_HIL_EVIDENCE_PATH | No | Path to hardware-in-the-loop evidence file required for production battery dispatch. | |
| DOMOAI_BATTERY_DISPATCH_PRODUCTION | No | Set to 1 to enable production battery dispatch. Requires matching HIL evidence. | |
| DOMOAI_HOME_ASSISTANT_MAPPING_PATH | No | Path to a Home Assistant metric mapping JSON file. | |
| DOMOAI_MODBUS_POLL_INTERVAL_SECONDS | No | Polling interval in seconds for Modbus data collection. | |
| DOMOAI_BATTERY_DISPATCH_PROFILE_PATH | No | Path to the dispatchable battery profile JSON file. |
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 |
|---|---|
| discover_devicesB | Read or refresh the canonical semantic device inventory. |
| inspect_commissioningA | Read the shared, non-authoritative commissioning report for future battery and EV bindings. |
| get_stateC | Read bounded semantic state snapshots for selected devices. |
| get_energy_contextB | Read a complete canonical energy context for one requested horizon. |
| validate_commandB | Validate one semantic command without invoking an adapter. |
| validate_planC | Validate a semantic plan and return its policy decisions and digest. |
| request_approvalA | Issue a server-authoritative approval grant for a plan requiring confirmation. A trusted host may inject an authenticated operator principal. The optional operator_token exists only for explicitly enabled local/dev compatibility mode; the caller never supplies the recorded operator identity. The returned approval_id is single-use and bound to the plan's current validation digest. |
| execute_planB | Execute a previously validated plan after runtime safety checks. |
| schedule_planA | Schedule a previously validated/approved plan to execute at a future time, instead of immediately. The plan still goes through every existing safety check when its time arrives. |
| commit_or_schedule_bundleC | Commit one validated bundle through the runtime-owned physical execution and scheduling boundary. |
| cancel_scheduled_planA | Cancel a pending scheduled plan before it executes. |
| reschedule_planA | Request a temporal revision for a pending plan. The legacy generic mutation is fail-closed; a changed time must be validated and approved again before admission. |
| list_scheduled_plansA | List plans currently pending their scheduled execution time. |
| schedule_recurring_planA | Schedule a plan's commands to run repeatedly at a fixed local time, optionally restricted to specific weekdays. Creating a standing automation is its own authority act, distinct from running the commands once: if the template plan currently requires confirmation, an approval_id from request_approval is required to create the schedule at all. Every occurrence is still independently revalidated against live state before it executes; an occurrence requiring confirmation at run time is skipped and audited, never auto-approved, and recurrence continues to its next scheduled time. An optional expires_at bounds how long the automation stays active. |
| cancel_recurring_scheduleB | Cancel a recurring schedule; stops all future occurrences. |
| list_recurring_schedulesA | List active recurring schedules and their next occurrence. |
| list_audit_eventsA | Query the bounded, filterable audit trail of runtime decisions. |
| validate_scenarioB | Validate an optimization scenario against canonical devices and capabilities. |
| optimize_scenarioA | Compute a deterministic proposal without executing physical commands. |
| explain_solutionA | Explain a typed optimization result without changing runtime state. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| areas_resource | |
| capabilities_resource | |
| devices_resource | |
| energy_resource | |
| policies_resource | |
| metrics_resource | |
| runtime_resource | |
| commissioning_resource |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FernanMoreno/DomoAI'
If you have feedback or need assistance with the MCP directory API, please join our Discord server