NestDaddy

Stable Baseline

io.stablebaseline/sb · v1.0.4

End-to-end agent-managed company brain. Docs, diagrams, plans, databases, agents, Knowledge Graph.

Connect Remote server

Terminal
claude mcp add --transport http sb https://api.stablebaseline.io/functions/v1/cloud-serve/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "sb": {
      "url": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "sb": {
      "type": "http",
      "url": "https://api.stablebaseline.io/functions/v1/cloud-serve/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://api.stablebaseline.io/functions/v1/cloud-serve/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 80 found in our last check

  • searchTools

    Search available tools by keyword or category. Returns matching tool names and descriptions.

  • listDiagramTypes

    List supported diagram types (renderers such as default, mermaid, plantuml and d2; 'default' is the platform default renderer). Pass `query` to search by name OR intent (keyword + semantic): e.g. 'circuit diagram', 'wiring harness', 'timing waveform', 'network topology', 'databa…

  • getDiagramTypeGuide

    Get DSL writing instructions and an example for a diagram type (a renderer such as 'default', 'mermaid' or 'plantuml'). Also accepts a diagram family slug or name from supportedDiagrams (e.g. 'bpmn-process'), which resolves to that family's default renderer (see resolvedFrom). s…

  • listArchitectureIcons

    List and search the full Stable Baseline icon library, including 3,850 library icons. The AWS, Azure, GCP, Development, Essentials and other categories stay intact; library icons join matching categories, with specific Oracle Cloud, Kubernetes, Networking and General categories…

  • searchInfographicTemplates

    Search the 276 infographic templates by meaning. Call this FIRST when building an `infographic` diagram so you pick the right structure for the content. Describe the intent (e.g. 'compare two options', 'show a process timeline', 'pyramid of priorities', 'org hierarchy', 'flow be…

  • getCdmdLanguageGuide

    Get the CDMD markdown language specification. Call before createDocument if unfamiliar with syntax.

  • getCurrentUser

    Return the calling user's identity (user_id, display_name, full_name, email, avatar_url). Use this when the user says 'me' / 'mine' / 'I' so you can resolve to their UUID before passing it to tools like updateImprovement(owner_id=…) or filtering by owner. Read-only.

  • listAssignablePrincipals

    Server-side searchable, paginated list of the USERS and TEAMS that can be assigned as the owner of an improvement or task in a project, and the canonical source for resolving a person's user_id when @-mentioning them in a document. Users are the people who may be assigned work i…

  • listTeams

    List teams in an organisation, with optional search filter and an `includeMembers` flag that returns each team's members in the same call. Supply EITHER organizationId OR workspaceId (the workspace's parent org is resolved automatically). Use this when the user asks about teams…

  • getTeam

    Get a single team by ID with profile-enriched member list (display_name, email, avatar_url, role, joined_at). Set `includeMembers=false` to skip the member fan-out and just return team metadata. Read-only.

  • listOrganisations

    List organisations you have access to. Supports query filtering by name/slug.

  • listWorkspaces

    List workspaces you have access to. Scope to one organisation with organisationId (a structural filter — use it rather than `query`, which only searches names/slugs). Supports query filtering by name/slug.

  • listProjects

    List projects in a workspace. Supports query filtering by project name.

  • listFolders

    List folders in a project. Use parentId for nested folders. For full tree, use getProjectHierarchy instead.

  • createFolder

    Create a folder in a project. Supports nesting via parentId.

  • updateFolder

    Update a folder: rename it, move it or reorder it. `parentId` moves it under another folder of its project. To move the folder WITH EVERYTHING IN IT into another project, in any workspace of the same organisation, give `projectId` (the project it moves to) and, if you like, `par…

  • deleteFolder

    Delete a folder recursively, including all nested folders and documents.

  • reorderFolders

    Batch-reorder folders within a parent (or project root) by setting sibling positions. Pass [{folderId, position}, ...] where position is a non-negative integer; usually you renumber siblings sequentially as 0, 1, 2…. To MOVE a folder to a different parent and set its position th…

  • listDocuments

    List AND grep documents in a project, workspace, or folder. `query` does a full-content search across each document's body (not just the title) and returns the matching lines — like grep across your docs. Each returned document includes `contentMatches: [{line, text, context?}]`…

  • getProjectHierarchy

    Get the complete folder and document tree for a project in one call. Recommended first call for navigation.

  • getFolderHierarchy

    Get the folder and document tree. Pass folderId for the subtree under one folder, or projectId for the project's ENTIRE folder tree from the root (no need to reassemble listFolders' flat list by parentId). Alias for getProjectHierarchy.

  • getDocument

    Read a document's content with line numbers. content.text lines are formatted `NNNNN<TAB>content` (cat -n style); the number+tab prefix is DISPLAY ONLY — never part of the document — so when building editDocument anchor patches, copy only the text AFTER the tab. Reads paginate b…

  • commentOnDocument

    Comment on a document, or suggest new words for some of its words: start a thread on some of its words, on a table, a diagram or an image, or on the whole page; reply; change your own comment; resolve or reopen a thread; react; assign a thread to someone; suggest a change to som…

  • deleteDocumentComment

    Delete a comment on a document, or a whole thread. Only whoever wrote a comment, or an admin of the document, can delete it; a whole thread can be deleted by an admin, or by whoever started it while nobody else has written in it. A thread goes with its last comment. To close a t…

  • createDocument

    Create a document from CDMD markdown (standard Markdown plus SB extensions — call getCdmdLanguageGuide if unfamiliar). The body goes in `cdmd` (`content` is accepted as an alias). A leading `---` YAML frontmatter block is stored and preserved: title/exported_at/generator are man…

  • editDocument

    Edit a document: the PREFERRED tool for small targeted changes. Two patch dialects — do NOT mix them in one call. (1) ANCHOR patches {oldText, newText, before?, after?} — RECOMMENDED: replace an exact snippet of existing text with new text. oldText must match the document byte-f…

  • findAndReplaceTextInDocument

    Find and replace EXACT substrings in a document (NOT regex: wildcards and patterns are matched literally). Replaces EVERY occurrence and returns the replacement count; best for renames and repeated phrases. For a single targeted change at a known location, prefer editDocument (a…

  • getDiagramInDocument

    Get a diagram's full details including raw DSL source code. Use diagramId from DIAGRAM_OMITTED markers in getDocument output. Returns diagramCode, type, name, nlDescription, renderStatus/renderError, and versionTimestamp — the diagram's optimistic-lock token for updateDiagramInD…

  • insertDiagramInDocument

    Insert a new diagram into a document. Call listDiagramTypes to find your type, then getDiagramTypeGuide for DSL syntax before writing diagramCode. The diagramCode is COMPILE-CHECKED BY RENDERING at write time: broken DSL is rejected with the renderer's error (fix and retry), and…

  • updateDiagramInDocument

    Update a diagram's code, description, or properties. Call getDiagramTypeGuide for DSL syntax. New diagramCode is COMPILE-CHECKED BY RENDERING at write time — broken DSL is rejected with the renderer's error — and a valid change is re-rendered + re-thumbnailed immediately (respon…

  • deleteDiagramInDocument

    Delete a diagram: removes the database record AND every reference to it in the document body — the current marker format plus legacy forms (markers without an embedded diagramId, and old plain-text `[Diagram: name]` placeholders). The response's removedFromBody says whether a ma…

  • deleteDocument

    Delete a document.

  • getWhiteboardGuide

    Get the Stable Baseline whiteboarding guide (Markdown): when to use stencils vs architecture icons vs code/BPMN diagrams vs plain shapes vs real images vs frames/presentations, how to lay out and verify a board, and how to edit a large board safely (patch by id, never replace).…

  • autoDesignWhiteboard

    Auto-design a complete, visually polished whiteboard from a natural-language goal using the PREMIUM multi-agent pipeline (the same one the in-app assistant uses): it browses the stencil/icon library, composes the WHOLE board, renders it and reviews the picture — far better than…

  • designComponent

    Design ONE reusable, on-brand SLIDE COMPONENT and add it to the org's component library so every future branded deck (autoDesignWhiteboard designProfile:'branded-executive') can use it. This is the self-improving design loop: an agent AUTHORS the component as a declarative templ…

  • editWhiteboardImageRegion

    Mask-edit (inpaint) one region of an image element on a whiteboard. Given the target image element id and a paint MASK (a PNG where WHITE marks the area to regenerate and BLACK is kept), it regenerates only the masked region using the prompt and replaces the image IN PLACE (same…

  • designDeckInWhiteboard

    Create or refine a slide deck INSIDE an existing whiteboard by conversing with the AI design agent. Send a brief for a NEW deck, a change to an EXISTING one, or an answer to the agent's question. The agent builds a polished, on-brand deck and places it on the board; if the brief…

  • designIllustrationInWhiteboard

    Create or refine a standalone ILLUSTRATION INSIDE an existing whiteboard by conversing with the AI design agent. This is the illustration sibling of designDeckInWhiteboard: same conversation, same follow-up flow, but it makes ONE on-brand illustration placed on the board (not a…

  • getDeckReplyInWhiteboard

    Get the design agent's reply after calling designDeckInWhiteboard OR designIllustrationInWhiteboard: the status (thinking/building/ready) and EITHER the finished result (a deck's slide count + preview, or the placed illustration) OR a clarifying question to answer (call the SAME…

  • exportFromWhiteboard

    Export from a whiteboard: a finished design (a deck) as an editable PowerPoint (PPTX), a PDF or PNG images, or the whiteboard canvas itself as a PowerPoint. LARGE EXPORTS FINISH IN THE BACKGROUND: if the export takes longer than one tool call can wait, this returns status:'expor…

  • startMeetingScribe

    Invite the Stable Baseline Meeting Scribe bot to a LIVE meeting (Zoom, Google Meet, Microsoft Teams, or Webex) so it paints a live, editable whiteboard of the conversation as it happens: sticky notes and topic clusters, an agenda that ticks itself off, and decisions and actions…

  • getMeetingScribeStatus

    Get a meeting scribe's status after startMeetingScribe: the session state (joining, in the waiting room, live in the call, paused, ending, ended, or failed), the live activity feed of what the scribe has painted, and the board it is painting. Give it the sessionId returned by st…

  • stopMeetingScribe

    Stop a running meeting scribe: the bot leaves the meeting and the board is finalised (tidy pass plus a summary frame). Give it the sessionId returned by startMeetingScribe. Billing stops at the current block; the user can also stop the scribe simply by removing the bot from the…

  • createWhiteboard

    Create a whiteboard: an infinite freeform canvas. A whiteboard is a hidden document (it won't appear in listDocuments) that hosts a single freeform canvas, and opens in the immersive whiteboard editor in the app. Returns documentId + diagramId. Author shapes afterwards with addW…

  • listWhiteboards

    List AND grep the whiteboards in a project (hidden whiteboard-kind documents). `query` searches the title and friendlyId (substring by default; set isRegex:true for a regular expression, caseSensitive:true for exact case). This is the tool to find a board by name — listDocuments…

  • getWhiteboard

    Read a whiteboard: its metadata plus a summary of the canvas (element count, element types, and text labels on the board). Pass includeElements=true to also return the full Excalidraw scene ({elements, appState, files}) — needed if you intend to modify it and send it back via up…

  • updateWhiteboardScene

    Edit elements on a whiteboard's canvas WITHOUT dropping the rest of the scene. A board may hold many diagrams/elements, so prefer surgical edits: mode='patch' (DEFAULT) shallow-merges each incoming object into the existing element with the same `id` (send just {id, backgroundCol…

  • addWhiteboardElements

    Author shapes onto a whiteboard from high-level specs (you do NOT need the full Excalidraw element schema). Appends to the canvas. PLACEMENT ON AN EXISTING BOARD (critical): NEVER guess x/y onto a board that already has content — guessed coordinates land ON TOP of existing shape…

  • duplicateWhiteboardElements

    Copy-paste existing whiteboard elements — the MCP equivalent of selecting a group and pressing Ctrl/Cmd+D. Clones the given elements (plus their group peers + bound text/labels) with FRESH ids, offsets the copy by dx/dy, and by default groups it into ONE new unit so it moves tog…

  • insertWhiteboardImage

    Insert a real IMAGE (photo, screenshot, logo, picture) into a whiteboard — the storage-backed equivalent of insertImageInDocument. Provide the image as imageUrl (fetched and re-hosted), imageBase64, or imageBinary; for large files call createImageUploadSession(documentId) first…

  • insertWhiteboardDiagram

    Insert (or re-render in place) a real DIAGRAM (BPMN, Diagrams-as-Code / any DSL: mermaid, d2, plantuml, graphviz, …) on a whiteboard as an editable SB diagram element. Provide documentId, diagramType (call listDiagramTypes / getDiagramTypeGuide), and source (the DSL). The diagra…

  • traceImage

    Turn a raster image into hand-drawn freedraw strokes on a whiteboard, deterministically. Pass an image (imageUrl OR imageBase64) plus a style; the server fetches and vectorises it server-side and draws the strokes, so you do NOT emit any coordinates yourself (LLMs are poor at th…

  • dataToTable

    Render tabular data as an aligned grid of labelled cells on a whiteboard, deterministically. Pass rows (an array of arrays) OR data (an array of objects), with optional headers; the server lays out evenly-spaced cells so you do NOT place each cell by hand. Use this to turn data,…

  • listWhiteboardStencils

    Search the built-in library of structural whiteboard stencils — ready-made hand-drawn graphics: flowchart/UML/ER/BPMN symbols, scrum columns, org-chart nodes, gantt, lo-fi/UX wireframe widgets (buttons, forms, tables, alerts, navs), charts, device frames, stick figures. A stenci…

  • getWhiteboardImage

    Render a whiteboard to a raster IMAGE so you can SEE it and confirm your edits look right, then iterate — like taking a screenshot. Returns the rendered board as a viewable image attached to the result (always raster: a JPEG light variant and/or a PNG dark variant; there is no v…

  • deleteWhiteboard

    Delete a whiteboard (the host document and its canvas).

  • renderDiagram

    Generate a diagram from its DSL/code and get the IMAGE back — WITHOUT inserting it into any document or whiteboard. For acting as a pure diagram generator. Provide diagramType (e.g. 'default', 'mermaid', 'd2', 'plantuml', 'graphviz', 'bpmn', 'vegalite'; call listDiagramTypes for…

  • getDiagramImage

    Render a diagram that ALREADY exists in a document to an IMAGE (svg/png/jpeg @1x/2x/3x) and return it — a temporary imageUrl available for 1 hour plus, for png/jpeg, the image inline so you can see it, and title/url citing the document the diagram lives in. Pass the diagramId (f…

  • rebuildPlatformCatalogEmbeddings

    Maintenance (requires write). Refreshes the search index over every platform catalogue (MCP tools, whiteboard stencils, architecture icons, infographic templates, whiteboard design components and design skills), so that search by meaning in searchTools, listWhiteboardStencils, l…

  • reorderDocuments

    MOVE documents and boards between folders, or into another project of the organisation, and reorder them: the batch filing tool. Pass items [{documentId, folderId?, position?}, ...]. Inside a project give at least one of folderId or position per item: `folderId` MOVES that docum…

  • listDocumentVersions

    List version history for a document. Returns timestamps, creator, change summary, and content. HOW IT CHANGED: give changedSince (a period such as this_week, or a date) for the versions saved in that time, each with who saved it by name and when in words; add compare:true for th…

  • getImageInDocument

    Get image details including a fresh link to the image that works for one hour (call again for a new one; never save the link into content). Use storagePath from IMAGE_OMITTED markers in getDocument output.

  • createImageUploadSession

    Create a PUT upload URL for a document image (max 10MB). Use the returned assetUrl with insertImageInDocument. For a dashboard picture (PNG, JPEG, GIF or WebP) pass databaseId and dashboard instead of documentId, PUT the bytes, then use its pictureId in saveDatabaseDashboard.

  • insertImageInDocument

    Insert an image into a document (max 10MB). Provide imageBase64, imageBinary, or imageUrl. For large files, call createImageUploadSession first then use the returned assetUrl. nlDescription AND caption are both REQUIRED, not optional polish: they are what makes the image findabl…

  • updateImageInDocument

    Update image metadata (alt, caption, nlDescription, dimensions, alignment) — metadata only; to change the picture itself, delete it and insert the new one. Requires the document's versionTimestamp (from getDocument or any mutating tool's response) for optimistic locking.

  • deleteImageInDocument

    Delete an image: removes the stored file, the database record, AND the image from the document body — both the IMAGE marker in the markdown and the image node in the document's rich-text content, so the picture stops appearing on every read. Deleting an image the document still…

  • createVegaDataUploadSession

    Create a PUT upload URL for a Vega/Vega-Lite data file. Use returned assetUrl in your Vega spec.

  • deleteVegaDataFile

    Delete a data file attachment from a document.

  • createDocumentIngestSession

    Step 1 of file ingest. Mint a single-use PUT upload URL for a large file (PDF, DOCX, plain text, or markdown — up to 150 MB). Returns { sessionId, uploadUrl, expiresAt, maxBytes }. Upload the raw bytes to uploadUrl with PUT, then call createDocumentFromUpload({ sessionId, projec…

  • createDocumentFromUpload

    Step 2 of file ingest. After the file is uploaded via the PUT URL from createDocumentIngestSession, call this to start the async conversion. Returns { jobId, documentId } immediately — the document is created as a draft and progressively populated as the worker processes the fil…

  • getDocumentIngestJob

    Read the current status of an ingest job. Returns { status, stage, processedImages, totalImages, documentId, error?, lastHeartbeatAt }. Stages: pending → downloaded → extracted → draft_saved → images_processing → finalized → cleaned_up. Status: queued, running, succeeded, failed…

  • exportDocument

    Export a Stable Baseline document as a PDF or an editable Word document (docx), styled with the organisation's brand, or with an export template when templateId is given. Give it the documentId (a UUID, or a friendly id such as DOC-123) and the format: 'pdf' (default) or 'docx'.…

  • listImprovements

    List AND grep improvements in a project. `query` searches the title, friendlyId and problem statement, not just the title (substring by default; set isRegex:true for a regular expression, caseSensitive:true for exact case). Supports filtering by status, type, priority, and by pa…

  • getImprovement

    Get full details for an improvement item including evidence, activity log, compliance context, and the `checklist` array (each item: id, text, due_date, completed_at, plus server-stamped attribution). Returns versionTimestamp: pass it to updateImprovement for optimistic locking.…

  • createImprovement

    Create an improvement item in a project. Requires projectId and title. Auto-assigns friendly ID. Accepts every field updateImprovement accepts, so an item can be created complete in one call rather than create-then-update. Pass parentItemId to create it under its epic or story i…

  • updateImprovement

    Update an improvement, or many in one call (or a task: tasks share this row, but prefer the symmetric updateTask alias when working from getTask). Supports the full field set including `checklist` (tick-boxes with due dates + completion attribution), `acceptance_criteria` (objec…

  • deleteImprovement

    Delete an improvement and all associated evidence and activity.

  • listImprovementCategories

    List improvement categories for a project. Returns tree and flat list.

  • createImprovementCategory

    Create an improvement category or sub-category. Max two levels.

  • updateImprovementCategory

    Update an improvement category. Cannot modify system categories.

Headers

NameDescription
Authorization
Required, secret
Bearer token. Either an MCP API key with prefix 'sta_' (mint at https://app.stablebaseline.io/settings/developers) or an OAuth 2.1 access token. Every OAuth endpoint lives under the cloud-serve function, and the authoritative list is published at https://api.stablebaseline.io/functions/v1/cloud-ser…

Details

Endpointhttps://api.stablebaseline.io/functions/v1/cloud-serve/mcp (Streamable HTTP)
First published13 Oct 2026
Last updated13 Oct 2026
Registry nameio.stablebaseline/sb

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.