artifacts_create
Host a self-contained HTML page at a stable, default-private, shareable URL — the Artifact experience, in-app. Pass exactly one of: - html — the full page: your <body> plus any <style>/<script>. Unlike documents.create, the page is served live (JavaScript runs), so charts, interactivity, and smal...
This record as markdown: /tools/io-github-saloprj-dialogbrain/artifacts-create.md
What artifacts_create does on Dialogbrain
AI agents use artifacts_create to create or update resources in Dialogbrain, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Dialogbrain environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
html | string | — | Full self-contained HTML page. Mutually exclusive with file_id. |
title | string | Yes | Short human-readable title (page <title> + gallery label). |
favicon | string | — | Optional emoji used as the browser-tab icon (e.g. '📊'). |
file_id | integer | — | Workspace file whose contents are the HTML page. Mutually exclusive with html. |
template | string | — | Optional data-driven template: HTML with {{placeholder}} tokens. When set, later artifacts.refresh(data={...}) re-renders the page server-side from tiny data pa |
description | string | — | Optional one-line summary for the gallery card. |
access_level | string | — | 'private' (default, in-app only) or 'shared' (anyone-with-link). |
analytics_card_ids | array | — | Compose saved analytics dashboard cards into one report page: each card's SQL re-runs through the guarded analytics engine and renders as a static chart. Data i |
Parameters from the server's own tool schema.
Why artifacts_create is rated Medium
This tool creates new artifacts (HTML pages or reports) and hosts them at persistent, shareable URLs. It is reversible (artifacts can be deleted or replaced) and has no destructive or financial impact.
From the tool's definition artifacts_create: 'Host a self-contained HTML page at a stable, default-private, shareable URL' — creates and persists a new resource (HTML page at a URL) that can be shared.
Risk signalsAccepts raw HTML/template content (html)
Attacks that exploit this kind of access
The rule that runs artifacts_create safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Dialogbrain, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For artifacts_create, this is the rule to start with:
artifacts_create stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Dialogbrain, apply this rule, and every artifacts_create call is checked against it from then on.
Questions about artifacts_create
Host a self-contained HTML page at a stable, default-private, shareable URL — the Artifact experience, in-app. Pass exactly one of: - html — the full page: your <body> plus any <style>/<script>. Unlike documents.create, the page is served live (JavaScript runs), so charts, interactivity, and small tools work. - file_id — a workspace file whose contents are already the HTML page. - analytics_card_ids — ids of saved analytics dashboard cards; the platform re-runs their queries and composes one designed report page (static charts, snapshot at build time). Best way to give someone a shareable analytics report. The page runs in a locked-down sandbox: a dedicated origin + a strict CSP. That means it is fully self-contained — it CANNOT call out to the network (fetch/XHR/WebSocket are blocked) or load anything from a CDN. Inline all assets: CSS/JS inline, images/fonts as data: URIs. Draw charts yourself as inline SVG (no external chart library). access_level defaults to 'private' (viewable only in-app). Set 'shared' to make the unguessable link itself the capability (anyone-with-link). You can flip this later with artifacts.set_access. Returns {artifact_id, slug, url, version}. url is the live link when the public origin is configured; until then the artifact is hosted and versioned but url is null. Republish with artifacts.update — the URL stays the same. It is categorised as a Write tool in the Dialogbrain MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
artifacts_create accepts 8 parameters: html, title, favicon, file_id, template, description, access_level, analytics_card_ids. Required: title. The full parameter table on this page comes from the server's own tool schema.
Register the Dialogbrain MCP server in PolicyLayer and add a rule for artifacts_create: 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 Dialogbrain. Nothing to install.
artifacts_create is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the artifacts_create 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.
Set action: deny in the PolicyLayer policy for artifacts_create. 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.
artifacts_create is provided by the Dialogbrain MCP server (https://api.dialogbrain.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Dialogbrain, and thousands of servers like it.
This server
Across the catalogue