ManimLabsLoading workspace…
Browse documentation
INTEGRATIONS

Registered MCP tools

This list is generated from the tool contracts checked into this build. Registration describes an implementation surface, not production host acceptance. Use the schema and scopes before making a call.

Check /mcp for this deployment's connection status. Widget and download capabilities depend on the client; authenticated ChatGPT host acceptance is still pending.

70 / 70 registered tools

get_manimlabs_capabilitiesREAD

Discover actual object types, animation presets, deployed feature flags and truthful render infrastructure before creating a scene.

Scopes: Public metadata · Widget: library

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_my_profileREAD

Read the linked account's display identity, without exposing credentials, billing data or staff permissions.

Scopes: profile.read · Widget: connection

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_connection_statusREAD

Inspect this OAuth connection's permissions; never assumes browser or Desktop Agent connectivity.

Scopes: Public metadata · Widget: connection

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_my_plan_and_limitsREAD

Read current server-authoritative plan limits and recorded usage. Null limits mean unlimited; native compute availability is separate.

Scopes: plans.read · Widget: plan

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
check_capabilityREAD

Check object creation or a named authoritative plan feature before attempting it. Permission is distinct from host support.

Scopes: plans.read · Widget: plan

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "objectType": {
      "type": "string",
      "enum": [
        "fourier_drawing",
        "arc_polygon",
        "cutout",
        "boolean_shape",
        "mathtypst",
        "sample_space",
        "text",
        "mathtex",
        "derivation",
        "vector_field",
        "path",
        "layered_matrix",
        "circle",
        "ellipse",
        "square",
        "rectangle",
        "rounded_rectangle",
        "triangle",
        "regular_polygon",
        "polygon",
        "arc",
        "sector",
        "line",
        "arrow",
        "double_arrow",
        "curved_arrow",
        "brace",
        "angle_marker",
        "venn",
        "probability_tree",
        "dot",
        "vector",
        "number_line",
        "axes",
        "number_plane",
        "complex_plane",
        "function_graph",
        "parametric_function",
        "polar_graph",
        "implicit_curve",
        "star",
        "annulus",
        "annular_sector",
        "sphere",
        "ellipsoid",
        "cube",
        "prism",
        "cone",
        "cylinder",
        "torus",
        "threed_axes",
        "surface3d",
        "line3d",
        "arrow3d",
        "dot3d",
        "parametric_surface",
        "parametric_curve3d",
        "polyhedron",
        "image",
        "svg",
        "video",
        "counter",
        "graph",
        "table",
        "code",
        "matrix",
        "bar_chart",
        "pie_chart",
        "box_plot",
        "callout",
        "highlight",
        "group"
      ]
    },
    "feature": {
      "type": "string",
      "enum": [
        "physics",
        "svgImport",
        "codeExport",
        "shareProject",
        "parametricShapes",
        "proFormats",
        "transformAnims"
      ]
    }
  },
  "additionalProperties": false
}
list_supported_formatsREAD

Distinguish editor formats from capability-detected browser export in a supported MCP Apps host.

Scopes: Public metadata · Widget: learning

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
inspect_object_schemaREAD

Get the canonical JSON Schema and editable timeline properties for an actual editor object type. Inspect before changing object-specific fields.

Scopes: Public metadata · Widget: library

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "fourier_drawing",
        "arc_polygon",
        "cutout",
        "boolean_shape",
        "mathtypst",
        "sample_space",
        "text",
        "mathtex",
        "derivation",
        "vector_field",
        "path",
        "layered_matrix",
        "circle",
        "ellipse",
        "square",
        "rectangle",
        "rounded_rectangle",
        "triangle",
        "regular_polygon",
        "polygon",
        "arc",
        "sector",
        "line",
        "arrow",
        "double_arrow",
        "curved_arrow",
        "brace",
        "angle_marker",
        "venn",
        "probability_tree",
        "dot",
        "vector",
        "number_line",
        "axes",
        "number_plane",
        "complex_plane",
        "function_graph",
        "parametric_function",
        "polar_graph",
        "implicit_curve",
        "star",
        "annulus",
        "annular_sector",
        "sphere",
        "ellipsoid",
        "cube",
        "prism",
        "cone",
        "cylinder",
        "torus",
        "threed_axes",
        "surface3d",
        "line3d",
        "arrow3d",
        "dot3d",
        "parametric_surface",
        "parametric_curve3d",
        "polyhedron",
        "image",
        "svg",
        "video",
        "counter",
        "graph",
        "table",
        "code",
        "matrix",
        "bar_chart",
        "pie_chart",
        "box_plot",
        "callout",
        "highlight",
        "group"
      ]
    }
  },
  "required": [
    "type"
  ],
  "additionalProperties": false
}
list_animation_presetsREAD

Discover the real registered animation presets; these builders are shared with the editor.

Scopes: Public metadata · Widget: animations

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_educational_examplesREAD

List existing genuine editor starters and their working editor links. This does not create a cloud project.

Scopes: Public metadata · Widget: learning

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_fourier_presetsREAD

List the five real SVG outline presets implemented by Fourier Drawing. Series Decomposition Studio is not enabled.

Scopes: Public metadata · Widget: curves

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_projectsREAD

List only projects owned by this account, with bounded cursor pagination. No private thumbnails or full scenes are fetched by default.

Scopes: projects.read · Widget: projects

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "limit": {
      "default": 12,
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "cursor": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
get_projectREAD

Read a saved project's summary and exact editable object IDs. Full geometry is supplied to the trusted widget rather than dumped into chat.

Scopes: projects.read · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
get_scene_summaryREAD

Read scene duration, object/animation counts, current revision and a canonical editor link.

Scopes: projects.read · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
get_scene_objectREAD

Read one exact object and its editable animation properties, scoped to an owned project.

Scopes: projects.read · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId",
    "objectId"
  ],
  "additionalProperties": false
}
get_scene_playback_dataREAD

Open an authentic preview of the saved scene in supported MCP Apps hosts. Playback does not save or start a native render.

Scopes: projects.read · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
get_browser_export_policyREAD

Check the current owned project, live plan and watermark requirements immediately before a local browser export. Does not start server rendering or consume a cloud render quota.

Scopes: projects.read, renders.create · Widget: render

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
open_project_in_editorREAD

Return the canonical link to the exact owned cloud project, preserving its saved identity.

Scopes: projects.read · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
create_projectWRITE

Create a named, genuinely cloud-saved editor project. This pure creation does not consume AI generation quota. Retry with the same requestKey.

Scopes: projects.read, projects.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "duration": {
      "default": 6,
      "type": "number",
      "minimum": 0.1,
      "maximum": 600
    }
  },
  "required": [
    "name",
    "requestKey",
    "duration"
  ],
  "additionalProperties": false
}
rename_projectWRITE

Rename both the saved project and its Projects title atomically, requiring the current revision.

Scopes: projects.read, projects.write · Widget: projects

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "name"
  ],
  "additionalProperties": false
}
add_scene_objectWRITE

Add a real editor object using shared factory defaults and canonical property validation. Includes the exact cloud revision after saving.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "type": {
      "type": "string",
      "enum": [
        "fourier_drawing",
        "arc_polygon",
        "cutout",
        "boolean_shape",
        "mathtypst",
        "sample_space",
        "text",
        "mathtex",
        "derivation",
        "vector_field",
        "path",
        "layered_matrix",
        "circle",
        "ellipse",
        "square",
        "rectangle",
        "rounded_rectangle",
        "triangle",
        "regular_polygon",
        "polygon",
        "arc",
        "sector",
        "line",
        "arrow",
        "double_arrow",
        "curved_arrow",
        "brace",
        "angle_marker",
        "venn",
        "probability_tree",
        "dot",
        "vector",
        "number_line",
        "axes",
        "number_plane",
        "complex_plane",
        "function_graph",
        "parametric_function",
        "polar_graph",
        "implicit_curve",
        "star",
        "annulus",
        "annular_sector",
        "sphere",
        "ellipsoid",
        "cube",
        "prism",
        "cone",
        "cylinder",
        "torus",
        "threed_axes",
        "surface3d",
        "line3d",
        "arrow3d",
        "dot3d",
        "parametric_surface",
        "parametric_curve3d",
        "polyhedron",
        "image",
        "svg",
        "video",
        "counter",
        "graph",
        "table",
        "code",
        "matrix",
        "bar_chart",
        "pie_chart",
        "box_plot",
        "callout",
        "highlight",
        "group"
      ]
    },
    "properties": {
      "default": {},
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 80
      },
      "additionalProperties": {
        "$ref": "#/definitions/__schema0"
      }
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "type",
    "properties"
  ],
  "additionalProperties": false,
  "definitions": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/definitions/__schema0"
          }
        }
      ]
    }
  }
}
update_scene_objectWRITE

Edit canonical object fields; ID/type cannot be changed. Object-specific fields are checked against the authoritative editor schema.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "patch": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 80
      },
      "additionalProperties": {
        "$ref": "#/definitions/__schema0"
      }
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "patch"
  ],
  "additionalProperties": false,
  "definitions": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/definitions/__schema0"
          }
        }
      ]
    }
  }
}
duplicate_scene_objectWRITE

Create an independently editable object copy in the same project; existing animation targets are preserved.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId"
  ],
  "additionalProperties": false
}
set_visibilityWRITE

Change the saved visibility of an exact scene object.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "visible": {
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "visible"
  ],
  "additionalProperties": false
}
set_lockedWRITE

Change the saved editor lock state of an exact scene object.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "locked": {
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "locked"
  ],
  "additionalProperties": false
}
set_object_styleWRITE

Edit fill, stroke, opacity and line width without changing object geometry or identity.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "style": {
      "type": "object",
      "properties": {
        "fill": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "stroke": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "opacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "fillOpacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "strokeWidth": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "style"
  ],
  "additionalProperties": false
}
set_parentWRITE

Attach an object to an existing group or detach it; cycles and invalid parent types are rejected.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "parentId": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,80}$"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "parentId"
  ],
  "additionalProperties": false
}
arrange_layersWRITE

Set the exact layer order; must contain every existing object ID once.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectOrder": {
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_-]{1,80}$"
      }
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectOrder"
  ],
  "additionalProperties": false
}
add_animationWRITE

Add a complete registered editor AnimationEvent to the timeline. Canonical schema, targets, timing, flags and plan gates are enforced.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "event": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 80
      },
      "additionalProperties": {
        "$ref": "#/definitions/__schema0"
      }
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "event"
  ],
  "additionalProperties": false,
  "definitions": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/definitions/__schema0"
          }
        }
      ]
    }
  }
}
add_animation_presetWRITE

Build a real editor preset for an existing object and save its clips to the timeline.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: animations

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "presetId": {
      "type": "string",
      "maxLength": 80
    },
    "start": {
      "type": "number",
      "minimum": 0,
      "maximum": 600
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "presetId",
    "start"
  ],
  "additionalProperties": false
}
update_animationWRITE

Edit timing, easing and registered event fields on an exact saved timeline clip.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "animationId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "patch": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 80
      },
      "additionalProperties": {
        "$ref": "#/definitions/__schema0"
      }
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "animationId",
    "patch"
  ],
  "additionalProperties": false,
  "definitions": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/definitions/__schema0"
          }
        }
      ]
    }
  }
}
add_keyframeWRITE

Insert or update an exact frame-snapped multi-keyframe channel using the editor's shared channel engine.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "property": {
      "type": "string",
      "enum": [
        "position.x",
        "position.y",
        "scale.x",
        "scale.y",
        "rotation",
        "opacity",
        "position.z",
        "rotation.x",
        "rotation.y"
      ]
    },
    "time": {
      "type": "number",
      "minimum": 0,
      "maximum": 600
    },
    "value": {
      "type": "number",
      "minimum": -100000,
      "maximum": 100000
    },
    "interpolation": {
      "default": "linear",
      "type": "string",
      "enum": [
        "linear",
        "hold",
        "ease",
        "easeIn",
        "easeOut",
        "easeInOut",
        "bezier"
      ]
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "property",
    "time",
    "value",
    "interpolation"
  ],
  "additionalProperties": false
}
move_keyframesWRITE

Move selected channel keys by an integer frame delta using shared frame collision rules.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "keyIds": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_-]{1,80}$"
      }
    },
    "deltaFrames": {
      "type": "integer",
      "minimum": -36000,
      "maximum": 36000
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "keyIds",
    "deltaFrames"
  ],
  "additionalProperties": false
}
delete_keyframesWRITE

Remove explicitly selected channel keys from an editable scene; changes remain revisioned in the MCP journal.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "keyIds": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_-]{1,80}$"
      }
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "keyIds"
  ],
  "additionalProperties": false
}
set_timeline_durationWRITE

Set scene duration; shortening beneath existing clips, markers or channel keys is rejected instead of silently truncating them.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "duration": {
      "type": "number",
      "minimum": 0.1,
      "maximum": 600
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "duration"
  ],
  "additionalProperties": false
}
get_editor_configurationREAD

Read exact scene background, output settings, cameras, timeline markers and preview-only 3D lights from an owned project.

Scopes: projects.read · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
set_scene_backgroundWRITE

Change the actual editor and native scene background color without accepting a remote image URL.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "color": {
      "type": "string",
      "pattern": "^#[0-9a-fA-F]{6}$"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "color"
  ],
  "additionalProperties": false
}
set_output_settingsWRITE

Save aspect ratio, resolution, frame rate and export format under the current verified plan. This does not start a render.

Scopes: projects.read, projects.write, scenes.write, plans.read · Widget: render

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "aspect": {
      "type": "string",
      "enum": [
        "16:9",
        "9:16",
        "1:1",
        "4:5",
        "4:3",
        "21:9"
      ]
    },
    "resolution": {
      "type": "string",
      "enum": [
        "480p",
        "720p",
        "1080p",
        "1440p",
        "2160p"
      ]
    },
    "fps": {
      "anyOf": [
        {
          "type": "number",
          "const": 24
        },
        {
          "type": "number",
          "const": 30
        },
        {
          "type": "number",
          "const": 60
        }
      ]
    },
    "outputFormat": {
      "type": "string",
      "enum": [
        "mp4",
        "gif",
        "webm_alpha"
      ]
    },
    "watermarkEnabled": {
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey"
  ],
  "additionalProperties": false
}
set_camera_2dWRITE

Set the editor's scene camera position, zoom, rotation or follow target. A follow target must be an existing 2D object.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "position": {
      "type": "object",
      "properties": {
        "x": {
          "type": "number",
          "minimum": -10000,
          "maximum": 10000
        },
        "y": {
          "type": "number",
          "minimum": -10000,
          "maximum": 10000
        }
      },
      "required": [
        "x",
        "y"
      ],
      "additionalProperties": false
    },
    "zoom": {
      "type": "number",
      "minimum": 0.05,
      "maximum": 100
    },
    "rotation": {
      "type": "number",
      "minimum": -3600,
      "maximum": 3600
    },
    "followObjectId": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{1,80}$"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey"
  ],
  "additionalProperties": false
}
set_camera_3dWRITE

Edit initial 3D orientation and preview camera optics. Preview depth of field and clip planes may differ from native Manim.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "phi": {
      "type": "number",
      "minimum": 0,
      "maximum": 180
    },
    "theta": {
      "type": "number",
      "minimum": -3600,
      "maximum": 3600
    },
    "ambientRotation": {
      "type": "number",
      "minimum": -720,
      "maximum": 720
    },
    "fov": {
      "type": "number",
      "minimum": 10,
      "maximum": 140
    },
    "focalDistance": {
      "type": "number",
      "minimum": 0.01,
      "maximum": 10000
    },
    "aperture": {
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "nearClip": {
      "type": "number",
      "minimum": 0.001,
      "maximum": 10000
    },
    "farClip": {
      "type": "number",
      "minimum": 0.01,
      "maximum": 100000
    },
    "safeArea": {
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey"
  ],
  "additionalProperties": false
}
set_3d_viewportWRITE

Change editor-only floor, axes and depth guides. These aids are not emitted as native scene objects.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "floor": {
      "type": "string",
      "enum": [
        "grid",
        "dots",
        "polar",
        "isometric",
        "solid",
        "none"
      ]
    },
    "extent": {
      "type": "number",
      "minimum": 0.1,
      "maximum": 100
    },
    "spacing": {
      "type": "number",
      "minimum": 0.05,
      "maximum": 20
    },
    "axes": {
      "type": "boolean"
    },
    "dropLines": {
      "type": "boolean"
    },
    "horizonFade": {
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey"
  ],
  "additionalProperties": false
}
add_3d_lightWRITE

Add an editor WebGL light. Lighting is preview-only and is not compiled into native Cairo renders.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "kind": {
      "type": "string",
      "enum": [
        "point",
        "sun",
        "spot",
        "area"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "kind"
  ],
  "additionalProperties": false
}
update_3d_lightWRITE

Edit a saved WebGL preview light; no native Manim lighting claim is made.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "lightId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "patch": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "position": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "z": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "additionalProperties": false
        },
        "target": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "z": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "additionalProperties": false
        },
        "color": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$"
        },
        "intensity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1000
        },
        "range": {
          "type": "number",
          "minimum": 0,
          "maximum": 10000
        },
        "angle": {
          "type": "number",
          "minimum": 0.1,
          "maximum": 179
        },
        "penumbra": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "width": {
          "type": "number",
          "minimum": 0.01,
          "maximum": 1000
        },
        "height": {
          "type": "number",
          "minimum": 0.01,
          "maximum": 1000
        },
        "radius": {
          "type": "number",
          "minimum": 0,
          "maximum": 1000
        },
        "castShadow": {
          "type": "boolean"
        },
        "visible": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "lightId",
    "patch"
  ],
  "additionalProperties": false
}
remove_3d_lightDESTRUCTIVE

Remove one WebGL preview light after explicit confirmation.

Scopes: projects.read, projects.write, scenes.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "lightId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "confirm": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "lightId",
    "confirm"
  ],
  "additionalProperties": false
}
get_physics_configurationREAD

Read saved world settings, joints and force fields. Motion is effective only after the editor bakes its simulation; MCP does not run an untrusted bake.

Scopes: projects.read · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
set_physics_worldWRITE

Set actual editor gravity, floor and solver parameters. Re-bake in the editor to update motion.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "gravity": {
      "type": "object",
      "properties": {
        "x": {
          "type": "number",
          "minimum": -10000,
          "maximum": 10000
        },
        "y": {
          "type": "number",
          "minimum": -10000,
          "maximum": 10000
        },
        "z": {
          "type": "number",
          "minimum": -10000,
          "maximum": 10000
        }
      },
      "required": [
        "x",
        "y",
        "z"
      ],
      "additionalProperties": false
    },
    "ground": {
      "type": "boolean"
    },
    "groundZ": {
      "type": "number",
      "minimum": -10000,
      "maximum": 10000
    },
    "duration": {
      "anyOf": [
        {
          "type": "number",
          "minimum": 0.1,
          "maximum": 600
        },
        {
          "type": "null"
        }
      ]
    },
    "substeps": {
      "type": "integer",
      "minimum": 1,
      "maximum": 64
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey"
  ],
  "additionalProperties": false
}
add_force_fieldWRITE

Add a real wind, attractor or drag field to an eligible project's simulation setup; re-bake in the editor.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "kind": {
      "type": "string",
      "enum": [
        "wind",
        "attractor",
        "drag"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "kind"
  ],
  "additionalProperties": false
}
update_force_fieldWRITE

Edit a saved force field with bounded physical parameters.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "fieldId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "patch": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "kind": {
          "type": "string",
          "enum": [
            "wind",
            "attractor",
            "drag"
          ]
        },
        "enabled": {
          "type": "boolean"
        },
        "position": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "z": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "additionalProperties": false
        },
        "radius": {
          "type": "number",
          "minimum": 0.01,
          "maximum": 10000
        },
        "strength": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "z": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "fieldId",
    "patch"
  ],
  "additionalProperties": false
}
remove_force_fieldDESTRUCTIVE

Remove one exact force field after confirmation.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "fieldId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "confirm": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "fieldId",
    "confirm"
  ],
  "additionalProperties": false
}
add_physics_jointWRITE

Connect two distinct existing physics-enabled bodies with an editable joint. Re-bake in the editor to update motion.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "bodyA": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "bodyB": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "type": {
      "type": "string",
      "enum": [
        "revolute",
        "prismatic",
        "fixed",
        "spherical",
        "rope",
        "spring"
      ]
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "bodyA",
    "bodyB",
    "type"
  ],
  "additionalProperties": false
}
update_physics_jointWRITE

Edit a saved joint's anchors, axis, limits or spring parameters without changing the attached bodies.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "jointId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "patch": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "revolute",
            "prismatic",
            "fixed",
            "spherical",
            "rope",
            "spring"
          ]
        },
        "anchorA": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "z": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "additionalProperties": false
        },
        "anchorB": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "z": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "additionalProperties": false
        },
        "axis": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "z": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y",
            "z"
          ],
          "additionalProperties": false
        },
        "limitsEnabled": {
          "type": "boolean"
        },
        "limitsMin": {
          "type": "number",
          "minimum": -10000,
          "maximum": 10000
        },
        "limitsMax": {
          "type": "number",
          "minimum": -10000,
          "maximum": 10000
        },
        "length": {
          "type": "number",
          "minimum": 0,
          "maximum": 10000
        },
        "restLength": {
          "type": "number",
          "minimum": 0,
          "maximum": 10000
        },
        "stiffness": {
          "type": "number",
          "minimum": 0,
          "maximum": 10000
        },
        "damping": {
          "type": "number",
          "minimum": 0,
          "maximum": 10000
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "jointId",
    "patch"
  ],
  "additionalProperties": false
}
remove_physics_jointDESTRUCTIVE

Remove one exact physics joint after confirmation.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "jointId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "confirm": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "jointId",
    "confirm"
  ],
  "additionalProperties": false
}
add_timeline_markerWRITE

Save a named, colored marker at a time inside the scene duration.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "time": {
      "type": "number",
      "minimum": 0,
      "maximum": 600
    },
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "color": {
      "default": "#58C4DD",
      "type": "string",
      "pattern": "^#[0-9a-fA-F]{6}$"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "time",
    "label",
    "color"
  ],
  "additionalProperties": false
}
move_timeline_markerWRITE

Change a marker's time, label or color without changing its identity.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "markerId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "time": {
      "type": "number",
      "minimum": 0,
      "maximum": 600
    },
    "label": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "color": {
      "type": "string",
      "pattern": "^#[0-9a-fA-F]{6}$"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "markerId"
  ],
  "additionalProperties": false
}
remove_timeline_markerDESTRUCTIVE

Remove one exact timeline marker after explicit confirmation; scene objects and animations are kept.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "markerId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "confirm": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "markerId",
    "confirm"
  ],
  "additionalProperties": false
}
list_scene_animationsREAD

List actual timeline clips in stable ID order with bounded pagination; inspect one before changing its timing or target.

Scopes: projects.read · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 2000
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "projectId",
    "offset",
    "limit"
  ],
  "additionalProperties": false
}
remove_animationDESTRUCTIVE

Remove one exact timeline clip after confirmation; other clips and the targeted scene object stay intact.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: timeline

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "animationId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "confirm": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "animationId",
    "confirm"
  ],
  "additionalProperties": false
}
remove_scene_objectDESTRUCTIVE

Remove an exact object after confirmation. Camera follow, physics joints, animation targets or mathematical dependencies reject the whole transaction.

Scopes: projects.read, projects.write, scenes.write · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "confirm": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "confirm"
  ],
  "additionalProperties": false
}
configure_fourier_drawingWRITE

Adjust a saved Fourier Drawing's real staged reconstruction, color, wait, metric text and final-outline settings without replacing its validated SVG source.

Scopes: projects.read, projects.write, scenes.write · Widget: curves

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "patch": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "dual",
            "complex"
          ]
        },
        "harmonicMode": {
          "type": "string",
          "enum": [
            "auto",
            "manual"
          ]
        },
        "quality": {
          "type": "string",
          "enum": [
            "draft",
            "balanced",
            "high"
          ]
        },
        "harmonics": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1024
        },
        "staged": {
          "type": "boolean"
        },
        "cycles": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20
        },
        "waitAfterDraw": {
          "type": "number",
          "minimum": 0,
          "maximum": 30
        },
        "speed": {
          "type": "number",
          "minimum": 0.1,
          "maximum": 4
        },
        "startAngle": {
          "type": "number",
          "minimum": -3600,
          "maximum": 3600
        },
        "direction": {
          "anyOf": [
            {
              "type": "number",
              "const": 1
            },
            {
              "type": "number",
              "const": -1
            }
          ]
        },
        "showCircles": {
          "type": "boolean"
        },
        "showSpokes": {
          "type": "boolean"
        },
        "showGuides": {
          "type": "boolean"
        },
        "showFormulas": {
          "type": "boolean"
        },
        "showMetrics": {
          "type": "boolean"
        },
        "finalFill": {
          "type": "boolean"
        },
        "xColor": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$"
        },
        "yColor": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$"
        },
        "traceColor": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$"
        },
        "circleOpacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "guideOpacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "ghostOpacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "traceDecay": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "metricLabels": {
          "type": "array",
          "items": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            }
          ],
          "additionalItems": false,
          "minItems": 3,
          "maxItems": 3
        },
        "metricColors": {
          "type": "array",
          "items": [
            {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            },
            {
              "type": "string",
              "pattern": "^#[0-9a-fA-F]{6}$"
            }
          ],
          "additionalItems": false,
          "minItems": 3,
          "maxItems": 3
        },
        "metricFontFamily": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80,
          "pattern": "^[\\p{L}\\p{N} ._-]+$"
        },
        "metricFontSize": {
          "type": "number",
          "minimum": 8,
          "maximum": 96
        },
        "metricFontStyle": {
          "type": "string",
          "enum": [
            "normal",
            "bold",
            "italic"
          ]
        },
        "metricPosition": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            },
            "y": {
              "type": "number",
              "minimum": -10000,
              "maximum": 10000
            }
          },
          "required": [
            "x",
            "y"
          ],
          "additionalProperties": false
        },
        "anchorGap": {
          "type": "number",
          "minimum": 0,
          "maximum": 10
        },
        "autoFit": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "objectId",
    "patch"
  ],
  "additionalProperties": false
}
preview_at_timeREAD

Evaluate actual object geometry/styles at an absolute timestamp using the shared preview engine. Does not modify the scene.

Scopes: projects.read · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "time": {
      "type": "number",
      "minimum": 0,
      "maximum": 600
    },
    "objectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId",
    "time"
  ],
  "additionalProperties": false
}
inspect_scene_dependenciesREAD

Inspect actual parent, binding, graph-axis, projection and motion-path dependencies without executing expressions.

Scopes: projects.read · Widget: inspector

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "projectId"
  ],
  "additionalProperties": false
}
get_render_capabilitiesREAD

Report the actual client-side preview/export boundary without inventing server jobs or download URLs.

Scopes: Public metadata · Widget: render

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
open_upgrade_pageREAD

Return the canonical existing pricing link. Does not purchase, start a trial, alter billing or emit a purchase event.

Scopes: Public metadata · Widget: plan

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
open_billing_portalREAD

Open existing account billing settings; subscription changes require the normal authenticated website flow.

Scopes: profile.read · Widget: plan

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
undo_last_mcp_changeWRITE

Restore the preceding scene for the latest revision written by this OAuth connection. Requires exact current revision; never undoes another client's edit. Undo is itself a revisioned change, so undo again toggles it back.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey"
  ],
  "additionalProperties": false
}
apply_scene_patchDESTRUCTIVE

Apply at most 25 typed object edits or removals atomically. No arbitrary code or JSON paths. Dangling dependencies reject the entire batch; no partial saves occur. Removal requires explicit confirmation.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "expectedRevision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "operations": {
      "minItems": 1,
      "maxItems": 25,
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "operation": {
                "type": "string",
                "const": "add_object"
              },
              "type": {
                "type": "string",
                "enum": [
                  "fourier_drawing",
                  "arc_polygon",
                  "cutout",
                  "boolean_shape",
                  "mathtypst",
                  "sample_space",
                  "text",
                  "mathtex",
                  "derivation",
                  "vector_field",
                  "path",
                  "layered_matrix",
                  "circle",
                  "ellipse",
                  "square",
                  "rectangle",
                  "rounded_rectangle",
                  "triangle",
                  "regular_polygon",
                  "polygon",
                  "arc",
                  "sector",
                  "line",
                  "arrow",
                  "double_arrow",
                  "curved_arrow",
                  "brace",
                  "angle_marker",
                  "venn",
                  "probability_tree",
                  "dot",
                  "vector",
                  "number_line",
                  "axes",
                  "number_plane",
                  "complex_plane",
                  "function_graph",
                  "parametric_function",
                  "polar_graph",
                  "implicit_curve",
                  "star",
                  "annulus",
                  "annular_sector",
                  "sphere",
                  "ellipsoid",
                  "cube",
                  "prism",
                  "cone",
                  "cylinder",
                  "torus",
                  "threed_axes",
                  "surface3d",
                  "line3d",
                  "arrow3d",
                  "dot3d",
                  "parametric_surface",
                  "parametric_curve3d",
                  "polyhedron",
                  "image",
                  "svg",
                  "video",
                  "counter",
                  "graph",
                  "table",
                  "code",
                  "matrix",
                  "bar_chart",
                  "pie_chart",
                  "box_plot",
                  "callout",
                  "highlight",
                  "group"
                ]
              },
              "properties": {
                "default": {},
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "maxLength": 80
                },
                "additionalProperties": {
                  "$ref": "#/definitions/__schema0"
                }
              }
            },
            "required": [
              "operation",
              "type",
              "properties"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "operation": {
                "type": "string",
                "const": "update_object"
              },
              "objectId": {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,80}$"
              },
              "patch": {
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "maxLength": 80
                },
                "additionalProperties": {
                  "$ref": "#/definitions/__schema0"
                }
              }
            },
            "required": [
              "operation",
              "objectId",
              "patch"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "operation": {
                "type": "string",
                "const": "remove_object"
              },
              "objectId": {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,80}$"
              }
            },
            "required": [
              "operation",
              "objectId"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "operation": {
                "type": "string",
                "const": "remove_animation"
              },
              "animationId": {
                "type": "string",
                "pattern": "^[A-Za-z0-9_-]{1,80}$"
              }
            },
            "required": [
              "operation",
              "animationId"
            ],
            "additionalProperties": false
          }
        ]
      }
    },
    "confirmRemoval": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "projectId",
    "expectedRevision",
    "requestKey",
    "operations",
    "confirmRemoval"
  ],
  "additionalProperties": false,
  "definitions": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/definitions/__schema0"
          }
        }
      ]
    }
  }
}
list_templatesREAD

List the existing editor's actual template catalog. Creation validates every resulting object against your current plan.

Scopes: Public metadata · Widget: templates

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
preview_templateREAD

Build a real template with shared editor builders without saving a project or charging AI quota. Template simulation is not baked by this tool.

Scopes: Public metadata · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "templateId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    }
  },
  "required": [
    "templateId"
  ],
  "additionalProperties": false
}
create_project_from_templateWRITE

Build a named, editable project using the exact existing editor template builder. Current plan, quotas, dependencies and persistence validation apply. Does not silently bake physics.

Scopes: projects.read, projects.write, scenes.write, animations.write · Widget: scene

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "templateId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "requestKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "name",
    "templateId",
    "requestKey"
  ],
  "additionalProperties": false
}
search_documentationREAD

Search the actual public documentation manifest with useful descriptions and working links. Does not invent unsupported features.

Scopes: Public metadata · Widget: learning

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "default": 6,
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    }
  },
  "required": [
    "query",
    "limit"
  ],
  "additionalProperties": false
}
get_feature_documentationREAD

Read a real, manifest-validated editor guide in English or Uzbek with a canonical source URL. Missing translations explicitly fall back to English.

Scopes: Public metadata · Widget: learning

Input JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "section": {
      "type": "string",
      "enum": [
        "tutorials",
        "how-to",
        "reference",
        "explanation"
      ]
    },
    "slug": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,80}$"
    },
    "language": {
      "default": "en",
      "type": "string",
      "enum": [
        "en",
        "uz"
      ]
    }
  },
  "required": [
    "section",
    "slug",
    "language"
  ],
  "additionalProperties": false
}