Client recipes

Gemini with Stable Baseline.

Google Gemini connects to remote MCP servers through the Gemini CLI (or a Gemini Extension). Point it at Stable Baseline and Gemini can read and write your whole workspace.

Two paths, same result

You can connect Gemini to Stable Baseline two ways:
  • Gemini CLI: fastest path; paste a JSON block into the settings file and you're done.
  • Gemini Extension: packages the same config as a shareable bundle your whole team can install.
Start with the CLI; graduate to an Extension when you want a repo-committable setup.

Quickest path · Have Gemini do it

Already running Gemini CLI or Gemini Code Assist? Paste the prompt below. The agent runs the device-code signup against Stable Baseline's anonymous-callable REST endpoint, shows you a 6-character code to authorise in your browser, then writes Gemini's settings.json with the resulting API key.

One block, paste-and-go

Self-contained prompt. Click the copy button, paste into Gemini, follow along.
Paste this into Geminiprompt
I want to onboard to Stable Baseline using its agent-driven signup. Walk me through end-to-end without stopping in between.

1. POST https://api.stablebaseline.io/functions/v1/cloud-serve/api/v1/tools/startSignup
   Body: {"agent_label": "Gemini", "intent": "mcp_setup"}
   Response: {user_code, verification_url, device_code, poll_interval_seconds, ...}
   Show me user_code and verification_url. Tell me to open the URL, sign in or sign up, paste the code, click Authorize.

2. Every 5 seconds, POST https://api.stablebaseline.io/functions/v1/cloud-serve/api/v1/tools/pollSignupStatus
   Body: {"device_code": "<from step 1>"}
   Stop when status is "authorized" — response includes api_key (starts with sta_). If denied or expired, tell me and stop.

3. Write Gemini's settings.json (typically ~/.gemini/settings.json) with the api_key inline. Note Gemini uses "httpUrl" (NOT "url") for remote HTTP servers:
   {
     "mcpServers": {
       "stable-baseline": {
         "httpUrl": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
         "headers": {"Authorization": "Bearer <YOUR_KEY>"}
       }
     }
   }
   If settings.json already exists, MERGE the mcpServers block — don't overwrite other keys.

4. Tell me to restart Gemini CLI (or reload the Gemini Code Assist extension) so it picks up the new MCP server. Then ask what I want to do next.

Already have a key? Skip below

The manual instructions below still work. Use them if you already minted a key, want to ship a Gemini Extension to your team, or prefer to edit settings.json by hand.

Before you begin

Step 1 · Export your API key

Keep the key out of the settings file by putting it in your shell profile (~/.bashrc, ~/.zshrc, etc.):

Shell profilebash
export STABLE_BASELINE_API_KEY="sta_your_api_key_here"

Step 2: Gemini CLI, add the MCP server

Gemini CLI reads MCP server definitions from ~/.gemini/settings.json. Open (or create) that file and drop in:

~/.gemini/settings.jsonjson
{
  "mcpServers": {
    "stable-baseline": {
      "httpUrl": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer $STABLE_BASELINE_API_KEY"
      }
    }
  }
}

Save, start Gemini CLI with gemini, and run the built-in /mcp command. Stable Baseline should appear in the list with its tools loaded.

Per-project overrides

Gemini CLI also reads .gemini/settings.json from the current directory, so you can check a project-scoped config into your repo and have teammates get the server automatically.

Step 3 (optional) · Wrap it as an Extension

If you want the same setup to ship across an org (or install one-click for teammates), create a Gemini Extension. The manifest format wraps the same MCP block you already wrote:

gemini-extension.jsonjson
{
  "name": "stable-baseline",
  "version": "1.0.0",
  "mcpServers": {
    "stable-baseline": {
      "httpUrl": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer $STABLE_BASELINE_API_KEY"
      }
    }
  }
}

Publish the extension (private or public) and your team runs gemini extensions install stable-baseline. No secrets in the manifest. The bearer token is still sourced from the env var.

Step 4 · Verify the connection

Inside Gemini CLI, run:

Gemini CLIprompt
/mcp list

You should see stable-baseline with a healthy status. Then run a real probe:

Gemini CLIprompt
Using the stable-baseline MCP server, list my workspaces and projects.

Step 5 · Try a real task

Find all open improvements in my Platform project and summarise the blockers for each.

Read the PRD for Multi-region GA and draft a launch checklist. Save it as a new document.

Create a BPMN diagram for our incident response process with lanes for on-call, SRE, and comms.

Gemini app shortcut

The consumer Gemini web app (gemini.google.com) currently surfaces extensions under Apps / Extensions → Manage. If your organisation has deployed the Stable Baseline extension, it will appear there and you can enable it per-chat the same way you would for any Google app.

Consumer web app: still rolling out

Full MCP support inside the Gemini web chat is rolling out gradually via Extensions. If the Extensions toggle is missing in your account, use Gemini CLI. It has full MCP support today.

What works, what doesn't

  • Gemini CLI: all 180 MCP tools, persistent /mcp list, per-project configs. Recommended.
  • Gemini Code Assist (IDE): supports MCP via the same settings.json format. Works in VS Code and JetBrains.
  • Gemini web app: Extensions path is stable for some accounts, rolling out for others.
  • Gemini API directly: if you're calling the Gemini API from your own code, wire Stable Baseline in as a mcp-remote stdio bridge or call our HTTP endpoints from your own tool definitions.