Skip to main content
ait is a single-file, zero-dependency CLI (Node 18+ or Bun) that speaks Automate It’s MCP server — everything a remote MCP client can do, headlessly. Every command goes through MCP; there is no separate REST path.

Install

Runtimes that read AgentSkills folders (OpenClaw, Hermes) can instead install the whole skill folder — SKILL.md plus the same CLI — see the connect guides.

Configure

ait needs a scoped API key. Mint one in the Automate It web app: click your avatar at the bottom of the sidebar to reach Profile (https://automate.it.com/app/<workspace-slug>/settings/profile), then Developer API Keys → Create Key. The ak_… secret is shown once — see API keys & scopes for which scopes to tick. ait reads its configuration from the environment. Put the key in a mode-600 env file and load that — don’t export it in an interactive shell, where it lands in your history:
If an agent runtime drives the CLI, use that runtime’s credential store instead of a file you maintain by hand — on OpenClaw the key goes in the shared secret store behind a secret reference. Never paste the key into a chat message: transcripts get persisted to memory files and swept into Git backups. If it has ever appeared in a chat, ticket, log, or commit, rotate it under Profile → Developer API Keys. Every workspace command also accepts --workspace <id>. Errors print {"error": "..."} to stderr and exit 1.

Commands

Tasks — the review-gate loop

Skills, files, automations

Composing posts

No passthrough

Every tool the MCP server exposes has exactly one named command above — there is no ait call <tool> escape hatch, so the CLI’s capabilities are exactly what ait help prints. That’s deliberate: agents read this surface to decide what they’re allowed to do, and a generic gateway makes that unreadable. Adding a server tool means adding its command here, in the same change.

Destructive commands

task delete, task delete-content, task clear-content, automation delete, folders delete, and skills delete permanently remove data and refuse to run without --yes:
Each refusal names the real blast radius, which is not always obvious: deleting an automation takes its whole task history with it, and deleting a folder takes every file and nested folder inside it. The check runs locally, before any request goes out. There’s no trash can — nothing deleted comes back. Agents driving this CLI should pass --yes only when a human named that deletion.