# get_states

Get all entity states via WebSocket (faster than REST for large installs).

Agent View of the PolicyLayer registry record for `get_states`. HTML page: https://policylayer.com/tools/fistacho-ha-nexus-agent/get-states

## Facts

- Tool: `get_states`
- Server: Ha Nexus Agent (`fistacho/ha-nexus-agent`) — https://policylayer.com/tools/fistacho-ha-nexus-agent.md
- Homepage: https://github.com/Fistacho/ha-nexus-agent
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_states",
    "arguments": {}
  }
}
```

## Why get_states is rated Low

This tool queries the state of entities in Home Assistant without creating, modifying, deleting, or executing any actions. It is a read-only operation that fetches current state information. The choice of WebSocket over REST is an implementation detail for performance and does not change the nature of the operation.

From the tool's own definition: "Tool name is 'get_states' and description states it retrieves 'all entity states' via WebSocket. The verb 'Get' and phrasing 'retrieves' indicate data retrieval with no modification or side effects."

## Use case

AI agents call get_states to retrieve information from Ha Nexus Agent without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Ha Nexus Agent:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "get_states": {}
  }
}
```

## Other tools on Ha Nexus Agent (275)

- `abort_config_flow` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/abort-config-flow.md
- `abort_options_flow` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/abort-options-flow.md
- `delete_area` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-area.md
- `delete_automation` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-automation.md
- `delete_backup` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-backup.md
- `delete_blueprint` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-blueprint.md
- `delete_card` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-card.md
- `delete_category` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-category.md
- `delete_config_file` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-config-file.md
- `delete_css_custom_property` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-css-custom-property.md
- `delete_event` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-event.md
- `delete_label` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-label.md
- `delete_media` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-media.md
- `delete_pipeline` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-pipeline.md
- `delete_script` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-script.md
- `delete_style_preset` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-style-preset.md
- `delete_theme` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-theme.md
- `delete_zone` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/delete-zone.md
- `git_rollback_file` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/git-rollback-file.md
- `git_rollback_to_commit` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/git-rollback-to-commit.md
- `notify_persistent_dismiss` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/notify-persistent-dismiss.md
- `notify_persistent_dismiss_all` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/notify-persistent-dismiss-all.md
- `remove_device` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/remove-device.md
- `remove_energy_source` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/remove-energy-source.md
- `remove_integration` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/remove-integration.md
- `remove_item` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/remove-item.md
- `restore_backup` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/restore-backup.md
- `stop_ha` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/stop-ha.md
- `uninstall_addon` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/uninstall-addon.md
- `uninstall_hacs_repository` — Destructive — https://policylayer.com/tools/fistacho-ha-nexus-agent/uninstall-hacs-repository.md
- …and 245 more: https://policylayer.com/tools/fistacho-ha-nexus-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=fistacho-ha-nexus-agent · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/fistacho-ha-nexus-agent
