TL;DR: The design rule: every operation is available as an agent tool call, and nothing is dashboard-only. The dashboard is a rendering of the same API, built second — optimized for the person sharing, not the person operating. This page is the command-level companion to Deploy From Your Agent.
The command surface
| Command | What it does | Why it must be headless |
|---|---|---|
agentcell deploy | Detect runtime, build, return a URL (target <30s, zero config) | The last step of a build session, performed by the agent |
agentcell logs | Stream and search build + runtime logs, historical and live | The agent debugs the 500 without a human opening a logs tab |
agentcell rollback | Instant recovery to the previous version | Recovery can’t wait for a human with console access |
agentcell env set/list + secrets | Config and scoped credentials at the boundary | Keys never pasted into code or prompts |
agentcell domains | Attach custom domains and certs | Sharing a real URL shouldn’t need DNS-console fluency |
agentcell share / access ls | Change the share list; inspect who can open what | Sharing is a membership change, not a redeploy |
agentcell ps | What’s running, what’s asleep | Twenty cells need one glanceable state |
agentcell spend | Current usage per cell and org | No surprise bills for non-technical deployers |
agentcell destroy | Remove what shouldn’t exist | Cleanup must be as easy as creation or sprawl rots |
Same capabilities over MCP (agentcell.metrics({ app: "prod", window: "1h" })) and CLI — same permissions, structured for AI harnesses.
Built for unaided debugging
The person who built the tool is not on call — there is no on-call. So failures must be agent-legible: structured log output with fields instead of wall-of-text, machine-readable errors carrying a hint field with the most likely fix, and exit codes the agent can branch on (retryable vs needs-a-decision). The loop — deploy fails, agent reads hint, fixes, redeploys — closes without a human reading a stack trace. Ever.
Scoped agency
Full headless power requires least-privilege keys: scoped tokens per project and per capability. The coding session’s token can deploy and read logs without being able to touch org secrets or access lists. Combined with membrane caps and front-door identity, the agent is powerful inside a boundary it cannot cross.
Honest note
Vercel’s MCP server covers deploy, logs, env CRUD, domains, and rollback today — this surface is table stakes for agent-native hosting, not a moat. The moat is the combination with free idle and cheap org identity, plus the accumulation dynamic: once the org’s identity, permissions, and environment live here, cell #20 deploys at near-zero marginal effort, and twenty tools in daily use is a migration nobody attempts.
FAQ
Do humans ever need the CLI? No — the dashboard renders the same API for sharing, logs, usage, and spend. The guarantee runs one direction: nothing requires the dashboard.
How is this different from kubectl / cloud CLIs? Those CLIs expose infrastructure (pods, policies, IAM) and expect you to assemble outcomes. These commands expose outcomes (deploy it, share it, roll it back) with infrastructure invisible.
What about CI/CD pipelines? Git-connected redeploy exists for teams that want it. But the primary path is the agent’s session — pipelines are optional, not required.
Want infrastructure your agent can actually drive? Deploy now.