remotion_list_components
Discover available video components for creating professional YouTube videos. Browse categorized building blocks with schemas, properties, and usage examples to plan your video composition.
Instructions
List available Remotion video components with their schemas.
Returns all available components organized by category. Each component
includes its variants, properties, and usage examples. This helps LLMs
discover what building blocks are available for video creation.
Args:
category: Optional category filter (scene, overlay, animation, chart, layout)
If not specified, returns all categories
Returns:
JSON object with component definitions organized by category
Example:
components = await remotion_list_components()
# Returns all available components
overlay_components = await remotion_list_components(category="overlay")
# Returns only overlay components (lower thirds, captions, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | No |
Implementation Reference
- src/chuk_motion/server.py:64-98 (handler)The handler function for the 'remotion_list_components' MCP tool. Decorated with @mcp.tool for automatic registration with the MCP server. Retrieves components from COMPONENT_REGISTRY, filters by optional category, and returns pretty-printed JSON.@mcp.tool # type: ignore[arg-type] async def remotion_list_components(category: str | None = None) -> str: """ List available Remotion video components with their schemas. Returns all available components organized by category. Each component includes its variants, properties, and usage examples. This helps LLMs discover what building blocks are available for video creation. Args: category: Optional category filter (scene, overlay, animation, chart, layout) If not specified, returns all categories Returns: JSON object with component definitions organized by category Example: components = await remotion_list_components() # Returns all available components overlay_components = await remotion_list_components(category="overlay") # Returns only overlay components (lower thirds, captions, etc.) """ def _list(): if category: filtered = { name: comp for name, comp in COMPONENT_REGISTRY.items() if comp.get("category") == category } return json.dumps(filtered, indent=2) return json.dumps(COMPONENT_REGISTRY, indent=2) return await asyncio.get_event_loop().run_in_executor(None, _list)