Use VibeHost from inside Windsurf via MCP or the vibehost CLI.
Windsurf is an agentic IDE. It can talk to VibeHost in two ways: through the MCP server for agent-selected VibeHost tools, or through the vibehost CLI for local shell workflows and CI.
Open the MCPs view from the Cascade panel's top-right MCPs icon. You can also use Windsurf Settings → Cascade → MCP Servers.
Click Add custom MCP. Windsurf opens its MCP config in the editor — ~/.codeium/windsurf/mcp_config.json on the stable build, or ~/.codeium/windsurf-insiders/mcp_config.json / ~/.codeium/windsurf-next/mcp_config.json on the insiders / next builds. If the UI differs, follow the Windsurf MCP docs.
Add the vibehost entry. If the file already has other MCP servers, add only the vibehost block under the existing mcpServers object:
Windsurf uses serverUrl for Streamable HTTP MCP servers; most other clients call this field url.
Save the file. Back in the MCPs view, vibehost appears under installed servers.
Click Authenticate next to vibehost. If Windsurf asks to confirm opening an external link, allow it. A browser tab opens on api.vibehost.com.
Approve the request in the browser. Windsurf completes the OAuth callback automatically — no code needs to be pasted back into the IDE. If the callback does not return to Windsurf, go back to the MCPs view and click Authenticate again. If Windsurf shows an authorization code or another prompt, follow that prompt to complete the flow. The tool list appears next to vibehost (list_workspaces, create_app, deploy, ...).
Verify in a Cascade chat:
List my VibeHost workspaces.
If Cascade calls list_workspaces and returns your workspaces, the integration is live. From here you can ask for full flows:
Deploy this directory to VibeHost as a new app called my-windsurf-app.
Cascade picks the tools (typically create_app + deploy) and returns the live URL.
For local interactive use, sign in once with the CLI:
vibehost loginvibehost whoami --json
vibehost login opens a browser approval flow and stores the CLI token in ~/.config/vibehost/config.json. Cascade can then call vibehost deploy ./dist, vibehost app inspect, etc. through its shell interface.
For CI or unattended scripts, use a Personal Access Token as a secret environment variable instead. In CI, inject VIBEHOST_TOKEN from your CI secret store; don't paste a real PAT into shell history.