New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

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 valid DSL is rend...

SERVERStable Baseline SOURCEhttps://api.stablebaseline.io/functions/v1/cloud-serve/mcp
Medium RISK CLASS
Category Write
Parameters 124 required
Recommended Rate-limitedsee the rule below
Registry record Grade F, identity unverified Pull the record →

This record as markdown: /tools/io-stablebaseline-sb/insertdiagramindocument.md

What insertDiagramInDocument does on Stable Baseline

AI agents use insertDiagramInDocument to create or update resources in Stable Baseline, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Stable Baseline environment.

ParameterTypeRequiredDescription
type string Yes Diagram type, meaning the renderer (e.g. default, mermaid, plantuml, bpmn, d2; 'default' is the platform default renderer). For a diagram family such as a BPMN
align string — Alignment.
prompt string Yes Short description of what the diagram shows (1-2 sentences).
caption string — Caption below the diagram.
afterLine number — Insert after this line, counting the SAME line numbers getDocument prints (1-based; frontmatter is not counted, and every diagram/image marker counts as exactly
colorPlan object — BPMN only. Colour plan: { byElementId: { ElementId: SwatchName } }.
projectId string — Optional. Narrows a friendly-id lookup to one project. Only needed when a friendly id is ambiguous — TAS-/IMP-/PLN- ids are numbered per PROJECT, so the same id
tableData object — Vega-Lite charts only (type vegalite): fill the chart's data from a database table instead of a file. The question runs as you, now, and its answer becomes the
brandKitId string — Optional brand kit UUID (see listBrandKits) to theme with instead of the cascade default. Must belong to your organisation.
documentId string Yes
imageScale number — Raster resolution 1x/2x/3x when returnImage:true (default 2).
diagramCode string Yes Diagram DSL code. Call getDiagramTypeGuide for syntax. For 'default', provide MDP JSON with stable IDs and omit every entity x/y for automatic layout; fully pos

Parameters from the server's own tool schema.

Why insertDiagramInDocument is rated Medium

An AI agent can call insertDiagramInDocument faster than any human can review: one bad instruction and it creates or modifies resources in Stable Baseline by the hundred, each call as confident as the last.

Risk signalsHigh parameter count (46 properties)

Questions about insertDiagramInDocument

What does the insertDiagramInDocument tool do? +

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 valid DSL is rendered + thumbnailed immediately so the document displays instantly everywhere. The response tells you what happened: diagram.renderStatus ('rendered' | 'pending_render' with renderError when the renderer was unavailable), plus fresh optimistic-lock tokens — document.versionTimestamp and diagram.versionTimestamp — so you can keep editing without re-reading. Always set prompt (and ideally nlDescription) to describe what the diagram shows. To SEE the result inline set returnImage:true, or call getDiagramImage afterwards; if it is wrong or ugly, correct it with updateDiagramInDocument (provide the full updated diagramCode). It is categorised as a Write tool in the Stable Baseline MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

What parameters does insertDiagramInDocument accept? +

insertDiagramInDocument accepts 12 parameters: type, align, prompt, caption, afterLine, colorPlan, projectId, tableData, brandKitId, documentId, imageScale, diagramCode. Required: type, prompt, documentId, diagramCode. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on insertDiagramInDocument? +

Register the Stable Baseline MCP server in PolicyLayer and add a rule for insertDiagramInDocument: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.

What risk level is insertDiagramInDocument? +

insertDiagramInDocument is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit insertDiagramInDocument? +

Yes. Add a rate_limit block to the insertDiagramInDocument rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block insertDiagramInDocument completely? +

Set action: deny in the PolicyLayer policy for insertDiagramInDocument. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides insertDiagramInDocument? +

insertDiagramInDocument is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on Stable Baseline, and thousands of servers like it.

Across the catalogue

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of Stable Baseline's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.