VibeHost
Guides

Deploy from Hermes Agent

Use VibeHost from inside Hermes Agent, Nous Research's open-source self-improving terminal agent. MCP server or vibehost CLI as a tool.

Hermes Agent (github.com/NousResearch/hermes-agent) is Nous Research's open-source coding agent — built around a self-improving skill loop, native MCP client, and multiple terminal backends (local, Docker, SSH, Modal, Vercel Sandbox, etc.). MCP setup reference. It talks to VibeHost two ways: through our MCP server (interactive, OAuth) or via the vibehost CLI wrapped as a tool (scripted, PAT).

Add VibeHost as an OAuth-backed MCP server from a local interactive terminal:

hermes mcp add vibehost --url https://api.vibehost.com/mcp --auth oauth

Hermes opens a browser for OAuth 2.1 + PKCE authorization, writes the server under mcp_servers in ~/.hermes/config.yaml, discovers the available tools, and lets you choose whether to enable all tools or only a subset. The generated config entry looks like this; if you choose only a subset, Hermes records that under tools.include using the upstream MCP tool names:

mcp_servers:
  vibehost:
    url: "https://api.vibehost.com/mcp"
    auth: oauth
    enabled: true
    tools:
      include:
        - list_workspaces
        - list_apps
        - create_app
        - get_app
        - create_deployment
        - get_deployment

After setup, reload MCP with /reload-mcp, or restart Hermes. The interactive CLI can also auto-detect mcp_servers changes and reload them, but /reload-mcp is the portable path across Hermes frontends. After approval, Hermes has the full VibeHost tool surface — deploy, promote, rollback, list logs, manage custom domains.

In a Hermes session, just describe what you want:

Deploy this directory to VibeHost as a new app called my-hermes-app.

Hermes picks the right VibeHost MCP tools and returns the live URL. In the VibeHost MCP server the tools are named create_app, create_deployment, etc.; inside Hermes they are registered with a server prefix such as mcp_vibehost_create_app.

Install the CLI:

curl -fsSL https://vibehost.com/install.sh | sh

Install the vibehost-deploy skill so Hermes auto-discovers it and picks the right vibehost commands for you:

npx skills add gntc-labs/skills --skill vibehost-deploy -g -y -a hermes-agent

For local interactive use, sign in once with the CLI:

vibehost login
vibehost whoami --json

vibehost login opens a browser approval flow and stores the CLI token in ~/.config/vibehost/config.json.

For CI or unattended scripts (Hermes gateway, cron, Docker / Modal / Vercel Sandbox backends), use a Personal Access Token instead. Store the token in Hermes' env file so every Hermes session picks it up:

hermes config env-path

Add the secret to that .env path:

VIBEHOST_TOKEN=vh_pat_...

Restart the Hermes CLI or gateway process after changing the env file so the running process loads the new token:

hermes gateway restart

Hermes can shell out to vibehost deploy ./dist, vibehost app inspect, etc. through its terminal-tool interface. Every command takes --json and returns {ok, data | error} for clean agent parsing — see the CLI reference. For PAT-driven automation, prefer passing --workspace <slug> explicitly instead of relying on an interactive current-workspace selection:

vibehost --workspace acme deploy ./dist --app my-hermes-app --json
vibehost --workspace acme app inspect my-hermes-app --json

When to pick which

SituationUse
First-time setupMCP (OAuth is one-click)
Interactive deploys from HermesMCP
Local shell-driven deploysCLI after vibehost login
CI / unattended workflows (gateway, cron)CLI + VIBEHOST_TOKEN env
You want every write to prompt for confirmationMCP
You want raw stdout / stderr from the deployCLI

Both can coexist.

See also

On this page