VibeHost
Guides

Deploy from Gemini Spark — Connect VibeHost as a Custom App

Add VibeHost as a custom app in Gemini's Connected Apps. What you build with Gemini gets a permanent, shareable URL you control — no terminal, no code, no copy-paste.

You built something great with Gemini — a dashboard, a report, an interactive tool. Now someone asks: "can you send me a link?"

Gemini's built-in share gives you a link to the conversation, not to the thing you built — and you can't control who sees it after they have the URL. If you want a permanent URL you control, on your own subdomain, with privacy settings — connect VibeHost.

No terminal. No code. Just a one-time setup under Gemini's Connected Apps, then say "deploy this" in chat. Gemini calls this a custom app: an MCP server you register by URL, listed under Custom Apps for Spark.

Connect VibeHost to Gemini Spark

Before you start

Google's custom apps help page sets the ground rules: sign in with a personal Google Account (work and school accounts can't add custom apps yet), and keep Keep Activity turned on — custom apps are unavailable while it is off. You can set up the app on the web (gemini.google.com) or in the Gemini desktop app; once connected it is available in the mobile app too. Leave Advanced settings alone: they are only for servers without Dynamic Client Registration, and VibeHost supports it.

Step 1 — Open Connected Apps

Open the Gemini desktop app. Click SettingsConnected Apps, then scroll to Custom Apps for Spark.

On the web, open gemini.google.com, click Settings in the bottom-left corner, then Connected Apps. If you don't see it, open Personal Intelligence first, then Connected Apps.

Gemini Connected Apps settings — Custom Apps for Spark

Step 2 — Add a custom app

Click Add custom app (on the web: Add a custom app). Choose Cloud MCP as the app type.

Under Add a custom app link, paste the VibeHost MCP server URL:

  • MCP server URL: https://api.vibehost.com/mcp

Leave Advanced settings as-is. Click Next.

Add custom app dialog with the VibeHost MCP URL filled in

Step 3 — Save your custom app

Gemini contacts the server and shows a Save your custom app dialog with the app's details: the name VibeHost, its description and the list of Available functions it exposes. Nothing here needs editing. Click Connect.

Save your custom app dialog listing VibeHost's name, description and functions

Step 4 — Authorize

Your browser opens for a one-time OAuth sign-in (Google or email, same as vibehost.com). Approve it, and VibeHost appears in your custom apps list as VibeHost @vibehost with its toggle switched on.

VibeHost listed under custom apps as VibeHost @vibehost

Once authorized, Gemini can deploy to VibeHost. The connection persists across sessions and devices — you only do this once.

Deploy an artifact

With VibeHost connected, just tell Gemini what you want. To make sure Gemini routes the request to VibeHost, type @ and pick VibeHost from the list, then ask:

@VibeHost deploy this to VibeHost.

Or be more specific:

@VibeHost deploy this dashboard as an app called "q2-metrics". Make it public.

Gemini creates the app, writes the artifact into it and deploys it behind the scenes (the tool calls are described once, in Choosing an upload path), then returns a live URL like https://q2-metrics-yourworkspace.vibehost.space.

The artifact renders exactly as you see it in Gemini's preview — interactive elements, charts, animations all work. Anything that needs a backend (API calls to localhost, database connections) won't work since VibeHost serves static files.

What you can do from chat

Once connected, you can ask Gemini to:

Say thisWhat happens
"Deploy this to VibeHost"Creates an app + deploys the current artifact
"Update the deploy"Pushes a new version to the same URL
"Make it public" / "Make it private"Changes visibility
"Roll back to the previous version"Reverts to the last deployment
"Share this with sarah@acme.com"Adds a viewer grant by email
"Give me a share link that expires in 7 days"Creates a time-bound access link
"Delete the app"Removes the app and all deployments

Whether Gemini asks before it deletes an app, changes who can see it, or does anything else is up to how Gemini handles tool confirmations for custom apps. VibeHost also instructs the agent not to make an app public unless you ask for it directly.

When to use this vs. the Chrome extension

Gemini Spark + MCPChrome extension
HowTalk to Gemini in chatClick a button on the canvas
Best forIterating on deploys ("make it public, now roll back, now share with Sarah")Quick one-off deploys from any AI canvas
Works withGemini web, desktop and mobile appsClaude, ChatGPT, Gemini, AI Studio, v0
Access controlFull (grants, share links, passwords, visibility)Basic (private by default, change via CLI/dashboard)

Both deploy to the same VibeHost backend. A deploy started from the extension can be updated from chat, and vice versa.

Troubleshooting

Connected Apps has no custom apps section — You are signed in with a work or school account, or Keep Activity is off. Switch to a personal Google Account and turn Keep Activity on in Gemini's activity settings, then reload.

The "Save your custom app" dialog never appears — Gemini could not reach https://api.vibehost.com/mcp. Check the URL for typos (it is /mcp, with no trailing slash) and try again; a VPN or corporate proxy that blocks the request has the same effect.

Gemini answers without using VibeHost — Type @ in the prompt box and select VibeHost before your request, so Gemini routes it to the custom app.

Deploy fails with "UNAUTHENTICATED" — Your OAuth token may have expired. Open SettingsConnected Apps, find VibeHost, disconnect it and connect again.

Artifact deploys but doesn't render correctly — VibeHost serves static files. If your artifact fetches from localhost or calls a backend API, those calls will fail once deployed. Keep artifacts self-contained.

See also

On this page