Give your AI agent the keys to exactly what it needs.

Create one scoped token for each AI agent. Choose what it can read, what it can control, and which actions need approval. Use Agent Chat inside Home Assistant or connect any MCP client.

Runs entirely inside Home Assistant No cloud, no extra software HA 2025.2+
One token, filtered through Phoenix MCP into per-entity permissions phx_ one client Phoenix MCP tree caps MESA gate your entities

Choose how you want to chat

Use Agent Chat inside Home Assistant for the shortest setup, or connect an external MCP client. Both options use the same token scope, approvals, audit log, and MESA rules.

Why Phoenix MCP instead of a long-lived access token

A long-lived access token (LLAT) plus the native MCP server gives every client the same all-or-nothing view of your home. Phoenix MCP keeps the same tools and adds the control layer that the native system has no place for.

CapabilityLLAT + native MCPPhoenix MCP token
MCP tool compatibility23 native toolsSame 23 tools, identical names and responses, plus 137 more tools
Entity filteringBinary: expose or hide, same for all clientsFour permission states, per token
Per-client controlNo, all clients share one exposed setYes, independent permissions per token
Read-only accessNoYes, READ allows reads and blocks writes
Audit trailNoneRequest logging with outcome and entity, on by default and configurable per outcome
Rate limitingNonePer token, configurable
ExpiryNoneOptional, auto-archived on expiry
RevocationRevoke the LLAT on the HA profile pageInstant; the token's next request is rejected
Sensitive attribute scrubbingNoneAlways applied
Client reconfiguration/api/mcp with an LLAT/api/phoenix-mcp with a phx_ token (same tools; swap the URL and the bearer value)

If you are connecting Claude Code, Cursor, Codex, Antigravity, or another compatible AI tool to Home Assistant, Phoenix MCP gives you control the native system cannot.

Three layers between an agent and your home

Every action passes three checks: entity permission, capability, then MESA safety. Phoenix runs the action only when all three allow it. Reads use the permission checks that apply to them.

The permission tree

Domains, devices, and entities, each set to read-write, read-only, deny, or inherit. A two-pass resolver decides what every request can touch.

Permissions

Capability flags

29 opt-in switches gate the high-impact operations: restart, physical control, writing automations, reading logs, editing YAML. Off by default.

Capabilities

Semantic safety profiles

MESA stores a semantic profile for each entity: what it is, how sensitive it is, and how it should be treated by your AI agent, not just allow or deny. Describe your home's nature once, and every agent inherits the safe treatment: a lock or camera stays read-only or confirmation-only because of what it is, no matter which token is asking.

MESA