MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

Nova Cast

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

Checks passed
13 / 22

1 failed · 8 not measured

Median response
471 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
28

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 471 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name nova-canvas.

  • Pass
    Lists tools

    tools/list returned 28 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 471 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 471 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    8 of 142 parameters have a description (6%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-09-29T18:23:47.47468Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using Nova Cast

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http nova-cast https://nova.ardabot.ai/mcp

Capabilities

Tools 28

cancel_operation

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

Discovered
claim_canvas

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

Discovered
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.

Discovered
create_component

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

Discovered
delete_component

Deletes a component and selects its nearest remaining neighbor.

Discovered
discard_draft

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

Discovered
disconnect_canvas

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

Discovered
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.

Discovered
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.

Discovered
get_canvas

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

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
list_templates

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

Discovered
navigate

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

Discovered
pairing_status

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

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
read_component

Reads a component source, saved state and supplied data.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
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.

Discovered
update_component

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

Discovered
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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected471 ms28