All tools
ToolWrite

Update library canvas

update_library_canvas

You need to inspect, update, or create a user-authored Project Canvas workspace, including a Research Packet board.

When to use it

You need to inspect, update, or create a user-authored Project Canvas workspace, including a Research Packet board.

Typical workflow

List canvases, read the latest JSON, preserve layout, then replace only when asked.

What it returns

Canvas metadata, JSON Canvas data, URLs, and optimistic update timestamps.

Avoid using it when

Do not call without first reading the latest full canvas JSON and updatedAt.

Advanced input contract

Agent hosts use this JSON Schema to validate the exact input shape.

View full registry notes

Replace a Prism Project Canvas title, viewport, or full canvas JSON. Read the canvas first, preserve user-authored cards/layout, and pass the latest updatedAt as expectedUpdatedAt. Use dryRun true to preview node/edge diffs. If canvasJson removes nodes or edges, allowRemovals true is required. This tool cannot delete library items, publish, upload files, or import websites. Avoid when: Do not call without first reading the latest full canvas JSON and updatedAt.

View JSON Schema
{
  "type": "object",
  "properties": {
    "canvasId": {
      "type": "string",
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "canvasJson": {
      "type": "object",
      "description": "Complete replacement JSON Canvas-compatible object. Include all existing cards and edges that should remain."
    },
    "viewportJson": {
      "type": "object",
      "description": "Viewport object { x, y, zoom }."
    },
    "expectedUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "dryRun": {
      "type": "boolean",
      "default": false,
      "description": "Validate and return the canvas diff without saving changes."
    },
    "allowRemovals": {
      "type": "boolean",
      "default": false,
      "description": "Required when the replacement canvasJson removes existing nodes or edges."
    }
  },
  "required": [
    "canvasId",
    "expectedUpdatedAt"
  ],
  "additionalProperties": false
}

Useful next tools