Quick start

The fastest way to your first scoped token is the guided setup built into the ATM panel. It creates a test token, gives it access to one device, then lets you choose how to talk to it: chat right inside Home Assistant, or connect an external agent. This page follows that flow step by step. Budget about five minutes.

Before you start

ATM must be installed and added in Home Assistant (see Installation), and you need at least one controllable device such as a light. Everything below happens in the ATM panel in your sidebar. If you plan to chat inside Home Assistant, have a model provider ready: an API key for Claude, DeepSeek, ChatGPT, Gemini, Grok, MiniMax, or OpenRouter, or a local Ollama server (no key needed).

The guided setup

Open the panel and launch the guided setup

Open the ATM panel from your Home Assistant sidebar. On the Tokens tab, start the guided setup ("Connect your first AI agent"). The wizard takes you from an empty token to a working agent without leaving the panel.

Pick a persona

A persona is a named preset that sets every capability at once: what the agent may read, what it may control, and what needs your approval. New user is preselected and is a safe starting point. It lets the agent read your home and control the devices you grant, while locks, alarms, and covers ask for your confirmation.

Choosing a persona modifies the entire capability set, not just a label; you can fine-tune any single capability later. The personas are described on Capabilities.

The wizard's persona step with New user selected
The persona picker, with New user selected.

Name the test token

The wizard suggests test_token so its purpose is obvious; change it if you like, and set an optional expiry. Name and expiry are fixed once the token is created, so if you want different ones, set them here.

Grant access to one device

The wizard highlights your light domain. Expand it, find a light you can physically see, and click the W button on that row to grant full read and write access; its badge changes to "WRITE". Granting one device is enough to prove the connection; you can grant more later from the token's detail page.

The wizard's access step, granting WRITE to a single light in the entity tree
The entity tree, granting WRITE to a single light.

Choose how to connect

You can chat with your agent entirely inside Home Assistant using an API key or local hostname from your model provider, or connect an external app instead. Pick whichever fits:

Recommended Agent chat using HA

Chat in a window right here in Home Assistant. Bring an API key from a model provider, or a local Ollama server. Nothing to install.

Connect an external app

Use Claude, an IDE, or another MCP-capable app. You copy a connection command that carries your token.

Path A: Agent chat within Home Assistant

The recommended path. ATM runs the agent for you, inside the panel, using a model provider account you supply. There is nothing to install and no separate app to configure.

Set up your model provider

Pick a provider you have already added, or add a new one: choose from the dropdown and click Add new provider…. Paste an API key (or, for a local Ollama server, its URL) and click Validate. Validating only tests the connection and lists its models; nothing is saved until you continue. Once validated, pick a default model.

The wizard's next step validates the prover's API key and selects a default model.
Enter your provider's API key and validate it.

Try it

Click Try now. The wizard opens the Agent Chat window with your new token and the provider and model you just set up already selected, and a test question typed in for you: "How many lights are in my home?" Press Send. The wizard closes as soon as you send your first prompt, so you land in a normal chat with your new agent.

The wizard's final step confirms that everything is setup correctly.
You can now chat with your provider about your home

Path B: Connect an external app

Use this path to drive ATM from Claude Code, Cursor, Codex, Gemini CLI, or any other MCP-capable client instead of chatting inside Home Assistant.

Connect your agent

The wizard shows a ready-to-paste command for your agent, plus the raw token value; both are shown once here.

Shown once

The token value cannot be retrieved later. Copy it now, or copy the ready-to-paste command below, which already carries it.

Claude Code, for example, is a single command line; substitute your Home Assistant address. Other clients (Cursor, Codex, Gemini CLI, and any MCP-capable tool) connect the same way with their own command or config; the panel shows the exact form per agent, and so does Connect an AI client. If you are not ready to connect an agent yet, Connect later skips straight to the end; the token is already created and waiting on the token page.

The wizard's connect step with the MCP server URL, the token, and a ready-to-paste command per agent
The connect step: the MCP server URL, your token, and a per-agent command.

Run a test

Ask your agent to do something simple, like "List my Home Assistant lights". The moment it calls ATM, the wizard detects the connection and confirms it. That is the whole loop: a scoped token, connected and verified.

The wizard's test step showing Connected after the agent reached ATM
The test step showing "Connected".

What you end up with

The result is a normal scoped token, no different from one you build by hand. You can widen or tighten its permission tree, change its capabilities, or rotate its value at any time from the token's detail page. When you are done with it, open the token and choose Revoke; revoked tokens can then be deleted permanently from the Archived list. Revoking also clears the token from any open Agent Chat window automatically.

Where to go next