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.