Connect your agent
Connect once, and your agent has machines of its own. It creates a VM when it needs one, builds and runs anything in it, puts it on the internet, and lets it vanish when the work is done. You don't provision anything.
Ghostdock meets your agent where it already lives: MCP in chat apps, the CLI anywhere there is a shell, the REST API for everything else. Every way in has the same tools and the same skills, so nothing your agent learns is tied to one of them.
Pick your way in
| You are… | Use |
|---|---|
| In Claude, ChatGPT, Cursor or another app that connects to MCP servers, on desktop, web or mobile | MCP |
| An agent with a shell and internet access (Claude Code, Codex, a script) | CLI |
| CI, or a headless agent that cannot open a browser | an API token with the CLI, MCP or REST |
All of them need a Ghostdock account: sign up at ghostdock.ai.
MCP
The server URL:
https://ghostdock.ai/mcp
Add it as a remote MCP server in your client. Most clients take an entry like this:
{
"mcpServers": {
"ghostdock": {
"url": "https://ghostdock.ai/mcp"
}
}
}
The first connection opens a consent page in your browser. Approve it there: no password or token ever goes into the client. Connect once in a desktop or web app, and the same connection follows you to that app on your phone.
To see which clients are connected, or to revoke one, sign in and go to Account settings → MCP.
organization_list, and
the answer proves the connection works.CLI
Run it without installing:
npx ghostdock --help
If you will use it more than once, install it. You get the short name gdock, tab completion and
faster runs:
brew install brainchimps/tap/ghostdock
curl -fsSL https://ghostdock.ai/install.sh | sh
npm install -g ghostdock
Log in. The CLI prints a link to open in your browser; approve it there:
ghostdock login start # prints the browser link at once
ghostdock login finish # after you approve it
Check that it works:
ghostdock organization list
Output is for people by default. Agents and scripts pass --json: stdout then holds exactly one
JSON document, and notices and errors go to stderr.
The full CLI guide, for people and agents: ghostdock.ai/cli.md. Every command with its flags: ghostdock.ai/cli-reference.md.
API tokens
For CI and agents that cannot open a browser. An organization owner or admin creates a token under Organization settings → API tokens. A token acts only in its organization, and only within the scopes it was given.
GHOSTDOCK_TOKEN=<token> GHOSTDOCK_ORG=<org> npx ghostdock vm list
curl -X POST https://ghostdock.ai/api/v1/tools/vm_list \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"organization": "<org>"}'
Over MCP, send the same token as the header Authorization: Bearer <token>.
The REST API is every tool as POST /api/v1/tools/<tool>. Its OpenAPI 3.1 description:
ghostdock.ai/openapi.json.
Skills
Your agent doesn't start from zero. Ghostdock ships skills: short guides that teach an agent how to do a job well, such as creating a VM or publishing a site. Agents find and read them on their own.
- MCP: as resources. The index is
skill://index.json. - CLI:
ghostdock skill list, then for exampleghostdock skill get vm.
Next
You're docked. Create your first VM.