Nova Cast
REMOTE · NOVA.ARDABOT.AI · SCANNED OCT 2
Give your AI agent the power to cast to your home TV and control an interactive canvas. By ArdaBot.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (disconnect_canvas). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability56
- AI-judged instruction clarity (fair).Partial
- Tool/resource definitions use about 2156 tokens (~102/item across 21 items; 21 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage69
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 6% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Nova Cast MCP server?
Nova Cast is a hosted endpoint at https://nova.ardabot.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · nova.ardabot.ai
claude mcp add --transport http r4v3n-art-nova-cast 'https://nova.ardabot.ai/mcp'
{
"mcpServers": {
"r4v3n-art-nova-cast": {
"url": "https://nova.ardabot.ai/mcp"
}
}
} {
"servers": {
"r4v3n-art-nova-cast": {
"type": "http",
"url": "https://nova.ardabot.ai/mcp"
}
}
} [mcp_servers.r4v3n-art-nova-cast] url = "https://nova.ardabot.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"r4v3n-art-nova-cast": {
"type": "remote",
"url": "https://nova.ardabot.ai/mcp",
"enabled": true
}
}
} openclaw mcp add r4v3n-art-nova-cast --url 'https://nova.ardabot.ai/mcp' --transport streamable-http
mcp_servers:
r4v3n-art-nova-cast:
url: "https://nova.ardabot.ai/mcp" {
"McpServers": {
"r4v3n-art-nova-cast": {
"Transport": "http",
"Url": "https://nova.ardabot.ai/mcp"
}
}
} assistant mcp add r4v3n-art-nova-cast -t streamable-http -u 'https://nova.ardabot.ai/mcp'
{
"mcpServers": {
"r4v3n-art-nova-cast": {
"type": "http",
"url": "https://nova.ardabot.ai/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Oct 26 +2
- The server rewrote its instructions, which are the text every model session reads security
- Tool “prepare_draft” rewrote its description, which is the text the model reads security
- Tool “publish_draft” rewrote its description, which is the text the model reads security
- Tool “read_draft” rewrote its description, which is the text the model reads security
- Tool “update_draft” rewrote its description, which is the text the model reads security
- Schema quality: 86 → 102 ▼ functional
- “publish_draft” reworded the description of “review” cosmetic
- 1 Oct 26 0
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “screenshot_draft” was removed ▼ security
- 30 Sept 26 +1
- Stability: unverified → 0.03 ▲ functional
- New tool “screenshot_draft” functional
- 29 Sept 26 57
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 2 Oct 2026 · Probed https://nova.ardabot.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=nova.ardabot.ai | CN=YE2,O=Let's Encrypt,C=US | 26 Sept 2026 | 25 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 6784e25bf981a61b4946f1abe2260f1239d |
| SANs: nova.ardabot.ai | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of nova.ardabot.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| ardabot.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://nova.ardabot.ai/mcp | Verified | 200 | |
| http (plaintext) | http://nova.ardabot.ai/mcp | HTTPS enforced | 308 | https://nova.ardabot.ai/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
cancel_operation Cancel Operation ~46
Cancels a queued component update and removes its source. Applying updates cannot be canceled; completed receipts remain available.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| operationID | string | yes | – |
No output schema declared.
No examples provided.
claim_canvas Claim Canvas ~52
Exchanges a pairing code and recovery claimKey for a durable, screen-scoped control token. Repeating the same pair recovers the original grant.
| Name | Type | Req | Description |
|---|---|---|---|
| claimKey | string | – | – |
| code | string | yes | – |
No output schema declared.
No examples provided.
create_component Create Component ~164
Validates, renders and saves a React or HTML component immediately to the right of focus. Success requires browser paint acknowledgement.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| data | object | – | – |
| expectedRevision | integer | yes | – |
| format | string | yes | – |
| operationID | string | yes | – |
| source | string | yes | 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 guidan… |
| state | object | – | – |
| title | string | yes | – |
No output schema declared.
No examples provided.
delete_component Delete Component ~50
Deletes a component and selects its nearest remaining neighbor.
| Name | Type | Req | Description |
|---|---|---|---|
| componentID | string | yes | – |
| controlToken | string | yes | – |
| expectedRevision | integer | yes | – |
| operationID | string | yes | – |
No output schema declared.
No examples provided.
discard_draft Discard Draft ~64
Removes an exact private draft version and its preview access without changing the live workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| draftID | string | yes | – |
| expectedRevision | integer | yes | – |
| operationID | string | yes | – |
| version | integer | yes | – |
No output schema declared.
No examples provided.
disconnect_canvas Disconnect Canvas ~35
Revokes the screen pairing, owner access and claim recovery, including while the browser is offline.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
No output schema declared.
No examples provided.
execute_script Execute Script ~95
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.
| Name | Type | Req | Description |
|---|---|---|---|
| componentID | string | yes | – |
| controlToken | string | yes | – |
| expectedRevision | integer | yes | – |
| operationID | string | yes | – |
| script | string | yes | – |
No output schema declared.
No examples provided.
get_canvas Get Canvas ~43
Reads workspace revision, focus, component summaries, render status, media capabilities and display dimensions including device pixel ratio. Physical DPI is unknown.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
No output schema declared.
No examples provided.
get_console Get Console ~66
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.
| Name | Type | Req | Description |
|---|---|---|---|
| after | integer | – | – |
| componentID | string | – | – |
| controlToken | string | yes | – |
No output schema declared.
No examples provided.
get_operation Get Operation ~56
Reads queued operation status and any browser outcome without contacting the browser. Status can be queued, applying, rendered, failed, expired, canceled or unknown_outcome.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| operationID | string | yes | – |
No output schema declared.
No examples provided.
navigate Navigate ~64
Focuses a component or moves one position. Acknowledges after the selected component renders.
| Name | Type | Req | Description |
|---|---|---|---|
| componentID | string | – | – |
| controlToken | string | yes | – |
| direction | string | – | – |
| expectedRevision | integer | yes | – |
| operationID | string | yes | – |
No output schema declared.
No examples provided.
pairing_status Pairing Status ~31
Reads the validity, expiry or claimed status of a pairing code without consuming it.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
No output schema declared.
No examples provided.
prepare_draft Prepare Draft ~223
Creates a private browser-owned component draft and preview URL without changing the live workspace. Drafts expire after 15 minutes or browser reload. Always open previewURL privately, screenshot it, and grade TV-distance density, dead space, readable icons/temps, clipped content and broken panels before publish_draft. Never put previewURL in chat.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| componentID | string | – | – |
| controlToken | string | yes | – |
| data | object | – | – |
| expectedRevision | integer | yes | – |
| format | string | yes | – |
| operationID | string | yes | – |
| source | string | yes | 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 guidan… |
| state | object | – | – |
| title | string | yes | – |
No output schema declared.
No examples provided.
publish_draft Publish Draft ~164
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.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| draftID | string | yes | – |
| expectedRevision | integer | yes | – |
| operationID | string | yes | – |
| review | string | yes | 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… |
| version | integer | yes | – |
No output schema declared.
No examples provided.
queue_component Queue Component ~203
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| componentID | string | – | – |
| controlToken | string | yes | – |
| data | object | – | – |
| expectedRevision | integer | yes | – |
| expiresInSeconds | integer | – | – |
| format | string | yes | – |
| operationID | string | yes | – |
| source | string | yes | 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 guidan… |
| state | object | – | – |
| title | string | yes | – |
No output schema declared.
No examples provided.
read_component Read Component ~35
Reads a component source, saved state and supplied data.
| Name | Type | Req | Description |
|---|---|---|---|
| componentID | string | yes | – |
| controlToken | string | yes | – |
No output schema declared.
No examples provided.
read_draft Read Draft ~66
Reads a private draft source, state, data, target display, version, expiry and preview URL. Requires the original canvas online. Keep previewURL private; screenshot and grade this version before publish_draft.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| draftID | string | yes | – |
No output schema declared.
No examples provided.
set_agent_status Set Agent Status ~67
Sets or clears an ephemeral building indicator, with browser acknowledgement. Does not change workspace revision or publish drafts. Automatically clears after two minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| expectedRevision | integer | yes | – |
| operationID | string | yes | – |
| status | string | yes | – |
No output schema declared.
No examples provided.
set_component_data Set Component Data ~70
Replaces supplied component data without regenerating source. Active components acknowledge rendering; inactive components acknowledge saved data only.
| Name | Type | Req | Description |
|---|---|---|---|
| componentID | string | yes | – |
| controlToken | string | yes | – |
| data | object | yes | – |
| expectedRevision | integer | yes | – |
| operationID | string | yes | – |
No output schema declared.
No examples provided.
update_component Update Component ~174
Validates replacement source and updates a component in place, preserving existing state and data unless provided. Failed rendering retains the previous version.
| Name | Type | Req | Description |
|---|---|---|---|
| componentID | string | yes | – |
| controlToken | string | yes | – |
| data | object | – | – |
| expectedRevision | integer | yes | – |
| format | string | yes | – |
| operationID | string | yes | – |
| source | string | yes | 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 guidan… |
| state | object | – | – |
| title | string | yes | – |
No output schema declared.
No examples provided.
update_draft Update Draft ~210
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. Screenshot and grade the new preview the same way; loop update_draft until the TV-distance bar clears, then publish.
| Name | Type | Req | Description |
|---|---|---|---|
| controlToken | string | yes | – |
| data | object | – | – |
| draftID | string | yes | – |
| expectedRevision | integer | yes | – |
| expectedVersion | integer | yes | – |
| format | string | yes | – |
| operationID | string | yes | – |
| source | string | yes | 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 guidan… |
| state | object | – | – |
| title | string | yes | – |
No output schema declared.
No examples provided.
What is the Nova Cast MCP server?
Nova Cast is an MCP server listed in the public MCP registry as io.github.r4v3n-art/nova-cast. Give your AI agent the power to cast to your home TV and control an interactive canvas. By ArdaBot. This page covers its hosted endpoint (https://nova.ardabot.ai/mcp).
Is the Nova Cast MCP server safe to use?
Nova Cast scores 60 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Nova Cast MCP server expose?
Nova Cast exposes 21 tools: claim_canvas, pairing_status, disconnect_canvas, get_canvas, get_console, and 16 more. Their descriptions and schemas cost roughly 1,978 tokens of context every time the server is loaded.
Does the Nova Cast MCP server require authentication?
No. We connected to Nova Cast without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Nova Cast MCP server still maintained?
Nova Cast is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.