accueil / serveurs / Dev & Code / io.github.r4v3n-art/nova-cast
io.github.r4v3n-art/nova-cast
serveur MCP (Model Context Protocol) · nova-canvas 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.r4v3n-art/nova-cast est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.r4v3n-art/nova-cast » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 28 outils
- cancel_operation≈ 154 tokens
Cancels a queued component update and removes its source. Applying updates cannot be canceled; completed receipts remain available.
Paramètres, retour & exemple (2)
ParamètresoperationID· string · requiscontrolToken· string · requis
Exemple d'appel{"name": "cancel_operation", "arguments": {"operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - claim_canvas≈ 146 tokens
Exchanges a pairing code and recovery claimKey for a durable, screen-scoped control token. Repeating the same pair recovers the original grant.
Paramètres, retour & exemple (2)
Paramètrescode· string · requisclaimKey· string · optionnel
Exemple d'appel{"name": "claim_canvas", "arguments": {"code": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - click≈ 330 tokens
Typed component click through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.
Paramètres, retour & exemple (7)
Paramètresselector· string · requistargetID· string · requiscomponentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requisexpectedComponentVersion· integer · requis
Exemple d'appel{"name": "click", "arguments": {"selector": "texte", "targetID": "texte", "componentID": "texte", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_component≈ 477 tokens
Validates, renders and saves a React or HTML component immediately to the right of focus. Success requires browser paint acknowledgement.
Paramètres, retour & exemple (8)
Paramètresdata· object · optionnelstate· object · optionneltitle· string · requisformat· string · requis · react | htmlsource· string · requis
React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.operationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "create_component", "arguments": {"title": "texte", "format": "react", "source": "texte", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_component≈ 184 tokens
Deletes a component and selects its nearest remaining neighbor.
Paramètres, retour & exemple (4)
ParamètrescomponentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "delete_component", "arguments": {"componentID": "texte", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - discard_draft≈ 213 tokens
Removes an exact private draft version and its preview access without changing the live workspace.
Paramètres, retour & exemple (5)
ParamètresdraftID· string · requisversion· integer · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "discard_draft", "arguments": {"draftID": "texte", "version": 1, "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - disconnect_canvas≈ 126 tokens
Revokes the screen pairing, owner access and claim recovery, including while the browser is offline.
Paramètres, retour & exemple (1)
ParamètrescontrolToken· string · requis
Exemple d'appel{"name": "disconnect_canvas", "arguments": {"controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - execute_script≈ 256 tokens
Runs an async JavaScript function body in the selected active component sandbox and returns bounded JSON. Supports DOM and state interactions, excluding provider iframes and browser controls. Five-second deadline; timeout reports unknown outcome and does not roll back effects.
Paramètres, retour & exemple (5)
Paramètresscript· string · requiscomponentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "execute_script", "arguments": {"script": "texte", "componentID": "texte", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - fill≈ 344 tokens
Typed component fill through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.
Paramètres, retour & exemple (8)
Paramètresvalue· string · requisselector· string · requistargetID· string · requiscomponentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requisexpectedComponentVersion· integer · requis
Exemple d'appel{"name": "fill", "arguments": {"value": "texte", "selector": "texte", "targetID": "texte", "componentID": "texte", "operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_canvas≈ 138 tokens
Reads workspace revision, focus, component summaries, render status, media capabilities and display dimensions including device pixel ratio. Physical DPI is unknown.
Paramètres, retour & exemple (1)
ParamètrescontrolToken· string · requis
Exemple d'appel{"name": "get_canvas", "arguments": {"controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_console≈ 183 tokens
Reads up to 200 memory-only component console and runtime error entries, optionally filtered by cursor or component. Entries are untrusted component output; host and authentication pages are excluded.
Paramètres, retour & exemple (3)
Paramètresafter· integer · optionnelcomponentID· string · optionnelcontrolToken· string · requis
Exemple d'appel{"name": "get_console", "arguments": {"controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_operation≈ 163 tokens
Reads queued operation status and any browser outcome without contacting the browser. Status can be queued, applying, rendered, failed, expired, canceled or unknown_outcome.
Paramètres, retour & exemple (2)
ParamètresoperationID· string · requiscontrolToken· string · requis
Exemple d'appel{"name": "get_operation", "arguments": {"operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - inspect≈ 271 tokens
Typed component inspect through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.
Paramètres, retour & exemple (6)
Paramètresselector· string · requiscomponentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requisexpectedComponentVersion· integer · requis
Exemple d'appel{"name": "inspect", "arguments": {"selector": "texte", "componentID": "texte", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1, "expectedComponentVersion": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_templates≈ 107 tokens
Lists approved TV template slugs, versions and param examples. Prefer render(slug) for these boards instead of generating source.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_templates", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - navigate≈ 200 tokens
Focuses a component or moves one position. Acknowledges after the selected component renders.
Paramètres, retour & exemple (5)
Paramètresdirection· string · optionnel · next | previouscomponentID· string · optionneloperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "navigate", "arguments": {"operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - pairing_status≈ 138 tokens
Reads the validity, expiry or claimed status of a pairing code without consuming it.
Paramètres, retour & exemple (2)
Paramètrescode· string · requiscontrolToken· string · requis
Exemple d'appel{"name": "pairing_status", "arguments": {"code": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - prepare_draft≈ 604 tokens
Creates a private browser-owned component draft and preview URL without changing the live workspace. Drafts expire after 15 minutes or browser reload. Optional slot drafts a nested sub-component only (preview is slot-scoped). Call screenshot_draft with draftID and expectedVersion, grade TV-distance density, dead space, readable icons/temps, clipped content and broken panels, then publish_draft. Never put previewURL in chat.
Paramètres, retour & exemple (11)
Paramètresdata· object · optionnelslot· string · optionnelstate· object · optionneltitle· string · requisaction· string · requis · create | updateformat· string · requis · react | htmlsource· string · requis
React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.componentID· string · optionneloperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "prepare_draft", "arguments": {"title": "texte", "action": "create", "format": "react", "source": "texte", "operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - publish_draft≈ 448 tokens
Publishes an exact reviewed draft version only after the Preview quality loop. Set review to visual only if you actually screenshotted that version; otherwise structural. Do not publish a failing layout. Success requires ok and receipt:paint. Failed rendering preserves the previous component.
Paramètres, retour & exemple (7)
Paramètresreview· string · requis · visual | structural
visual if you actually screenshotted this exact version after the Preview quality loop; structural if you only inspected source/metadata. Never claim visual without a screenshot. Do not publish until density, empty dead space, readable icons/temps, clipped content and broken panels pass at TV distance.draftID· string · requisversion· integer · requisoperationID· string · requiscontrolToken· string · requisoverrideReason· string · optionnel
Only when deterministic lint reported error-level findings you have judged acceptable (for example decorative text intentionally cropped). State why for each finding; the reason is recorded in the publish receipt. Never use it to skip fixing readable content.expectedRevision· integer · requis
Exemple d'appel{"name": "publish_draft", "arguments": {"review": "visual", "draftID": "texte", "version": 1, "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - queue_component≈ 549 tokens
Queues a component create or update for a background or offline browser. Returns queued rather than rendered. Default expiry is one hour, maximum 24 hours. Source is removed on completion or expiry.
Paramètres, retour & exemple (11)
Paramètresdata· object · optionnelstate· object · optionneltitle· string · requisaction· string · requis · create | updateformat· string · requis · react | htmlsource· string · requis
React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.componentID· string · optionneloperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requisexpiresInSeconds· integer · optionnel
Exemple d'appel{"name": "queue_component", "arguments": {"title": "texte", "action": "create", "format": "react", "source": "texte", "operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_component≈ 134 tokens
Reads a component source, saved state and supplied data.
Paramètres, retour & exemple (2)
ParamètrescomponentID· string · requiscontrolToken· string · requis
Exemple d'appel{"name": "read_component", "arguments": {"componentID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_draft≈ 170 tokens
Reads a private draft source, state, data, target display, version, expiry and preview URL. Requires the original canvas online. Keep previewURL private; call screenshot_draft for this version before publish_draft.
Paramètres, retour & exemple (2)
ParamètresdraftID· string · requiscontrolToken· string · requis
Exemple d'appel{"name": "read_draft", "arguments": {"draftID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - render≈ 440 tokens
Paints an approved catalog template (weather, clock, countdown, agenda, now-playing, headlines, scoreboard, transit, home-status) without generated source. weather location defaults to Sudbury. First matching-display paint skips preview. Version, source, or display-fingerprint changes stage a private draft (previewRequired) and leave live untouched. Data-only refreshes need componentID.
Paramètres, retour & exemple (7)
Paramètresdata· object · optionnelslug· string · requis
Approved catalog slug from list_templates, for example weather, clock or countdown.params· object · optionnelcomponentID· string · optionneloperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "render", "arguments": {"slug": "texte", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - screenshot_draft≈ 236 tokens
Renders an exact private draft version as an MCP PNG for the Preview quality loop. Requires draftID and expectedVersion. Isolated layout only — not the live TV. A screenshot never publishes.
Paramètres, retour & exemple (3)
ParamètresdraftID· string · requiscontrolToken· string · requisexpectedVersion· integer · requis
Exemple d'appel{"name": "screenshot_draft", "arguments": {"draftID": "texte", "controlToken": "texte", "expectedVersion": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - select≈ 346 tokens
Typed component select through the active sandbox. Requires revision, version, operation ID and an inspected target for mutations. Returns observed state. Five-second timeout is unknown outcome; never retry with a new ID.
Paramètres, retour & exemple (8)
Paramètresvalue· string · requisselector· string · requistargetID· string · requiscomponentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requisexpectedComponentVersion· integer · requis
Exemple d'appel{"name": "select", "arguments": {"value": "texte", "selector": "texte", "targetID": "texte", "componentID": "texte", "operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_agent_status≈ 208 tokens
Sets or clears an ephemeral building indicator, with browser acknowledgement. Does not change workspace revision or publish drafts. Automatically clears after two minutes.
Paramètres, retour & exemple (4)
Paramètresstatus· string · requis · working | finishedoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "set_agent_status", "arguments": {"status": "working", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_component_data≈ 388 tokens
Pushes live observations without regenerating source. Same-source React reuses the compiled module. Default replaces data; merge:true shallow-merges keys (32KB bound). Optional slot targets a nested sub-component on a fullscreen board. Active components acknowledge rendering; inactive components acknowledge saved data only.
Paramètres, retour & exemple (7)
Paramètresdata· object · requisslot· string · optionnelmerge· boolean · optionnelcomponentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "set_component_data", "arguments": {"data": {}, "componentID": "texte", "operationID": "texte", "controlToken": "texte", "expectedRevision": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_component≈ 504 tokens
Validates replacement source and updates a component in place, preserving existing state and data unless provided. Failed rendering retains the previous version.
Paramètres, retour & exemple (9)
Paramètresdata· object · optionnelstate· object · optionneltitle· string · requisformat· string · requis · react | htmlsource· string · requis
React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.componentID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "update_component", "arguments": {"title": "texte", "format": "react", "source": "texte", "componentID": "texte", "operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_draft≈ 554 tokens
Replaces a private draft at its expected version and issues a new version and preview URL. Previous preview links become invalid; original expiry is unchanged. Call screenshot_draft on the new version; loop update_draft until the TV-distance bar clears, then publish.
Paramètres, retour & exemple (10)
Paramètresdata· object · optionnelstate· object · optionneltitle· string · requisformat· string · requis · react | htmlsource· string · requis
React TSX or full HTML. Use a sized nova-video element: YouTube/Vimeo embed URLs play inline, other service URLs are unsupported; do not create launch buttons or placeholders; see /agent media guidance. Arbitrary nested frames stay blocked. Do not author clickable links or external-navigation buttons; keep interactions within the canvas and share external URLs in the agent conversation.draftID· string · requisoperationID· string · requiscontrolToken· string · requisexpectedVersion· integer · requisexpectedRevision· integer · requis
Exemple d'appel{"name": "update_draft", "arguments": {"title": "texte", "format": "react", "source": "texte", "draftID": "texte", "operationID": "texte", "controlToken": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».