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 分

    请在仓库或注册中心条目中声明许可证。