Client recipes

Windsurf with Stable Baseline.

Set up Stable Baseline's MCP server in Windsurf so Cascade can generate and maintain living documentation for your codebase automatically.

Quickest path · Have Cascade do it

Already running Windsurf with Cascade in this repo? Paste the prompt below. Cascade 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 ~/.codeium/windsurf/mcp_config.json with the resulting API key.

One block, paste-and-go

Self-contained prompt. Click the copy button, paste into Cascade, follow along.
Paste this into Cascadeprompt
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": "Windsurf", "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 ~/.codeium/windsurf/mcp_config.json with the api_key inline. Note Windsurf uses "serverUrl" (NOT "url") for remote HTTP servers:
   {
     "mcpServers": {
       "sb": {
         "serverUrl": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
         "headers": {"Authorization": "Bearer <YOUR_KEY>"}
       }
     }
   }
   If the file exists, MERGE the mcpServers block — don't overwrite other keys.

4. Tell me to reload Windsurf's MCP — Windsurf Settings → MCP and toggle the "sb" server, or restart Windsurf. Then ask what I want to do next.

Already have a key? Skip below

The settings-UI and direct-edit paths below still work. Use them if you already minted a key or prefer to edit mcp_config.json by hand.

Before you begin

You'll need a Stable Baseline API key. Visit the MCP setup guide to create one from your workspace settings. Keys are prefixed sta_… and shown only once.

Step 1 · Option A: via Windsurf's settings UI

  • Open Windsurf settings (⌘, on macOS, Ctrl+, on Windows/Linux)
  • Navigate to CascadeMCP Servers
  • Click Add Server and select Raw JSON
  • Paste the configuration below
Windsurf configjson
{
  "mcpServers": {
    "sb": {
      "serverUrl": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Replace YOUR_API_KEY with your actual Stable Baseline API key.

Step 1 · Option B: edit the config file directly

Open the MCP config file at:

  • macOS / Linux: ~/.codeium/windsurf/mcp_config.json
  • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Prefer keeping your key in an environment variable instead of the file? Windsurf supports interpolation via the ${env:VAR_NAME} syntax:

Windsurf config (env var)json
{
  "mcpServers": {
    "sb": {
      "serverUrl": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer ${env:STABLE_BASELINE_API_KEY}"
      }
    }
  }
}

Set STABLE_BASELINE_API_KEY in your shell profile and restart Windsurf. You should see the Stable Baseline server listed with a connected status.

serverUrl, not url

Windsurf uses serverUrl (not url) for remote HTTP servers. This is different from Cursor's format — if you copy-paste another client's config, the rename is the easiest thing to miss.

Step 2 · Generate your documentation

Once the server is connected, open Cascade and paste the setup prompt:

Cascadeprompt
Run the sb-setup prompt from the sb server

Cascade walks you through an interactive setup process to generate documentation tailored to your project.

What sb-setup does — the 9-step process

  • Verifies MCP connection — Confirms the Stable Baseline server is reachable and authenticated
  • Resolves workspace & project — Finds or creates your Stable Baseline workspace and project
  • Scans your codebase — Analyses project structure, tech stack, dependencies, and architecture
  • Checks for existing docs — Detects if documentation already exists in Stable Baseline and offers to augment, replace, or cancel
  • Creates folder structure — Organises documentation into logical folders matching your codebase
  • Generates documents — Writes comprehensive docs for each area of your codebase
  • Adds diagrams — Creates architecture and flow diagrams using Mermaid, PlantUML, or other supported formats
  • Configures AGENTS.md — Adds auto-sync rules to your project's AGENTS.md file (augments existing content — never removes what's already there)
  • Summary & next steps — Provides a summary of everything created with links to view in Stable Baseline

What gets documented

  • Architecture — High-level system design, component relationships, data flow
  • API & Integrations — Endpoints, external services, authentication flows
  • Data Model — Database schemas, relationships, migrations
  • Frontend — Component hierarchy, state management, routing
  • Backend — Server logic, middleware, business rules
  • DevOps — Build pipeline, deployment, environment configuration
  • Auth & Identity — Authentication, authorisation, user management

The exact structure is determined dynamically based on your codebase — no two projects get the same output.

How auto-sync works

After setup, your AGENTS.md file contains rules that tell Cascade when to update documentation:

File patternDocumentation impactAction
src/components/**UI components and patternsUpdate "Frontend Patterns"
src/lib/api/**API client and integrationsUpdate "API & Integrations"
supabase/migrations/**Database schema changesUpdate "Data Model"
src/hooks/**Custom hooks and state logicUpdate "Frontend Patterns"

Whenever Cascade modifies files matching these patterns, it automatically updates the corresponding Stable Baseline documentation via the sb-sync prompt.

File structure

text
Your Stable Baseline Project
├── Architecture/
│   ├── High Level Overview
│   └── System Architecture Diagram
├── Frontend/
│   ├── Component Hierarchy
│   ├── State Management
│   └── Routing & Navigation
├── Backend/
│   ├── API Endpoints
│   ├── Business Logic
│   └── Middleware & Auth
├── Data Model/
│   ├── Database Schema
│   └── Entity Relationships
└── DevOps/
    ├── Build & Deploy
    └── Environment Config

This is an example. Your actual structure will be tailored to your specific project.

Try it

Once setup is complete, try these prompts in Cascade:

Document the authentication flow in our API.

Add a sequence diagram showing the checkout process.

Update the database schema docs after the latest migration.

Create a new doc explaining our caching strategy.

Regenerate documentation

To regenerate your entire documentation from scratch:

Cascadeprompt
Run the sb-setup prompt

Setup will detect existing documentation and ask whether you want to augment (add to existing), replace (start fresh), or cancel.

Other prompts available

PromptDescription
sb-setupFull project onboarding — scans codebase, creates docs, configures auto-sync
sb-syncSync AGENTS.md rules — augments existing content, never removes
sb-create-docCreate a new document in Stable Baseline
sb-create-diagramCreate a diagram (Mermaid, PlantUML, BPMN, GraphViz, etc.)
sb-edit-docEdit an existing document with targeted patches
sb-manage-imagesUpload, update, or delete images in documents
sb-manage-dataManage data files for Vega/Vega-Lite statistical visualisations