Connect Warplet to Gemini

How to add your Warplet MCP URL as a custom connected app in Gemini Spark, and how to fix the authorization and tool list problems that come up.

Custom MCP servers in Gemini live under Spark, not Chat. The two share a window with a toggle at the top, but only Spark can add a connected app you point at yourself.

Gemini also asks you to link your Google Account to the connector during setup, in addition to authorizing with your Warplet bearer token.

Warplet is a macOS app that connects hosted AI clients to MCP servers running locally on your Mac. If you have not set it up yet, start with How to use Warplet.

Before you start

Make sure Warplet is running and connected. The app lists one URL per MCP server under Use these URLs to connect your favorite LLM. Each URL routes to a specific MCP server: the DEVONthink URL routes to the DEVONthink MCP server, the Beeper URL to the Beeper MCP server, and so on. Copy the URL for the server you want to connect.

The Warplet app showing connection details and per-server URLs

Add the connector

  1. Go to https://gemini.google.com/spark/apps and switch the toggle from Chat to Spark.

    The Gemini toggle switched from Chat to Spark

  2. Scroll to the bottom of the app list and click Add a custom app.

    The Add a custom app card at the bottom of the Spark app list

  3. Paste your Warplet URL into Add a custom app link, then click Next.

    The custom connected app dialog with a Warplet URL pasted in

  4. Google asks you to link your Google Account to the connector, listing what it will be allowed to do, including executing MCP server tools. Approve it.

    The Google Account linking dialog listing MCP server tool permissions

  5. The Warplet authorization page opens. Paste the bearer token from the Warplet app and click Authorize.

    The Warplet authorization page asking for a bearer token

  6. Name the app on the Save your custom app dialog, then click Connect.

    Use the name of the app you are exposing, like DEVONthink or Obsidian. You will have one connector per local MCP server, and the name is what tells you which is which later. The screenshots here show a connector named Warplet, which is what they were captured against.

    This dialog also lists the tools it found under Available actions.

    The Save your custom app dialog showing the name field and available actions

Using it

Tag the connector with @ in a Spark chat to aim a request at it, for example @Warplet execute the warplet ping tool.

Gemini asks permission for each tool call rather than once for the connector, so expect a Deny and Allow prompt naming the specific tool before anything runs.

A Spark chat calling a tool through the connector, with the per-call Allow prompt

What the authorization step is doing

Gemini runs the OAuth 2.1 flow that MCP clients expect against your Warplet tunnel: it reads the discovery metadata, registers itself as a client, and sends you to a Warplet-hosted page. The token you paste there becomes the credential Gemini sends on every later request.

The Google Account link in step 4 is separate. It grants Gemini permission to call the connector on your behalf across your signed-in devices, and it does not replace the bearer token.

The tunnel URL itself is public. The bearer token is the only thing that keeps anyone else from reaching your local servers through it, so do not paste it anywhere but the Warplet authorization page.

Troubleshooting

There is no option to add a custom app. You are in Chat rather than Spark. Switch the toggle at the top of the window.

The URL is rejected, or Next stays greyed out. Gemini fetches your tunnel while setting the connector up, so Warplet needs to be running and connected at that moment. Open the app, confirm it shows as connected, and try again.

Available actions is empty on the save dialog. Warplet reached the tunnel but the local MCP server returned no tools. Check that the app the URL points at is running and its MCP server is enabled.

You get a 401 after it was working. The bearer token did not match. Regenerating the token in the Warplet app invalidates connectors that authorized with the old one. Reconnect and paste the current token.

A tool Gemini calls no longer exists. The tool list is cached from when the connector was saved, and the dialog shows a Last synced timestamp. If you changed which servers Warplet exposes, remove and re-add the connector to force a fresh fetch.

Nothing happens after you send the request. Gemini is waiting on the per-call Allow prompt. It appears inline in the chat, above the answer.

Calls fail even though the connector looks fine. Make sure the local MCP server is running. Warplet forwards to localhost and cannot start the app for you.

Now connect an actual app

The connector above gives Gemini a path to your Mac. What it can do once it is there depends on which local MCP server that URL points at:

You can add as many connectors as you have servers. Each Warplet URL is added separately.