Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HA_URLYesHome Assistant URLhttp://homeassistant.local:8123
HA_TOKENYesLong-lived access token (required for standalone mode)
NEXUS_PORTNoHTTP server port7123
NEXUS_API_KEYNoPin to a specific API key (auto-generated if not set)
HA_CONFIG_PATHNoPath to HA config directory (for git tools)/config
SUPERVISOR_TOKENNoAuto-injected when running as Home Assistant add-on

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
entities_list_entitiesA

List entities, optionally filtered by domain, with pagination and field selection.

entities_get_entityC

Get full state and attributes of a single entity.

entities_turn_onA

Turn on an entity. Optional: brightness (0-255), color_temp (mireds), rgb_color ([r,g,b]).

entities_turn_offC

Turn off an entity.

entities_toggleC

Toggle an entity between on and off.

entities_set_valueC

Set value of input_number, number, or climate temperature.

entities_select_optionC

Select option for input_select or select entity.

entities_update_entity_nameC

Rename an entity in the entity registry.

entities_assign_entity_to_areaC

Assign an entity to an area.

entities_disable_entityC

Disable an entity in the registry.

entities_enable_entityB

Re-enable a disabled entity.

entities_list_entity_registryC

Get raw entity registry (includes disabled, hidden entities).

entities_bulk_controlA

Bulk turn_on/turn_off/toggle a list of entities.

Groups entities by domain and issues one service call per domain (e.g. all light.* get a single light.turn_on). action must be one of: "turn_on", "turn_off", "toggle". Returns dict mapping domain -> count of entities affected.

entities_bulk_set_stateA

Bulk-write states using HA's set_state API.

Each item must contain entity_id and state, plus optional attributes dict. Returns a list of per-update result dicts ({entity_id, ok, error?}). Note: this writes to /api/states which only sets a virtual state — for real device control use bulk_control instead.

entities_set_entity_exposureB

Expose or hide an entity to a voice assistant.

assistant must be one of: "conversation", "cloud.alexa", "cloud.google_assistant". Uses WS homeassistant/expose_entity.

entities_get_entity_exposureB

Get exposure flags for an entity across all voice assistants.

entities_list_exposed_entitiesA

List all entities exposed to a given voice assistant.

assistant must be one of: "conversation", "cloud.alexa", "cloud.google_assistant".

entities_bulk_set_entity_exposureA

Expose/hide many entities across one or more voice assistants in one call.

assistants defaults to all three: conversation, cloud.alexa, cloud.google_assistant. Pass a subset to target specific ones. Uses WS homeassistant/expose_entity which natively accepts lists.

services_call_serviceA

Call any Home Assistant service. E.g. domain='light', service='turn_on', data={'entity_id':'light.living_room','brightness':200}.

services_list_servicesB

List all available services, optionally filtered by domain.

services_fire_eventC

Fire a Home Assistant event.

services_render_templateA

Render a Jinja2 template string using HA template engine. Useful for testing templates before saving.

services_reload_configA

Reload configuration for a domain (automation, script, scene, input_boolean, etc.).

services_press_buttonC

Press a button entity.

services_set_cover_positionC

Set cover/blind/shutter position (0=closed, 100=open).

services_set_cover_tiltA

Set cover tilt position (0=closed, 100=open).

services_set_climate_modeA

Set climate HVAC mode (heat, cool, auto, off, fan_only, dry).

services_set_light_colorC

Set light color, color temperature and/or brightness.

services_media_play_pauseC

Toggle play/pause on a media player.

services_media_seekC

Seek media player to position (seconds).

services_set_volumeB

Set media player volume (0.0 to 1.0).

services_send_notificationC

Send a Home Assistant notification. target = notify service name (default: notify).

services_camera_snapshotB

Take a still snapshot from a camera entity.

filename is a path inside the HA config dir, typically under /config/www/snapshots/... so it can be served by HA. The directory must exist and be allow-listed via allowlist_external_dirs.

services_camera_recordB

Record a short clip from a camera entity to filename for duration seconds.

filename is a path inside the HA config dir (e.g. /config/www/snapshots/clip.mp4).

services_notify_persistent_createA

Create or replace a persistent notification in the HA UI.

Provide notification_id to allow the notification to be dismissed/updated later via notify_persistent_dismiss.

services_notify_persistent_dismissB

Dismiss a persistent notification by its notification_id.

services_notify_persistent_dismiss_allA

Dismiss all persistent notifications.

automations_list_automationsA

List all automations with their current state.

automations_trigger_automationC

Manually trigger an automation.

automations_enable_automationA

Enable a disabled automation.

automations_disable_automationC

Disable an automation.

automations_reload_automationsA

Reload all automations from YAML.

automations_list_scriptsA

List all scripts.

automations_run_scriptC

Run a script, optionally with variables.

automations_reload_scriptsC

Reload all scripts from YAML.

automations_list_scenesA

List all scenes.

automations_activate_sceneC

Activate a scene.

automations_reload_scenesB

Reload scenes from YAML.

automations_get_scene_configA

Get a scene's config dict (entities + their target states). Accepts bare id or 'scene.'. Returns None if not found.

automations_set_scene_configB

Create or overwrite a scene config. Auto-reloads scenes.

entities format — keys are entity_ids, values are the target state dict: { "light.living_room": {"state": "on", "brightness": 76}, "cover.roleta": {"state": "closed", "position": 0}, "switch.fan": {"state": "off"} }

brightness range is 0-255 (30% ≈ 76, 50% ≈ 128, 100% = 255).

automations_delete_sceneA

Delete a scene config. Requires confirm=True. Auto-reloads scenes.

automations_get_automation_configA

Get an automation's YAML config as a dict. Accepts bare id or 'automation.'. Returns None if not found.

automations_set_automation_configA

Create or overwrite an automation YAML config (alias, trigger, action, condition, ...). Auto-reloads automations.

automations_delete_automationB

Delete an automation by id. Auto-reloads automations afterwards. Set confirm=True to proceed.

automations_get_script_configA

Get a script's YAML config as a dict. Accepts bare id or 'script.'. Returns None if not found.

automations_set_script_configB

Create or overwrite a script YAML config (sequence, fields, ...). Auto-reloads scripts.

automations_delete_scriptB

Delete a script by id. Auto-reloads scripts afterwards. Set confirm=True to proceed.

automations_list_automation_tracesA

List trace summaries (recent runs) for an automation. Accepts bare id or 'automation.'.

automations_get_automation_traceB

Get a full automation trace (steps, timing, condition results) for a specific run.

automations_list_script_tracesA

List trace summaries (recent runs) for a script. Accepts bare id or 'script.'.

automations_get_script_traceA

Get a full script trace (steps, timing, action results) for a specific run.

automations_get_last_automation_traceA

Shortcut: fetch the most recent trace for an automation in one call.

Use failed_only=True to grab the latest run that didn't finish cleanly — handy for debugging "why didn't this fire?".

automations_get_last_script_traceA

Shortcut: fetch the most recent (or most recent failed) trace for a script.

automations_validate_best_practicesA

Validate automation YAML against HA best practices (static linter).

Accepts a single automation dict or a list of automation dicts.

Checks:

  • state trigger without 'for:' (bounce risk)

  • missing 'mode:' declaration

  • multiple triggers without 'id:' fields

  • missing 'alias:' / 'id:'

  • deprecated 'service:' key in actions (use 'action:' in HA 2024.8+)

  • 'restart' mode caution

  • missing 'description:'

Returns: {valid_yaml, automations_checked, issues_total, warnings, infos, issues[], summary} Each issue: {automation, rule, severity, message} severity: 'warning' = should fix, 'info' = good to know.

automations_validate_automation_referencesA

Cross-check entity IDs and services used in automation YAML against the live HA registry.

Unlike validate_best_practices (static), this tool calls Home Assistant to verify that every referenced entity_id exists and every service is registered. Template values ({{ ... }}) are skipped — they can't be resolved statically.

Returns: { valid_yaml, entities_checked, services_checked, missing_entities[], missing_services[], template_refs_skipped, summary }

automations_list_groupsA

List all Home Assistant entity groups (group.* entities).

Returns groups with their members, icon, and current state.

automations_set_groupA

Create or update a Home Assistant entity group.

Wraps the group.set service. Group is stored in groups.yaml and persists restarts.

automations_remove_groupA

Remove a Home Assistant entity group. Set confirm=True to proceed.

areas_list_areasA

List all areas (rooms) in Home Assistant.

areas_create_areaC

Create a new area.

areas_delete_areaB

Delete an area by its area_id.

areas_list_floorsA

List all floors.

areas_list_devicesB

List all devices in the device registry.

areas_get_area_entitiesC

Get all entities belonging to an area.

areas_get_area_statesA

Get current states of all entities in an area.

areas_control_areaA

Turn on/off/toggle all entities of a domain in an area. action: 'turn_on' | 'turn_off' | 'toggle'

history_get_state_historyC

Get state history for an entity over the last N hours.

history_get_logbookC

Get logbook entries, optionally filtered by entity_id.

history_get_error_logA

Fetch the Home Assistant error log.

history_get_system_infoA

Get Home Assistant system/version info.

history_get_ha_configA

Get current Home Assistant configuration (location, units, version, components).

helpers_list_helpersA

List all helper entities (input_boolean, input_number, input_select, counter, timer…).

helpers_set_input_booleanC

Set input_boolean to true or false.

helpers_set_input_numberC

Set an input_number value.

helpers_set_input_textC

Set an input_text value.

helpers_set_input_selectC

Set an input_select to a specific option.

helpers_set_input_datetimeB

Set input_datetime. Provide date (YYYY-MM-DD), time (HH:MM:SS) or datetime (YYYY-MM-DD HH:MM:SS).

helpers_increment_counterC

Increment a counter helper.

helpers_reset_counterC

Reset a counter helper to 0.

helpers_start_timerC

Start a timer. duration format: HH:MM:SS or number of seconds.

helpers_cancel_timerC

Cancel a running timer.

helpers_reload_helpersA

Reload all helper entities from configuration.

system_check_configA

Validate Home Assistant configuration before restart.

system_restart_haA

Restart Home Assistant. WARNING: causes ~30s downtime.

Set confirm=True to proceed; without it returns a safety prompt.

system_stop_haA

Stop Home Assistant. WARNING: requires manual restart.

Set confirm=True to proceed; without it returns a safety prompt.

system_reload_allB

Reload core configuration (automations, scripts, scenes, groups, etc.).

system_create_backupB

Create a full Home Assistant backup.

system_list_integrationsA

List all loaded integrations (config entries).

system_reload_integrationC

Reload a specific integration config entry.

system_ping_haA

Check if Home Assistant is reachable.

Prompts

Interactive templates invoked by user choice

NameDescription
card_builder_design_dashboardSet context for designing a whole Home Assistant dashboard.
card_builder_design_cardSet context for designing one Card Builder card for an entity domain.
card_builder_pick_templateHelp an AI client choose the right pre-built template for an entity.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/Fistacho/ha-nexus-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server