Ha Nexus Agent

276 tools. 158 can modify or destroy data without limits.

30 destructive tools with no built-in limits. Policy required.

Last updated:

158 can modify or destroy data
118 read-only
276 tools total

Community server · catalogue entry checked 12/06/2026

How to control Ha Nexus Agent ↓

What Ha Nexus Agent exposes to your agents

Read (118) Write / Execute (123) Destructive / Financial (30)
Critical Risk

The most dangerous Ha Nexus Agent tools

158 of Ha Nexus Agent's 276 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Ha Nexus Agent

PolicyLayer is an MCP gateway — it sits between your AI agents and Ha Nexus Agent, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "abort_config_flow": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_battery_source": {
    "limits": [
      {
        "counter": "add_battery_source_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "camera_snapshot": {
    "limits": [
      {
        "counter": "camera_snapshot_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Ha Nexus Agent — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON HA NEXUS AGENT →

Instant setup, no code required.

All 276 Ha Nexus Agent tools

DESTRUCTIVE 30 tools
Destructive abort_config_flow Abort a config flow in progress. Destructive abort_options_flow Abort an options flow in progress. Destructive delete_area Delete an area by its area_id. Destructive delete_automation Delete an automation by id. Auto-reloads automations afterwards. Destructive delete_backup Delete a backup by slug. Destructive delete_blueprint Delete an installed blueprint by its relative path (e.g. 'author/blueprint_name.yaml'). Destructive delete_card Delete a card by id. HA's WS handler returns an empty payload on success. Destructive delete_category Delete a category via WS config/category_registry/delete. Destructive delete_config_file Delete a config file. Will NOT delete if it has no known safe extension. Destructive delete_css_custom_property Delete a CSS custom property. Destructive delete_event Delete a calendar event by its uid. Destructive delete_label Delete a label via WS config/label_registry/delete. Destructive delete_media Delete a file from the Card Builder media directory by its relative path. Destructive delete_pipeline Delete an Assist pipeline. Cannot delete the preferred pipeline — change preference first. Destructive delete_script Delete a script by id. Auto-reloads scripts afterwards. Destructive delete_style_preset Delete a style preset. Destructive delete_theme Delete a theme file from themes/<name>.yaml. Destructive delete_zone Delete a zone via WS config/zone/delete (accepts zone helper id or zone.<id>). Destructive git_rollback_file Restore a single file to its state at a specific commit (default: last commit = undo changes). Destructive git_rollback_to_commit Hard-reset config to a previous commit. WARNING: all changes after that commit are lost. Destructive notify_persistent_dismiss Dismiss a persistent notification by its notification_id. Destructive notify_persistent_dismiss_all Dismiss all persistent notifications. Destructive remove_device Remove a device from a specific config entry. Destructive remove_energy_source Remove an energy source identified by its stat_energy_from (also strips matching grid flow_from entries). Destructive remove_integration Remove (uninstall) an integration config entry. Destructive remove_item Remove a todo item from a list by its uid. Destructive restore_backup Restore a full backup by slug. DANGEROUS — requires confirm=True. Destructive stop_ha Stop Home Assistant. WARNING: requires manual restart. Destructive uninstall_addon Uninstall an add-on. DANGEROUS — requires confirm=True. Destructive uninstall_hacs_repository Uninstall a HACS repository by id.
EXECUTE 41 tools
Execute activate_scene Activate a scene. Execute build_from_recipe build_from_recipe Execute bulk_control bulk_control Execute call_service Call any Home Assistant service. E.g. domain='light', service='turn_on', data={'entity_id':'light.living_room' Execute cancel_timer Cancel a running timer. Execute control_area Turn on/off/toggle all entities of a domain in an area. Execute fire_event Fire a Home Assistant event. Execute git_checkout_branch Switch to an existing branch. Execute git_commit_all Stage all changes and commit them with a message. Use before making risky changes as a checkpoint. Execute git_init_config Initialize git repository in HA config directory. Run once before using other git tools. Execute install_addon Install an add-on from its slug (must already be in a registered repository). Execute install_hacs_repository Install a HACS repository, optionally pinning a specific version. Execute media_play_pause Toggle play/pause on a media player. Execute press_button Press a button entity. Execute refresh_index Force-rebuild the search index (run after dynamically adding tools at runtime). Execute reload_all Reload core configuration (automations, scripts, scenes, groups, etc.). Execute reload_automations Reload all automations from YAML. Execute reload_config Reload configuration for a domain (automation, script, scene, input_boolean, etc.). Execute reload_helpers Reload all helper entities from configuration. Execute reload_integration Reload a specific integration config entry. Execute reload_scenes Reload scenes from YAML. Execute reload_scripts Reload all scripts from YAML. Execute reload_themes Reload themes from <config>/themes/. Call after creating or editing theme files. Execute reload_zones Reload zones from YAML via service zone.reload. Execute render_template Render a Jinja2 template string using HA template engine. Useful for testing templates before saving. Execute restart_addon Restart an add-on (stop + start). Execute restart_core Restart Home Assistant Core. DANGEROUS — requires confirm=True. Execute restart_ha Restart Home Assistant. WARNING: causes ~30s downtime. Execute restart_host Reboot the host machine. VERY DANGEROUS — requires confirm=True. Execute run_script Run a script, optionally with variables. Execute start_addon Start an installed add-on. Execute start_config_flow Start a new config flow for the given integration domain. Execute start_timer Start a timer. duration format: HH:MM:SS or number of seconds. Execute stop_addon Stop a running add-on. Execute submit_config_flow_step Submit user input for the current step of a config flow. Execute subscribe_trigger Wait for a HA trigger to fire. Returns the trigger context when it fires. Execute toggle Toggle an entity between on and off. Execute trigger_automation Manually trigger an automation. Execute turn_off Turn off an entity. Execute turn_on Turn on an entity. Optional: brightness (0-255), color_temp (mireds), rgb_color ([r,g,b]). Execute update_addon Update an add-on to the latest available version.
WRITE 82 tools
Write add_battery_source Add a battery source to the Energy Dashboard (both charge stat_energy_to and discharge stat_energy_from). Write add_card_to_view Add a card to a specific view in a dashboard. Write add_custom_repository Add a custom HACS repository by URL + category (integration, plugin, theme, template, appdaemon, python_script Write add_grid_consumption Add a grid consumption flow (flow_from) to the Energy Dashboard's grid source, creating the grid source if nee Write add_grid_return Add a grid return flow (flow_to, e.g. solar export) to the Energy Dashboard's grid source. Write add_item Add a new item to a todo list (todo.add_item service). Write add_solar_source Add a solar production source to the Energy Dashboard. Write add_view_to_dashboard Add a new view to a dashboard. Write append_to_config_file Append content to an existing config file (e.g. adding an automation entry to automations.yaml). Write assign_entity_to_area Assign an entity to an area. Write assign_label_to_device Assign a label to a device (preserves existing labels). Write assign_label_to_entity Assign a label to an entity (preserves existing labels). Write bulk_set_entity_exposure Expose/hide many entities across one or more voice assistants in one call. Write bulk_set_state bulk_set_state Write camera_record Record a short clip from a camera entity to filename for duration seconds. Write create_area Create a new area. Write create_backup Create a full backup, or partial when addons/folders are provided. Write create_card Create a new Card Builder card. Write create_category Create a category in the given scope via WS config/category_registry/create. Write create_css_custom_property Register a CSS custom property. syntax is e.g. "<color>" or "<length>". Write create_event Create a calendar event via the calendar.create_event service. Write create_label Create a new label via WS config/label_registry/create. Write create_pipeline Create a new Assist pipeline. Write create_style_preset Create a style preset. data is the CSS-style configuration blob. Write create_theme create_theme Write create_zone Create a zone via WS config/zone/create (zone helper integration). Write disable_automation Disable an automation. Write disable_entity Disable an entity in the registry. Write disable_integration Disable an integration config entry without removing it. Write enable_automation Enable a disabled automation. Write enable_entity Re-enable a disabled entity. Write enable_integration Re-enable a previously disabled integration config entry. Write git_create_branch Create a new branch (useful before experimental changes). Write import_blueprint Import a blueprint from a URL (e.g. GitHub raw or community forum) into /config/blueprints/<domain>/... Write increment_counter Increment a counter helper. Write make_template_card make_template_card Write media_seek Seek media player to position (seconds). Write notify_persistent_create Create or replace a persistent notification in the HA UI. Write remove_label_from_device Remove a label from a device (preserves remaining labels). Write remove_label_from_entity Remove a label from an entity (preserves remaining labels). Write reset_counter Reset a counter helper to 0. Write safe_write_with_checkpoint Write a config file AND automatically git-commit the current state before writing. Write save_dashboard_config Save Lovelace dashboard config. Overwrites existing config. Use get_dashboard_config first, then modify and sa Write save_energy_prefs Save Energy Dashboard preferences (WS energy/save_prefs); only the fields you pass are sent. Write select_option Select option for input_select or select entity. Write send_notification Send a Home Assistant notification. target = notify service name (default: notify). Write set_active_theme Set the active frontend theme. mode can be 'light' or 'dark'. Write set_addon_options Set configuration options for an add-on (sent as {"options": options}). Write set_automation_config Create or overwrite an automation YAML config (alias, trigger, action, condition, ...). Auto-reloads automatio Write set_climate_mode Set climate HVAC mode (heat, cool, auto, off, fan_only, dry). Write set_cover_position Set cover/blind/shutter position (0=closed, 100=open). Write set_cover_tilt Set cover tilt position (0=closed, 100=open). Write set_entity_exposure Expose or hide an entity to a voice assistant. Write set_input_boolean Set input_boolean to true or false. Write set_input_datetime Set input_datetime. Provide date (YYYY-MM-DD), time (HH:MM:SS) or datetime (YYYY-MM-DD HH:MM:SS). Write set_input_number Set an input_number value. Write set_input_select Set an input_select to a specific option. Write set_input_text Set an input_text value. Write set_light_color Set light color, color temperature and/or brightness. Write set_preferred_pipeline Set the default Assist pipeline (used when no pipeline is specified). Write set_script_config Create or overwrite a script YAML config (sequence, fields, ...). Auto-reloads scripts. Write set_value Set value of input_number, number, or climate temperature. Write set_volume Set media player volume (0.0 to 1.0). Write start_options_flow Start the options flow for an existing config entry (edit settings). Write submit_options_flow_step Submit a step in an options flow. Write update_card Update an existing card. Only the provided fields are changed. Write update_category Update a category via WS config/category_registry/update. Write update_device Update a device registry entry. Write update_entity_name Rename an entity in the entity registry. Write update_hacs_repository Update a HACS repository to its latest available version. Write update_integration_entry Update properties of an existing config entry (title, polling preferences). Write update_item Update a todo item by uid. Optional new item text and status. Write update_label Update an existing label via WS config/label_registry/update. Write update_pipeline Update an existing Assist pipeline. Only fields you pass are sent. Write update_style_preset Update a style preset. Write update_theme Update an existing theme file. Write update_zone Update a zone via WS config/zone/update; only the fields you pass are sent. Write upload_image_from_url upload_image_from_url Write upload_media Upload a file to the Card Builder media directory. Write upload_media_from_path Upload a local file (on the nexus host) to the Card Builder media directory. Write upload_svg upload_svg Write write_config_file Write content to a config file. Validates YAML syntax before saving (set validate_yaml=False to skip).
READ 118 tools
Read camera_snapshot Take a still snapshot from a camera entity. Read check_config Validate Home Assistant configuration before restart. Read check_schema_sync check_schema_sync Read deep_search Search across entities, devices, areas, and automations; tagged with kind. Read find_orphan_devices List devices that have no entities associated (orphans in device registry). Read find_related Return device, area, floor, sibling entities (same device), and area-mates for an entity. Read find_unused_entities Heuristic: entities that look unused (unavailable/unknown for >7 days, or orphan with no device). Read get_addon Get full info for a specific add-on by slug. Read get_addon_logs Get the last N log lines from an add-on (returns text wrapped in {logs: ...}). Read get_addon_stats Get runtime resource stats (CPU, memory, network, IO) for an add-on. Read get_all_integrations Get all active config entries (integrations, their state and domain). Read get_area_entities Get all entities belonging to an area. Read get_area_snapshot Convenience: full snapshot scoped to one area (states + devices + entities). Read get_area_states Get current states of all entities in an area. Read get_automation_config Get an automation's YAML config as a dict. Accepts bare id or 'automation.<id>'. Returns None if not found. Read get_automation_trace Get a full automation trace (steps, timing, condition results) for a specific run. Read get_block_schema Full schema for one block type: props with types/defaults/enum values, notes, supported domains, style targets Read get_card Get one card by id. Returns the card dict (including config) or an error. Read get_card_template Get the resolved DocumentData for a template (without creating a card). Read get_config Get HA config via WebSocket. Read get_config_flow Get the current state of a config flow (without advancing). Read get_core_info Get info about Home Assistant Core (version, arch, machine). Read get_dashboard_config Get Lovelace dashboard config. url_path can be a dashboard (e.g. 'map') or a view path Read get_dashboard_resources Get Lovelace resources (custom cards, CSS). Read get_design_pattern Full design pattern entry — same fields as list_design_patterns. Read get_energy_info Return Energy Dashboard info (cost sensors, currency, etc.) via WS energy/info. Read get_energy_prefs Return the full Home Assistant Energy Dashboard preferences (WS energy/get_prefs). Read get_entity Get full state and attributes of a single entity. Read get_entity_exposure Get exposure flags for an entity across all voice assistants. Read get_error_log Fetch the Home Assistant error log. Read get_ha_config Get current Home Assistant configuration (location, units, version, components). Read get_hacs_repository Get details about a single HACS repository by id. Read get_host_info Get info about the host OS (HAOS version, hostname, kernel, etc.). Read get_last_automation_trace Shortcut: fetch the most recent trace for an automation in one call. Read get_last_script_trace Shortcut: fetch the most recent (or most recent failed) trace for a script. Read get_logbook Get logbook entries, optionally filtered by entity_id. Read get_pipeline Get a single pipeline by id, or the preferred pipeline if id is omitted. Read get_script_config Get a script's YAML config as a dict. Accepts bare id or 'script.<id>'. Returns None if not found. Read get_script_trace Get a full script trace (steps, timing, action results) for a specific run. Read get_snapshot get_snapshot Read get_state_history Get state history for an entity over the last N hours. Read get_states Get all entity states via WebSocket (faster than REST for large installs). Read get_style_snippet Fetch one snippet wrapped in the full target/container envelope. Read get_supervisor_info Get info about the Supervisor itself (version, channel, healthy). Read get_system_info Get Home Assistant system/version info. Read get_theme Get a single theme's variable map (CSS variables) by name. Read get_tool_doc Full description (docstring) of a single tool — call after tool_search to read details. Read get_user_location Return {latitude, longitude, gps_accuracy, source, state} for a person. entity. Read get_zone Get a single zone entity (full state + attributes). Read git_diff Show diff of uncommitted changes, or diff of a specific commit (by SHA). Read git_list_branches List all local branches in HA config repo. Read git_log Show recent git commits in the HA config directory. Read git_status Show current git status of HA config directory. Read list_addons List all installed add-ons with slug, name, state, version, update_available. Read list_areas List all areas (rooms) in Home Assistant. Read list_automation_traces List trace summaries (recent runs) for an automation. Accepts bare id or 'automation.<id>'. Read list_automations List all automations with their current state. Read list_backups List all backups managed by Supervisor. Read list_block_types List every block type understood by Card Builder. Read list_blueprints List all installed blueprints for a domain ('automation' or 'script'). Read list_button_toggle_features list_button_toggle_features Read list_calendars List all calendar entities (REST: GET /api/calendars). Read list_card_templates List built-in card recipe templates. Read list_cards List all Card Builder cards (id, name, description, config, version, tags, …). Read list_categories List categories for a scope (e.g. 'automation') via WS config/category_registry/list. Read list_config_files List files in the HA config directory (or a subdirectory). Read list_conversation_agents List conversation agents available for the conversation step of a pipeline. Read list_css_custom_properties List CSS custom properties (@property registrations). Read list_dashboards List all Lovelace dashboards. Read list_design_patterns list_design_patterns Read list_devices List all devices in the device registry. Read list_devices_in_area List devices currently assigned to a given area_id. Read list_devices_with_label List all devices that have the given label assigned. Read list_entities List all entities, optionally filtered by domain (light, switch, sensor…). Read list_entities_with_label List all entities that have the given label assigned. Read list_entity_registry Get raw entity registry (includes disabled, hidden entities). Read list_events List events for a calendar entity between start and end (ISO 8601 datetimes). Read list_exposed_entities List all entities exposed to a given voice assistant. Read list_floors List all floors. Read list_flow_handlers List all integration domains that support config_flow (i.e. can be installed via UI). Read list_flows_in_progress List config flows currently in progress (started but not finished). Read list_hacs_critical_updates List HACS repositories that have a pending upgrade available. Read list_hacs_repositories List HACS repositories, optionally filtered by category (integration, plugin, theme, template, appdaemon, pyth Read list_helpers List all helper entities (input_boolean, input_number, input_select, counter, timer…). Read list_integrations List all loaded integrations (config entries). Read list_items List items in a todo list via WS todo/item/list. Read list_labels List all labels via WS config/label_registry/list. Read list_media List files/folders in the Card Builder media directory (relative to www/card_builder/). Read list_namespaces Compact map of every Nexus tool namespace and its tool count. Read list_persons_in_zone List person. entities currently inside the given zone (matched on friendly_name → state). Read list_pipelines List all Assist pipelines plus the preferred pipeline id. Read list_scenes List all scenes. Read list_script_traces List trace summaries (recent runs) for a script. Accepts bare id or 'script.<id>'. Read list_scripts List all scripts. Read list_services List all available services, optionally filtered by domain. Read list_stt_engines List installed Speech-to-Text engines (entities in the stt domain). Read list_style_categories List CSS style categories with their property names and unit conventions. Read list_style_presets List all reusable style presets. Read list_style_snippets List built-in style snippets — drop them straight into a node's styles or dz_styles. Read list_style_targets Style targets available for a block — sub-components you can style independently. Read list_theme_files List YAML files under themes/. Useful when a theme exists on disk but isn't loaded yet. Read list_themes List all themes registered with the frontend, plus the active default theme. Read list_todo_lists List all todo. entities currently registered in HA. Read list_tts_engines List installed Text-to-Speech engines (entities in the tts domain). Read list_wake_word_engines List installed wake-word detection engines (entities in the wake_word domain). Read list_zones List all zone. entities with latitude/longitude/radius/friendly_name/passive. Read listen_events Listen for any HA event type (e.g. 'zha_event', 'mobile_app_notification_action', 'call_service'). Read listen_state_changes Listen for state change events for an entity. Returns up to count events within timeout seconds. Read ping_ha Check if Home Assistant is reachable. Read read_config_file Read a config file relative to HA config dir. E.g. 'automations.yaml' or 'packages/lights.yaml'. Read recipe_guide Embedded how-to for designing Card Builder cards programmatically. Read search_areas Fuzzy search areas by name. Read search_devices Fuzzy search devices by name, name_by_user, manufacturer, and model. Read search_entities Fuzzy search entities by entity_id, friendly_name, and device_id. Read substitute_blueprint Render a blueprint with the given inputs and return the resulting automation/script YAML as a dict. Read tool_search tool_search Read validate_energy_prefs Validate the current Energy Dashboard configuration (WS energy/validate). Read validate_yaml_content Validate YAML content without saving. Returns parsed result or error.

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Ha Nexus Agent

Can an AI agent delete data through the Ha Nexus Agent MCP server? +

Yes. The Ha Nexus Agent server exposes 30 destructive tools including abort_config_flow, abort_options_flow, delete_area. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Ha Nexus Agent? +

The Ha Nexus Agent server has 82 write tools including add_battery_source, add_card_to_view, add_custom_repository. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Ha Nexus Agent.

How many tools does the Ha Nexus Agent MCP server expose? +

276 tools across 4 categories: Destructive, Execute, Read, Write. 118 are read-only. 158 can modify, create, or delete data.

How do I enforce a policy on Ha Nexus Agent? +

Register the Ha Nexus Agent MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Ha Nexus Agent tool call.

Deterministic rules across all 276 Ha Nexus Agent tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

276 Ha Nexus Agent tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Ha Nexus Agent's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.