{"apiVersion":"v1","directorySlug":"fluvie-mcp-ca79e5c017","title":"Fluvie — you write widgets, Fluvie shoots the film","description":"Fluvie is an open-source Dart library that renders a declarative Flutter widget tree to a real MP4. You say what the video is; Fluvie works out when everything happens, frame by frame. Deterministic, headless, MIT.","pageUrl":"https://www.mcpbundles.com/skills/fluvie-mcp-ca79e5c017","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.fluvie.dev/mcp","hostedMcpUrl":null,"toolCount":11,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"dev.fluvie/fluvie-mcp-ca79e5c017","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"list_docs","description":"List every Fluvie documentation page as {path, title}. Use a path with get_doc to read a page in full.","inputSchema":{"type":"object","properties":{}},"logicalName":"list_docs","displayName":"list_docs","title":"list_docs","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search_docs","description":"Full-text search the Fluvie documentation. Returns the best matching pages as {path, title, snippet}; read a page with get_doc.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer"},"query":{"type":"string"}}},"logicalName":"search_docs","displayName":"search_docs","title":"search_docs","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_doc","description":"Read one Fluvie documentation page in full by its path (from list_docs or search_docs).","inputSchema":{"type":"object","required":["path"],"properties":{"path":{"type":"string"}}},"logicalName":"get_doc","displayName":"get_doc","title":"get_doc","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"init_project","description":"Start a new Fluvie project or add a Fluvie composition written in real Flutter/Dart widget code (not a JSON VideoSpec). Use this when the user asks for \"Flutter style\", \"real code\", \"Dart code\", or to set up, bootstrap, or start a Fluvie project. Returns the starter composition, the pubspec dependencies, the `fluvie init` command, and the run/render/test steps.","inputSchema":{"type":"object","properties":{}},"logicalName":"init_project","displayName":"init_project","title":"init_project","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate_video","description":"Author a Fluvie video from a natural-language prompt and render it. Returns a download URL. This authors a JSON VideoSpec; if the user asks for real Flutter/Dart widget code or to start a project, use init_project instead.","inputSchema":{"type":"object","required":["prompt"],"properties":{"aspect":{"type":"string"},"format":{"type":"string"},"prompt":{"type":"string"},"provider":{"type":"string"}}},"logicalName":"generate_video","displayName":"generate_video","title":"generate_video","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"edit_video","description":"Refine an existing Fluvie VideoSpec with a natural-language change, then render it. Returns a download URL.","inputSchema":{"type":"object","required":["base","change"],"properties":{"base":{"type":"object"},"aspect":{"type":"string"},"change":{"type":"string"},"provider":{"type":"string"}}},"logicalName":"edit_video","displayName":"edit_video","title":"edit_video","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"validate_code","description":"Statically check Fluvie Dart code (a top-level `Video build()` written in real Flutter widget code) before rendering. Returns analyzer diagnostics; it never runs the code. Use it to verify the format of a Flutter-style / real-code composition before you render or scaffold it.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}},"logicalName":"validate_code","displayName":"validate_code","title":"validate_code","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"render_video","description":"Render a Fluvie VideoSpec (JSON) to a video. Returns a download URL.","inputSchema":{"type":"object","required":["spec"],"properties":{"spec":{"type":"object"},"aspect":{"type":"string"},"format":{"type":"string"}}},"logicalName":"render_video","displayName":"render_video","title":"render_video","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"render_composition","description":"Render a composition registered in the render project by its key (for example \"demo\" or a lesson key). Returns a download URL.","inputSchema":{"type":"object","required":["key"],"properties":{"key":{"type":"string"},"aspect":{"type":"string"},"format":{"type":"string"}}},"logicalName":"render_composition","displayName":"render_composition","title":"render_composition","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_video_spec_schema","description":"Fetch the Fluvie VideoSpec JSON Schema so you can author valid specs.","inputSchema":{"type":"object","properties":{}},"logicalName":"get_video_spec_schema","displayName":"get_video_spec_schema","title":"get_video_spec_schema","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spec_to_dart","description":"Convert a Fluvie VideoSpec (JSON) into an editable, Flutter-style Dart `Video build()` snippet — the same code the Playground shows. A pure transformation: it never calls an LLM or renders. Use it to turn an authored or hand-written spec into real widget code a user can edit.","inputSchema":{"type":"object","required":["spec"],"properties":{"spec":{"type":"object"}}},"logicalName":"spec_to_dart","displayName":"spec_to_dart","title":"spec_to_dart","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Fluvie-you-write-widgets-Fluvie-shoots-the-film&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuZmx1dmllLmRldi9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Fluvie-you-write-widgets-Fluvie-shoots-the-film%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.fluvie.dev%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Fluvie-you-write-widgets-Fluvie-shoots-the-film%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.fluvie.dev%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Fluvie+%E2%80%94+you+write+widgets%2C+Fluvie+shoots+the+film&connectorUrl=https%3A%2F%2Fmcp.fluvie.dev%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Fluvie-you-write-widgets-Fluvie-shoots-the-film\" --url \"https://mcp.fluvie.dev/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/fluvie-mcp-ca79e5c017","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/fluvie-mcp-ca79e5c017/tools/{tool}","mcpServerUrl":"https://mcp.fluvie.dev/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/fluvie-mcp-ca79e5c017?live=1"}