Agent Device Cloud
Sign in

Manage devices

Install, configure and update devices

Everything here runs on the device with adc-node. Changes reload automatically; there is no need to pair again.

Node platforms and release stage

PlatformStageRequirementsDevice capabilities
macOSAvailablemacOS 13.5+, arm64/x64Files, Bash commands, command templates and registered local MCP tools.
LinuxAvailableglibc 2.28+, arm64/x64The same desktop tools on a development machine or server, using its installed dependencies and resources.
WindowsIn testingWindows 10/11 x64Desktop file tools, PowerShell commands, templates and local MCP tools. Installation and execution compatibility are still being tested.
AndroidIn testingManually installed Android Mobile Node APKDevice state, screenshots, app launch and UI actions where supported and locally permitted; coverage varies by phone and OS.

Windows Node and Android Node are in testing. They are available to try, but compatibility and reliability are still being validated. An available installer does not mean every system, phone model or operation has been verified.

A Node represents the capabilities its connector advertises. Operating systems do not all provide the same tools. Local permissions, installed software, online presence and the Agent grant still determine what can run.

Install and pair

Copy the command from Devices → Pair device. The installer verifies the release checksum, creates a device key locally and starts a user service (launchd, systemd --user or a Windows Scheduled Task). The private key never leaves the device.

macOS / Linux
curl -fsSL https://devices.example.com/install.sh | sh -s -- \
  --url https://devices.example.com --code 'PAIRING_CODE'
Windows PowerShell
[Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
$p=Join-Path $env:TEMP 'adc-install.ps1'
Invoke-WebRequest -UseBasicParsing -Uri 'https://devices.example.com/install.ps1' -OutFile $p
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File $p `
  -Url 'https://devices.example.com' -Code 'PAIRING_CODE'

Choose what agents can reach

adc-node
adc-node access selected
adc-node roots add ~/work --label Work
adc-node roots add ~/datasets --label Data --read-only
adc-node roots list
adc-node roots remove ROOT_ID
  • noneNothing is exposed. Use this to pause a device.
  • selectedOnly folders you add with adc-node roots add.
  • homeThe connector user's home folder.
  • fullThe whole filesystem with your OS user's permissions. On Windows, the system drive. Not a sandbox.

The console can narrow this further per device (read-only folders, execution off), and each Agent access narrows it again. Removing a folder cancels running work that used it.

Allow specific commands

A command template lets an agent run one fixed command without general shell access. test.run defaults to the template named test; it does not discover your test command automatically. Get ROOT_ID from adc-node roots list.

adc-node
adc-node templates add test --root ROOT_ID --command "npm test"
adc-node templates add lint --root ROOT_ID --command "npm run lint" --timeout 120000
adc-node templates list

Add local MCP servers

Expose a stdio or Streamable HTTP MCP server running on the device. Its credentials stay in local files. Its tools appear only after you select them in Agent access.

adc-node
adc-node mcp add github --name GitHub --stdio npx \
  --args '["-y","@modelcontextprotocol/server-github"]' \
  --env-file ~/.config/adc/github-mcp-env.json

adc-node mcp add internal --name Internal \
  --http https://mcp.internal.example/api \
  --headers-file ~/.config/adc/internal-mcp-headers.json

adc-node mcp list
adc-node mcp remove github

Using the same provider ID on several devices shows one tool with several targets. A schema change creates a new tool ID that needs authorization again.

Status, updates and removal

adc-node
adc-node status
adc-node logs
adc-node restart
adc update --check
adc update
adc-node rotate-key
adc-node unpair --confirm NODE_ID
adc-node uninstall

The connector keeps an outbound connection, pauses while the device sleeps and reconnects on wake. Updates keep the device identity, folders and receipts. The console shows when a newer connector is available, including for offline devices.

Deleting a device in the console revokes it on the server. Run adc-node unpair before enrolling the same machine again.