remotion_search_components
Search for video components by name or description to find the right elements for your Remotion video projects when you know what you need but not the exact component name.
Instructions
Search for components by name or description.
Performs a case-insensitive search across component names and descriptions.
Useful when you know what you want but not the exact component name.
Args:
query: Search term to match against component names and descriptions
Returns:
JSON object with matching components and their details
Example:
results = await remotion_search_components(query="text")
# Returns all components with "text" in name or description
# (TitleScene, TextOverlay, TextAnimation, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Implementation Reference
- src/chuk_motion/server.py:101-142 (handler)The primary handler implementation for the 'remotion_search_components' tool. This async function searches the COMPONENT_REGISTRY for components matching the query in name, description, or category, and returns results as formatted JSON. The @mcp.tool decorator registers it as an MCP tool.@mcp.tool # type: ignore[arg-type] async def remotion_search_components(query: str) -> str: """ Search for components by name or description. Performs a case-insensitive search across component names and descriptions. Useful when you know what you want but not the exact component name. Args: query: Search term to match against component names and descriptions Returns: JSON object with matching components and their details Example: results = await remotion_search_components(query="text") # Returns all components with "text" in name or description # (TitleScene, TextOverlay, TextAnimation, etc.) """ def _search(): query_lower = query.lower() results = {} for name, comp in COMPONENT_REGISTRY.items(): # Search in component name if query_lower in name.lower(): results[name] = comp continue # Search in description if query_lower in comp.get("description", "").lower(): results[name] = comp continue # Search in category if query_lower in comp.get("category", "").lower(): results[name] = comp return json.dumps(results, indent=2) return await asyncio.get_event_loop().run_in_executor(None, _search)
- src/chuk_motion/server.py:101-101 (registration)The @mcp.tool decorator on the handler function registers 'remotion_search_components' as an available MCP tool.@mcp.tool # type: ignore[arg-type]