ha-nexus-agent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HA_URL | Yes | Home Assistant URL | http://homeassistant.local:8123 |
| HA_TOKEN | Yes | Long-lived access token (required for standalone mode) | |
| NEXUS_PORT | No | HTTP server port | 7123 |
| NEXUS_API_KEY | No | Pin to a specific API key (auto-generated if not set) | |
| HA_CONFIG_PATH | No | Path to HA config directory (for git tools) | /config |
| SUPERVISOR_TOKEN | No | Auto-injected when running as Home Assistant add-on |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| entities_bulk_set_stateA | Bulk-write states using HA's set_state API. Each item must contain |
| entities_set_entity_exposureB | Expose or hide an entity to a voice assistant.
|
| 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.
|
| entities_bulk_set_entity_exposureA | Expose/hide many entities across one or more voice assistants in one call.
|
| 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.
|
| services_camera_recordB | Record a short clip from a camera entity to
|
| services_notify_persistent_createA | Create or replace a persistent notification in the HA UI. Provide |
| services_notify_persistent_dismissB | Dismiss a persistent notification by its |
| 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 |
| 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:
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
| Name | Description |
|---|---|
| card_builder_design_dashboard | Set context for designing a whole Home Assistant dashboard. |
| card_builder_design_card | Set context for designing one Card Builder card for an entity domain. |
| card_builder_pick_template | Help an AI client choose the right pre-built template for an entity. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/Fistacho/ha-nexus-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server