barely has an MCP server built in, so Claude Code, Codex, Cursor and any other MCP client can see what is asleep, what is using RAM, and put containers to sleep or wake them, without you doing it by hand. It runs as barely mcp: the client starts it when it needs it, and it talks to barely the way the app and the CLI do. Nothing else to install.
Setup
Claude Code:
claude mcp add barely -- barely mcp
Codex:
codex mcp add barely -- barely mcp
Any client that takes an MCP configuration file:
{"mcpServers": {"barely": {"command": "barely", "args": ["mcp"]}}}On the next start the client lists barely's tools.
Tools
Each tool is the same request its barely command makes, with the same words back. They are the words you would read in barely status, so an agent's transcript reads like a shell history.
| Tool | What it does | The command |
|---|---|---|
barely_status |
The VM's state, its RAM, every container and compose project with whether it is asleep and why, the idle countdown, the disk and the licence | barely status -json |
barely_sleep |
Put one container, one compose project or everything to sleep now | barely sleep |
barely_resume |
Wake one container, one compose project or everything, resuming a hibernated VM first if it has to | barely sleep-resume |
barely_keep_awake |
Keep a container or project from sleeping from now on, or let it sleep again | barely sleep -keep, -no-keep |
barely_hibernate |
Save the whole VM to disk now, with everything running in it | barely hibernate |
barely_resume_vm |
Bring a hibernated VM back; refuses when nothing is hibernated | barely resume |
barely_start |
Boot a stopped VM | barely start |
barely_stop |
Shut the VM down | barely stop |
barely_memory |
RAM by container, in memory and in swap | barely ps -json |
barely_processes |
Every process in the VM, grouped by container | barely ps -json |
barely_licence |
Your trial or licence | barely licence -json |
What an agent can and can't do with it
A connected agent is not a Docker client. Asking for status, memory, processes or the licence never boots the VM and never keeps it up: an agent that only reads will watch the VM hibernate under it, as it would with nothing connected. With the host process gone, barely_status and barely_licence still answer, from the files.
Only barely_start and barely_resume_vm bring the VM up, and they go through the licence gate as any docker command does. On a Mac with no trial or licence the agent gets the gate's refusal as the tool's error.
Docker's own surface is not here. An agent runs docker for containers, logs, exec and compose.
Questions
Does a connected agent keep the VM awake?
No. Asking for status, memory, processes or the licence never boots the VM and never keeps it up. Only barely_start and barely_resume_vm bring the VM up.
Can an agent run docker commands through it?
No. Docker's own surface is not here. An agent runs docker for containers, logs, exec and compose.
Something missing or wrong? Tell us.