Skip to main content

Documentation Index

Fetch the complete documentation index at: https://canvas-docs.vibeflow.ai/llms.txt

Use this file to discover all available pages before exploring further.

These are the tools exposed by the VibeFlow MCP server that touch the canvas product. They’re available to any MCP-compatible client connected via the MCP overview. The broader VibeFlow MCP also exposes UI-project and design-system tools (initiate_project, deploy_project, create_design_system, etc.). Those are documented separately at docs.vibeflow.ai.

Canvas tools

list_canvases

Lists every canvas in your account (or organization, if your key is org-scoped).
ArgRequiredDescription
limitNoMax canvases to return. Default 50.
Returns an array of { id, name, organizationId, createdAt, updatedAt }.

get_canvas

Returns a single canvas’s metadata, including attached design system and style.
ArgRequiredDescription
canvasIdYesThe canvas id (returned by list_canvases).
Returns { id, name, designSystemIds, selectedStyle, ... }.

list_canvas_frames

Lists every frame on a canvas.
ArgRequiredDescription
canvasIdYesThe canvas id.
Returns an array of { frameId, x, y, width, height, z, name?, htmlPreview? }.

get_canvas_frame_code

Returns the raw HTML of a single frame. Useful before calling update_canvas_frame so the AI can patch surgically.
ArgRequiredDescription
canvasIdYesThe canvas id.
frameIdYesThe frame id.
Returns { html, width, height, ... }.

create_canvas_frame

Adds a new frame to a canvas with full HTML, size, and position.
ArgRequiredDescription
canvasIdYesThe canvas id.
htmlYesInline-styled HTML for the frame. No <script>.
widthYesFrame width in pixels.
heightYesFrame height in pixels.
x, yNoPosition on the canvas. Defaults to a sensible spot to the right of existing frames.
nameNoA short label. Shows in the canvas overview.
Returns { frameId }.

write_canvas_frame

Replaces the full HTML of an existing frame. Used when you want to re-render the whole frame rather than touch one element.
ArgRequiredDescription
canvasIdYesThe canvas id.
frameIdYesThe frame id.
htmlYesNew inline-styled HTML.
Returns { ok: true }.

update_canvas_frame

Patches one or more elements inside a frame using stable element selectors. Prefer this over write_canvas_frame when you only need surgical edits. Equivalent to the canvas agent’s update_element tool.
ArgRequiredDescription
canvasIdYesThe canvas id.
frameIdYesThe frame id.
patchesYesAn array of patches. Each one is { selector, html }, { selector, text }, or { selector, style }.
Returns { ok: true, applied: number }.

delete_canvas_frame

Removes a frame from a canvas. Cannot be undone via MCP. (The in-app undo stack does not see MCP deletes.)
ArgRequiredDescription
canvasIdYesThe canvas id.
frameIdYesThe frame id.
Returns { ok: true }.

run_canvas_agent

Runs the full canvas agent with the same tool surface, brand contract, and credit gating as the in-app chat. The agent decides which canvas tools to call based on your brief.
ArgRequiredDescription
canvasIdYesThe canvas to run against.
messageYesThe brief. Plain text.
attachmentsNoArray of image URLs or asset ids.
referenceFrameIdsNoFrames the agent should read before planning.
Returns a streamed series of events (frame creates, element updates, narration), then a final { creditsUsed, summary }.
This is the most powerful tool in the set. For multi-step jobs (“clone this site, then build a 5-frame deck against the new system”) prefer run_canvas_agent over chaining low-level tools by hand.

Skill tools

list_canvas_skills

Lists skills loaded for a canvas. Includes the attached design system (compiled to a skill) and any user-enabled skills.
ArgRequiredDescription
canvasIdYesThe canvas id.
Returns an array of { skillId, name, source }.

load_canvas_skill

Returns the full SKILL.md and reference files for one skill. Useful if your client wants to display the brand contract before generating.
ArgRequiredDescription
canvasIdYesThe canvas id.
skillIdYesThe skill id from list_canvas_skills.
Returns { skillMd, references: [{ path, content }] }.

Export tools

export_canvas

Kicks off an export job. Returns a job id you poll with get_canvas_export.
ArgRequiredDescription
canvasIdYesThe canvas id.
formatYespptx · pdf · png · jpg.
frameIdsNoSubset of frames to export. Defaults to the whole canvas.
Returns { jobId }.

get_canvas_export

Polls an export job. Returns the status and, when done, a signed download URL valid for a short window.
ArgRequiredDescription
jobIdYesFrom export_canvas.
Returns { status, downloadUrl?, error? }. status is one of pending, ready, or failed.

Auth + errors

Every tool requires a valid Authorization: Bearer YOUR_API_KEY header. Common errors:
ErrorMeaningFix
unauthorizedMissing or invalid keyRegenerate in Settings → MCP
insufficient_creditsAccount is out of creditsTop up at /settings/credits
not_foundBad canvas id or frame idList first, then call
validation_failedHTML failed the safety validator (likely a <script> or form element)Strip the invalid node

Next

MCP overview

Connecting clients, transport, examples.

Credits

What each tool costs to run.