Nova Cast

io.github.r4v3n-art由 GitHub 帳號 r4v3n-art 發布v0.1.1更新於 Oct 25, 2026

Give your AI agent the power to cast to your home TV and control an interactive canvas. By ArdaBot.

已驗證Streamable HTTP可網頁執行效率與工作流瀏覽器自動化媒體與設計

概覽

AI 產生的概覽

Nova Cast 讓 AI 助理在已配對的家庭電視畫布上建立、預覽並發布互動元件,並透過點擊、填寫和腳本進行控制

可以做什麼
配對並管理電視螢幕:用配對碼認領畫布、查詢配對狀態、中斷並撤銷存取、設定臨時建置指示,讀取工作區版本、焦點、顯示資訊以及元件主控台錯誤和原始碼。建立、更新、刪除和切換元件,並向元件推送即時資料而不需重新產生原始碼。私下起草:準備、讀取、更新、截圖和丟棄草稿,然後發布已審核的版本。渲染已核准的電視範本,如天氣、時鐘、倒數、行程、頭條或交通。為離線瀏覽器排隊元件變更,並查詢、取消或讀取排隊操作的結果。與目前元件互動:
適用情境
當你希望助理在已配對的電視螢幕上設計並反覆調整儀表板或小工具、在正式上線前預覽草稿,或向執行中的元件推送即時資料和腳本化互動時使用。
執行需求
遠端 streamable HTTP 端點;未宣告套件或環境變數。需要已配對的瀏覽器畫布,以及配對碼和復原認領金鑰以取得控制權杖。草稿操作要求原始畫布瀏覽器在線。
安裝前請注意
認領金鑰和控制權杖可長期控制螢幕,disconnect_canvas 會撤銷擁有者存取和認領復原。發布、建立、更新和刪除元件會改動即時工作區;渲染失敗會保留上一版本。execute_script、click、fill 和 select 作用於即時元件,五秒逾時會回報未知結果且不回滾影響,因此不要用新 ID 重試。草稿預覽連結應保持私密,主控台項目屬於不可信的元件輸出。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Nova Cast,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.r4v3n-art%2Fnova-cast/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "nova-cast": {
      "type": "http",
      "url": "https://nova.ardabot.ai/mcp"
    }
  }
}

README

該儲存庫沒有 README。

工具

28

claim_canvas

Claim Canvas

Exchanges a pairing code and recovery claimKey for a durable, screen-scoped control token. Repeating the same pair recovers the original grant.

輸入參數code必填claimKey

pairing_status

Pairing Status

Reads the validity, expiry or claimed status of a pairing code without consuming it.

輸入參數code必填controlToken必填

disconnect_canvas

Disconnect Canvas

Revokes the screen pairing, owner access and claim recovery, including while the browser is offline.

輸入參數controlToken必填

get_canvas

Get Canvas

Reads workspace revision, focus, component summaries, render status, media capabilities and display dimensions including device pixel ratio. Physical DPI is unknown.

輸入參數controlToken必填

get_console

Get Console

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.

輸入參數aftercomponentIDcontrolToken必填

read_component

Read Component

Reads a component source, saved state and supplied data.

輸入參數componentID必填controlToken必填

list_templates

List Templates

Lists approved TV template slugs, versions and param examples. Prefer render(slug) for these boards instead of generating source.

無需輸入參數。

render

Render

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.

輸入參數dataslug必填paramscomponentIDoperationID必填controlToken必填expectedRevision必填

prepare_draft

Prepare Draft

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.

輸入參數dataslotstatetitle必填action必填format必填source必填componentIDoperationID必填controlToken必填expectedRevision必填

read_draft

Read Draft

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.

輸入參數draftID必填controlToken必填

screenshot_draft

Screenshot Draft

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.

輸入參數draftID必填controlToken必填expectedVersion必填

update_draft

Update Draft

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.

輸入參數datastatetitle必填format必填source必填draftID必填operationID必填controlToken必填expectedVersion必填expectedRevision必填

publish_draft

Publish Draft

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.

輸入參數review必填draftID必填version必填operationID必填controlToken必填overrideReasonexpectedRevision必填

discard_draft

Discard Draft

Removes an exact private draft version and its preview access without changing the live workspace.

輸入參數draftID必填version必填operationID必填controlToken必填expectedRevision必填

queue_component

Queue Component

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.

輸入參數datastatetitle必填action必填format必填source必填componentIDoperationID必填controlToken必填expectedRevision必填expiresInSeconds

get_operation

Get Operation

Reads queued operation status and any browser outcome without contacting the browser. Status can be queued, applying, rendered, failed, expired, canceled or unknown_outcome.

輸入參數operationID必填controlToken必填

cancel_operation

Cancel Operation

Cancels a queued component update and removes its source. Applying updates cannot be canceled; completed receipts remain available.

輸入參數operationID必填controlToken必填

set_agent_status

Set Agent Status

Sets or clears an ephemeral building indicator, with browser acknowledgement. Does not change workspace revision or publish drafts. Automatically clears after two minutes.

輸入參數status必填operationID必填controlToken必填expectedRevision必填

create_component

Create Component

Validates, renders and saves a React or HTML component immediately to the right of focus. Success requires browser paint acknowledgement.

輸入參數datastatetitle必填format必填source必填operationID必填controlToken必填expectedRevision必填

update_component

Update Component

Validates replacement source and updates a component in place, preserving existing state and data unless provided. Failed rendering retains the previous version.

輸入參數datastatetitle必填format必填source必填componentID必填operationID必填controlToken必填expectedRevision必填

delete_component

Delete Component

Deletes a component and selects its nearest remaining neighbor.

輸入參數componentID必填operationID必填controlToken必填expectedRevision必填

navigate

Navigate

Focuses a component or moves one position. Acknowledges after the selected component renders.

輸入參數directioncomponentIDoperationID必填controlToken必填expectedRevision必填

set_component_data

Set Component Data

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.

輸入參數data必填slotmergecomponentID必填operationID必填controlToken必填expectedRevision必填

execute_script

Execute Script

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.

輸入參數script必填componentID必填operationID必填controlToken必填expectedRevision必填

inspect

Inspect

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.

輸入參數selector必填componentID必填operationID必填controlToken必填expectedRevision必填expectedComponentVersion必填

click

Click

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.

輸入參數selector必填targetID必填componentID必填operationID必填controlToken必填expectedRevision必填expectedComponentVersion必填

fill

Fill

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.

輸入參數value必填selector必填targetID必填componentID必填operationID必填controlToken必填expectedRevision必填expectedComponentVersion必填

select

Select

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.

輸入參數value必填selector必填targetID必填componentID必填operationID必填controlToken必填expectedRevision必填expectedComponentVersion必填

版本歷史

1
  1. v0.1.1最新Sep 29, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。