{"apiVersion":"v1","directorySlug":"manimlabs-mcp-d913eda5c7","title":"ManimLabs","description":"Build mathematical scenes visually, animate on a timeline, preview each step, and render final videos with Manim.","pageUrl":"https://www.mcpbundles.com/skills/manimlabs-mcp-d913eda5c7","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://www.manimlabs.com/api/mcp","hostedMcpUrl":null,"toolCount":70,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.manimlabs/manimlabs-mcp-d913eda5c7","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_manimlabs_capabilities","description":"Discover actual object types, animation presets, deployed feature flags and truthful render infrastructure before creating a scene.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"ManimLabs capabilities","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_manimlabs_capabilities","displayName":"ManimLabs capabilities"},{"name":"get_my_profile","description":"Read the linked account's display identity, without exposing credentials, billing data or staff permissions.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"My ManimLabs profile","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_profile","displayName":"My ManimLabs profile"},{"name":"get_connection_status","description":"Inspect this OAuth connection's permissions; never assumes browser or Desktop Agent connectivity.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Connection status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_connection_status","displayName":"Connection status"},{"name":"get_my_plan_and_limits","description":"Read current server-authoritative plan limits and recorded usage. Null limits mean unlimited; native compute availability is separate.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Plan and usage","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_plan_and_limits","displayName":"Plan and usage"},{"name":"check_capability","description":"Check object creation or a named authoritative plan feature before attempting it. Permission is distinct from host support.","inputSchema":{"type":"object","properties":{"feature":{"enum":["physics","svgImport","codeExport","shareProject","parametricShapes","proFormats","transformAnims"],"type":"string"},"objectType":{"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"],"type":"string"}},"additionalProperties":false},"title":"Check a capability","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_capability","displayName":"Check a capability"},{"name":"list_supported_formats","description":"Distinguish editor formats from capability-detected browser export in a supported MCP Apps host.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Supported formats","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_supported_formats","displayName":"Supported formats"},{"name":"inspect_object_schema","description":"Get the canonical JSON Schema and editable timeline properties for an actual editor object type. Inspect before changing object-specific fields.","inputSchema":{"type":"object","required":["type"],"properties":{"type":{"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"],"type":"string"}},"additionalProperties":false},"title":"Inspect object properties","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"inspect_object_schema","displayName":"Inspect object properties"},{"name":"list_animation_presets","description":"Discover the real registered animation presets; these builders are shared with the editor.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Animation presets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_animation_presets","displayName":"Animation presets"},{"name":"list_educational_examples","description":"List existing genuine editor starters and their working editor links. This does not create a cloud project.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Educational starters","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_educational_examples","displayName":"Educational starters"},{"name":"list_fourier_presets","description":"List the five real SVG outline presets implemented by Fourier Drawing. Series Decomposition Studio is not enabled.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Fourier Drawing presets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_fourier_presets","displayName":"Fourier Drawing presets"},{"name":"list_projects","description":"List only projects owned by this account, with bounded cursor pagination. No private thumbnails or full scenes are fetched by default.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":12,"maximum":25,"minimum":1},"cursor":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"My projects","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_projects","displayName":"My projects"},{"name":"get_project","description":"Read a saved project's summary and exact editable object IDs. Full geometry is supplied to the trusted widget rather than dumped into chat.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Inspect project","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_project","displayName":"Inspect project"},{"name":"get_scene_summary","description":"Read scene duration, object/animation counts, current revision and a canonical editor link.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Scene summary","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_scene_summary","displayName":"Scene summary"},{"name":"get_scene_object","description":"Read one exact object and its editable animation properties, scoped to an owned project.","inputSchema":{"type":"object","required":["projectId","objectId"],"properties":{"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Inspect scene object","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_scene_object","displayName":"Inspect scene object"},{"name":"get_scene_playback_data","description":"Open an authentic preview of the saved scene in supported MCP Apps hosts. Playback does not save or start a native render.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Interactive scene preview","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_scene_playback_data","displayName":"Interactive scene preview"},{"name":"get_browser_export_policy","description":"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.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Authorize browser export","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_browser_export_policy","displayName":"Authorize browser export"},{"name":"open_project_in_editor","description":"Return the canonical link to the exact owned cloud project, preserving its saved identity.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Open in ManimLabs editor","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"open_project_in_editor","displayName":"Open in ManimLabs editor"},{"name":"create_project","description":"Create a named, genuinely cloud-saved editor project. This pure creation does not consume AI generation quota. Retry with the same requestKey.","inputSchema":{"type":"object","required":["name","requestKey"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1},"duration":{"type":"number","default":6,"maximum":600,"minimum":0.1},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"}},"additionalProperties":false},"title":"Create editable project","logicalName":"create_project","displayName":"Create editable project","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rename_project","description":"Rename both the saved project and its Projects title atomically, requiring the current revision.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","name"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Rename project","logicalName":"rename_project","displayName":"Rename project","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_scene_object","description":"Add a real editor object using shared factory defaults and canonical property validation. Includes the exact cloud revision after saving.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","type"],"properties":{"type":{"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"],"type":"string"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"properties":{"type":"object","default":{},"propertyNames":{"type":"string","maxLength":80},"additionalProperties":{}},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Add scene object","logicalName":"add_scene_object","displayName":"Add scene object","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_scene_object","description":"Edit canonical object fields; ID/type cannot be changed. Object-specific fields are checked against the authoritative editor schema.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","patch"],"properties":{"patch":{"type":"object","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{}},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit scene object","logicalName":"update_scene_object","displayName":"Edit scene object","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"duplicate_scene_object","description":"Create an independently editable object copy in the same project; existing animation targets are preserved.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId"],"properties":{"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Duplicate object","logicalName":"duplicate_scene_object","displayName":"Duplicate object","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_visibility","description":"Change the saved visibility of an exact scene object.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","visible"],"properties":{"visible":{"type":"boolean"},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Show or hide an object","logicalName":"set_visibility","displayName":"Show or hide an object","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_locked","description":"Change the saved editor lock state of an exact scene object.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","locked"],"properties":{"locked":{"type":"boolean"},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Lock or unlock an object","logicalName":"set_locked","displayName":"Lock or unlock an object","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_object_style","description":"Edit fill, stroke, opacity and line width without changing object geometry or identity.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","style"],"properties":{"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","maximum":1,"minimum":0},"fillOpacity":{"type":"number","maximum":1,"minimum":0},"strokeWidth":{"type":"number","maximum":100,"minimum":0}},"additionalProperties":false},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Style an object","logicalName":"set_object_style","displayName":"Style an object","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_parent","description":"Attach an object to an existing group or detach it; cycles and invalid parent types are rejected.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","parentId"],"properties":{"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"parentId":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},{"type":"null"}]},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Group parent","logicalName":"set_parent","displayName":"Group parent","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"arrange_layers","description":"Set the exact layer order; must contain every existing object ID once.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectOrder"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"objectOrder":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"maxItems":500},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Reorder layers","logicalName":"arrange_layers","displayName":"Reorder layers","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_animation","description":"Add a complete registered editor AnimationEvent to the timeline. Canonical schema, targets, timing, flags and plan gates are enforced.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","event"],"properties":{"event":{"type":"object","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{}},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Add animation clip","logicalName":"add_animation","displayName":"Add animation clip","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_animation_preset","description":"Build a real editor preset for an existing object and save its clips to the timeline.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","presetId","start"],"properties":{"start":{"type":"number","maximum":600,"minimum":0},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"presetId":{"type":"string","maxLength":80},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Apply animation preset","logicalName":"add_animation_preset","displayName":"Apply animation preset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_animation","description":"Edit timing, easing and registered event fields on an exact saved timeline clip.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","animationId","patch"],"properties":{"patch":{"type":"object","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{}},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"animationId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit animation clip","logicalName":"update_animation","displayName":"Edit animation clip","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_keyframe","description":"Insert or update an exact frame-snapped multi-keyframe channel using the editor's shared channel engine.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","property","time","value"],"properties":{"time":{"type":"number","maximum":600,"minimum":0},"value":{"type":"number","maximum":100000,"minimum":-100000},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"property":{"enum":["position.x","position.y","scale.x","scale.y","rotation","opacity","position.z","rotation.x","rotation.y"],"type":"string"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"interpolation":{"enum":["linear","hold","ease","easeIn","easeOut","easeInOut","bezier"],"type":"string","default":"linear"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Add timeline keyframe","logicalName":"add_keyframe","displayName":"Add timeline keyframe","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"move_keyframes","description":"Move selected channel keys by an integer frame delta using shared frame collision rules.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","keyIds","deltaFrames"],"properties":{"keyIds":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"maxItems":100,"minItems":1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"deltaFrames":{"type":"integer","maximum":36000,"minimum":-36000},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Move keyframes","logicalName":"move_keyframes","displayName":"Move keyframes","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_keyframes","description":"Remove explicitly selected channel keys from an editable scene; changes remain revisioned in the MCP journal.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","keyIds"],"properties":{"keyIds":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"maxItems":100,"minItems":1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Delete keyframes","logicalName":"delete_keyframes","displayName":"Delete keyframes","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_timeline_duration","description":"Set scene duration; shortening beneath existing clips, markers or channel keys is rejected instead of silently truncating them.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","duration"],"properties":{"duration":{"type":"number","maximum":600,"minimum":0.1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Set scene duration","logicalName":"set_timeline_duration","displayName":"Set scene duration","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_editor_configuration","description":"Read exact scene background, output settings, cameras, timeline markers and preview-only 3D lights from an owned project.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Inspect editor configuration","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_editor_configuration","displayName":"Inspect editor configuration"},{"name":"set_scene_background","description":"Change the actual editor and native scene background color without accepting a remote image URL.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","color"],"properties":{"color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Set scene background","logicalName":"set_scene_background","displayName":"Set scene background","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_output_settings","description":"Save aspect ratio, resolution, frame rate and export format under the current verified plan. This does not start a render.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey"],"properties":{"fps":{"anyOf":[{"type":"number","const":24},{"type":"number","const":30},{"type":"number","const":60}]},"aspect":{"enum":["16:9","9:16","1:1","4:5","4:3","21:9"],"type":"string"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"resolution":{"enum":["480p","720p","1080p","1440p","2160p"],"type":"string"},"outputFormat":{"enum":["mp4","gif","webm_alpha"],"type":"string"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0},"watermarkEnabled":{"type":"boolean"}},"additionalProperties":false},"title":"Set project output settings","logicalName":"set_output_settings","displayName":"Set project output settings","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_camera_2d","description":"Set the editor's scene camera position, zoom, rotation or follow target. A follow target must be an existing 2D object.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey"],"properties":{"zoom":{"type":"number","maximum":100,"minimum":0.05},"position":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"rotation":{"type":"number","maximum":3600,"minimum":-3600},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"followObjectId":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},{"type":"null"}]},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Move the 2D camera","logicalName":"set_camera_2d","displayName":"Move the 2D camera","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_camera_3d","description":"Edit initial 3D orientation and preview camera optics. Preview depth of field and clip planes may differ from native Manim.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey"],"properties":{"fov":{"type":"number","maximum":140,"minimum":10},"phi":{"type":"number","maximum":180,"minimum":0},"theta":{"type":"number","maximum":3600,"minimum":-3600},"farClip":{"type":"number","maximum":100000,"minimum":0.01},"aperture":{"type":"number","maximum":10,"minimum":0},"nearClip":{"type":"number","maximum":10000,"minimum":0.001},"safeArea":{"type":"boolean"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"focalDistance":{"type":"number","maximum":10000,"minimum":0.01},"ambientRotation":{"type":"number","maximum":720,"minimum":-720},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Orient the 3D camera","logicalName":"set_camera_3d","displayName":"Orient the 3D camera","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_3d_viewport","description":"Change editor-only floor, axes and depth guides. These aids are not emitted as native scene objects.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey"],"properties":{"axes":{"type":"boolean"},"floor":{"enum":["grid","dots","polar","isometric","solid","none"],"type":"string"},"extent":{"type":"number","maximum":100,"minimum":0.1},"spacing":{"type":"number","maximum":20,"minimum":0.05},"dropLines":{"type":"boolean"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"horizonFade":{"type":"boolean"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Configure 3D viewport guides","logicalName":"set_3d_viewport","displayName":"Configure 3D viewport guides","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_3d_light","description":"Add an editor WebGL light. Lighting is preview-only and is not compiled into native Cairo renders.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","kind"],"properties":{"kind":{"enum":["point","sun","spot","area"],"type":"string"},"name":{"type":"string","maxLength":80,"minLength":1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Add preview light","logicalName":"add_3d_light","displayName":"Add preview light","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_3d_light","description":"Edit a saved WebGL preview light; no native Manim lighting claim is made.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","lightId","patch"],"properties":{"patch":{"type":"object","properties":{"name":{"type":"string","maxLength":80,"minLength":1},"angle":{"type":"number","maximum":179,"minimum":0.1},"color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"range":{"type":"number","maximum":10000,"minimum":0},"width":{"type":"number","maximum":1000,"minimum":0.01},"height":{"type":"number","maximum":1000,"minimum":0.01},"radius":{"type":"number","maximum":1000,"minimum":0},"target":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"visible":{"type":"boolean"},"penumbra":{"type":"number","maximum":1,"minimum":0},"position":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"intensity":{"type":"number","maximum":1000,"minimum":0},"castShadow":{"type":"boolean"}},"additionalProperties":false},"lightId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit preview light","logicalName":"update_3d_light","displayName":"Edit preview light","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_3d_light","description":"Remove one WebGL preview light after explicit confirmation.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","lightId","confirm"],"properties":{"confirm":{"type":"boolean","const":true},"lightId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Remove preview light","logicalName":"remove_3d_light","displayName":"Remove preview light","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_physics_configuration","description":"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.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Inspect physics setup","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_physics_configuration","displayName":"Inspect physics setup"},{"name":"set_physics_world","description":"Set actual editor gravity, floor and solver parameters. Re-bake in the editor to update motion.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey"],"properties":{"ground":{"type":"boolean"},"gravity":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"groundZ":{"type":"number","maximum":10000,"minimum":-10000},"duration":{"anyOf":[{"type":"number","maximum":600,"minimum":0.1},{"type":"null"}]},"substeps":{"type":"integer","maximum":64,"minimum":1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit physics world","logicalName":"set_physics_world","displayName":"Edit physics world","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_force_field","description":"Add a real wind, attractor or drag field to an eligible project's simulation setup; re-bake in the editor.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","kind"],"properties":{"kind":{"enum":["wind","attractor","drag"],"type":"string"},"name":{"type":"string","maxLength":80,"minLength":1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Add physics force field","logicalName":"add_force_field","displayName":"Add physics force field","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_force_field","description":"Edit a saved force field with bounded physical parameters.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","fieldId","patch"],"properties":{"patch":{"type":"object","properties":{"kind":{"enum":["wind","attractor","drag"],"type":"string"},"name":{"type":"string","maxLength":80,"minLength":1},"radius":{"type":"number","maximum":10000,"minimum":0.01},"enabled":{"type":"boolean"},"position":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"strength":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false}},"additionalProperties":false},"fieldId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit physics force field","logicalName":"update_force_field","displayName":"Edit physics force field","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_force_field","description":"Remove one exact force field after confirmation.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","fieldId","confirm"],"properties":{"confirm":{"type":"boolean","const":true},"fieldId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Remove physics force field","logicalName":"remove_force_field","displayName":"Remove physics force field","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_physics_joint","description":"Connect two distinct existing physics-enabled bodies with an editable joint. Re-bake in the editor to update motion.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","bodyA","bodyB","type"],"properties":{"type":{"enum":["revolute","prismatic","fixed","spherical","rope","spring"],"type":"string"},"bodyA":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"bodyB":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Connect physics bodies","logicalName":"add_physics_joint","displayName":"Connect physics bodies","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_physics_joint","description":"Edit a saved joint's anchors, axis, limits or spring parameters without changing the attached bodies.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","jointId","patch"],"properties":{"patch":{"type":"object","properties":{"axis":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"type":{"enum":["revolute","prismatic","fixed","spherical","rope","spring"],"type":"string"},"length":{"type":"number","maximum":10000,"minimum":0},"anchorA":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"anchorB":{"type":"object","required":["x","y","z"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000},"z":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"damping":{"type":"number","maximum":10000,"minimum":0},"limitsMax":{"type":"number","maximum":10000,"minimum":-10000},"limitsMin":{"type":"number","maximum":10000,"minimum":-10000},"stiffness":{"type":"number","maximum":10000,"minimum":0},"restLength":{"type":"number","maximum":10000,"minimum":0},"limitsEnabled":{"type":"boolean"}},"additionalProperties":false},"jointId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit physics joint","logicalName":"update_physics_joint","displayName":"Edit physics joint","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_physics_joint","description":"Remove one exact physics joint after confirmation.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","jointId","confirm"],"properties":{"confirm":{"type":"boolean","const":true},"jointId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Remove physics joint","logicalName":"remove_physics_joint","displayName":"Remove physics joint","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_timeline_marker","description":"Save a named, colored marker at a time inside the scene duration.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","time","label"],"properties":{"time":{"type":"number","maximum":600,"minimum":0},"color":{"type":"string","default":"#58C4DD","pattern":"^#[0-9a-fA-F]{6}$"},"label":{"type":"string","maxLength":80,"minLength":1},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Add timeline marker","logicalName":"add_timeline_marker","displayName":"Add timeline marker","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"move_timeline_marker","description":"Change a marker's time, label or color without changing its identity.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","markerId"],"properties":{"time":{"type":"number","maximum":600,"minimum":0},"color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"label":{"type":"string","maxLength":80,"minLength":1},"markerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit timeline marker","logicalName":"move_timeline_marker","displayName":"Edit timeline marker","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_timeline_marker","description":"Remove one exact timeline marker after explicit confirmation; scene objects and animations are kept.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","markerId","confirm"],"properties":{"confirm":{"type":"boolean","const":true},"markerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Remove timeline marker","logicalName":"remove_timeline_marker","displayName":"Remove timeline marker","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_scene_animations","description":"List actual timeline clips in stable ID order with bounded pagination; inspect one before changing its timing or target.","inputSchema":{"type":"object","required":["projectId"],"properties":{"limit":{"type":"integer","default":20,"maximum":50,"minimum":1},"offset":{"type":"integer","default":0,"maximum":2000,"minimum":0},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Inspect timeline clips","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_scene_animations","displayName":"Inspect timeline clips"},{"name":"remove_animation","description":"Remove one exact timeline clip after confirmation; other clips and the targeted scene object stay intact.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","animationId","confirm"],"properties":{"confirm":{"type":"boolean","const":true},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"animationId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Remove animation clip","logicalName":"remove_animation","displayName":"Remove animation clip","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_scene_object","description":"Remove an exact object after confirmation. Camera follow, physics joints, animation targets or mathematical dependencies reject the whole transaction.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","confirm"],"properties":{"confirm":{"type":"boolean","const":true},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Remove scene object","logicalName":"remove_scene_object","displayName":"Remove scene object","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"configure_fourier_drawing","description":"Adjust a saved Fourier Drawing's real staged reconstruction, color, wait, metric text and final-outline settings without replacing its validated SVG source.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey","objectId","patch"],"properties":{"patch":{"type":"object","properties":{"mode":{"enum":["dual","complex"],"type":"string"},"speed":{"type":"number","maximum":4,"minimum":0.1},"cycles":{"type":"integer","maximum":20,"minimum":1},"staged":{"type":"boolean"},"xColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"yColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"autoFit":{"type":"boolean"},"quality":{"enum":["draft","balanced","high"],"type":"string"},"anchorGap":{"type":"number","maximum":10,"minimum":0},"direction":{"anyOf":[{"type":"number","const":1},{"type":"number","const":-1}]},"finalFill":{"type":"boolean"},"harmonics":{"type":"integer","maximum":1024,"minimum":1},"showGuides":{"type":"boolean"},"showSpokes":{"type":"boolean"},"startAngle":{"type":"number","maximum":3600,"minimum":-3600},"traceColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"traceDecay":{"type":"number","maximum":1,"minimum":0},"showCircles":{"type":"boolean"},"showMetrics":{"type":"boolean"},"ghostOpacity":{"type":"number","maximum":1,"minimum":0},"guideOpacity":{"type":"number","maximum":1,"minimum":0},"harmonicMode":{"enum":["auto","manual"],"type":"string"},"metricColors":{"type":"array","items":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"maxItems":3,"minItems":3},"metricLabels":{"type":"array","items":{"type":"string","maxLength":40,"minLength":1},"maxItems":3,"minItems":3},"showFormulas":{"type":"boolean"},"circleOpacity":{"type":"number","maximum":1,"minimum":0},"waitAfterDraw":{"type":"number","maximum":30,"minimum":0},"metricFontSize":{"type":"number","maximum":96,"minimum":8},"metricPosition":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","maximum":10000,"minimum":-10000},"y":{"type":"number","maximum":10000,"minimum":-10000}},"additionalProperties":false},"metricFontStyle":{"enum":["normal","bold","italic"],"type":"string"},"metricFontFamily":{"type":"string","maxLength":80,"minLength":1}},"additionalProperties":false},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Edit Fourier Drawing","logicalName":"configure_fourier_drawing","displayName":"Edit Fourier Drawing","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"preview_at_time","description":"Evaluate actual object geometry/styles at an absolute timestamp using the shared preview engine. Does not modify the scene.","inputSchema":{"type":"object","required":["projectId","time"],"properties":{"time":{"type":"number","maximum":600,"minimum":0},"objectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Inspect preview at time","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"preview_at_time","displayName":"Inspect preview at time"},{"name":"inspect_scene_dependencies","description":"Inspect actual parent, binding, graph-axis, projection and motion-path dependencies without executing expressions.","inputSchema":{"type":"object","required":["projectId"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Scene dependency graph","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"inspect_scene_dependencies","displayName":"Scene dependency graph"},{"name":"get_render_capabilities","description":"Report the actual client-side preview/export boundary without inventing server jobs or download URLs.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Browser preview and export","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_render_capabilities","displayName":"Browser preview and export"},{"name":"open_upgrade_page","description":"Return the canonical existing pricing link. Does not purchase, start a trial, alter billing or emit a purchase event.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Compare ManimLabs plans","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"open_upgrade_page","displayName":"Compare ManimLabs plans"},{"name":"open_billing_portal","description":"Open existing account billing settings; subscription changes require the normal authenticated website flow.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Open account billing","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"open_billing_portal","displayName":"Open account billing"},{"name":"undo_last_mcp_change","description":"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.","inputSchema":{"type":"object","required":["projectId","expectedRevision","requestKey"],"properties":{"projectId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"expectedRevision":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"title":"Undo the latest app edit","logicalName":"undo_last_mcp_change","displayName":"Undo the latest app edit","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_templates","description":"List the existing editor's actual template catalog. Creation validates every resulting object against your current plan.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Editable scene templates","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_templates","displayName":"Editable scene templates"},{"name":"preview_template","description":"Build a real template with shared editor builders without saving a project or charging AI quota. Template simulation is not baked by this tool.","inputSchema":{"type":"object","required":["templateId"],"properties":{"templateId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Preview an editable template","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"preview_template","displayName":"Preview an editable template"},{"name":"create_project_from_template","description":"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.","inputSchema":{"type":"object","required":["name","templateId","requestKey"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1},"requestKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,100}$"},"templateId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"}},"additionalProperties":false},"title":"Create a project from a template","logicalName":"create_project_from_template","displayName":"Create a project from a template","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search_documentation","description":"Search the actual public documentation manifest with useful descriptions and working links. Does not invent unsupported features.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":6,"maximum":12,"minimum":1},"query":{"type":"string","maxLength":100,"minLength":1}},"additionalProperties":false},"title":"Search editor documentation","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_documentation","displayName":"Search editor documentation"},{"name":"get_feature_documentation","description":"Read a real, manifest-validated editor guide in English or Uzbek with a canonical source URL. Missing translations explicitly fall back to English.","inputSchema":{"type":"object","required":["section","slug"],"properties":{"slug":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,80}$"},"section":{"enum":["tutorials","how-to","reference","explanation"],"type":"string"},"language":{"enum":["en","uz"],"type":"string","default":"en"}},"additionalProperties":false},"title":"Read feature documentation","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_feature_documentation","displayName":"Read feature documentation"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=ManimLabs&config=eyJ1cmwiOiAiaHR0cHM6Ly93d3cubWFuaW1sYWJzLmNvbS9hcGkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22ManimLabs%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.manimlabs.com%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22ManimLabs%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.manimlabs.com%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=ManimLabs&connectorUrl=https%3A%2F%2Fwww.manimlabs.com%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"ManimLabs\" --url \"https://www.manimlabs.com/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/manimlabs-mcp-d913eda5c7","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/manimlabs-mcp-d913eda5c7/tools/{tool}","mcpServerUrl":"https://www.manimlabs.com/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/manimlabs-mcp-d913eda5c7?live=1"}