MCPサーバー

Nova Cast

io.github.r4v3n-art/nova-cast

このMCPでできること

Pairs with and controls a home display canvas, including component creation, updates, rendering, navigation and sandboxed scripts.

cancel_operation
Cancel Operation
Cancels a queued component update and removes its source. Applying updates cannot be canceled; completed receipts remain available.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'controlToken'], 'properties': {'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}}, 'additionalProperties': False}
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.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['code'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'claimKey': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{43}$'}}, 'additionalProperties': False}
create_component
Create Component
Validates, renders and saves a React or HTML component immediately to the right of focus. Success requires browser paint acknowledgement.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'title', 'format', 'source', 'controlToken'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'state': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'title': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'format': {'enum': ['react', 'html'], 'type': 'string'}, 'source': {'type': 'string', 'maxLength': 240000, 'minLength': 1, 'description': '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': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'definitions': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}]}}, 'additionalProperties': False}
delete_component
Delete Component
Deletes a component and selects its nearest remaining neighbor.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'componentID', 'controlToken'], 'properties': {'componentID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
discard_draft
Discard Draft
Removes an exact private draft version and its preview access without changing the live workspace.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'draftID', 'version', 'controlToken'], 'properties': {'draftID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
disconnect_canvas
Disconnect Canvas
Revokes the screen pairing, owner access and claim recovery, including while the browser is offline.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['controlToken'], 'properties': {'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}}, 'additionalProperties': False}
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.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'componentID', 'script', 'controlToken'], 'properties': {'script': {'type': 'string', 'maxLength': 32000, 'minLength': 1}, 'componentID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
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.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['controlToken'], 'properties': {'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}}, 'additionalProperties': False}
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.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['controlToken'], 'properties': {'after': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'componentID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}}, 'additionalProperties': False}
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.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'controlToken'], 'properties': {'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}}, 'additionalProperties': False}
navigate
Navigate
Focuses a component or moves one position. Acknowledges after the selected component renders.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'controlToken'], 'properties': {'direction': {'enum': ['next', 'previous'], 'type': 'string'}, 'componentID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
pairing_status
Pairing Status
Reads the validity, expiry or claimed status of a pairing code without consuming it.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['code'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
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.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'title', 'format', 'source', 'action', 'controlToken'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'state': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'title': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'action': {'enum': ['create', 'update'], 'type': 'string'}, 'format': {'enum': ['react', 'html'], 'type': 'string'}, 'source': {'type': 'string', 'maxLength': 240000, 'minLength': 1, 'description': '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': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'definitions': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}]}}, 'additionalProperties': False}
publish_draft
Publish Draft
Publishes an exact reviewed draft version after validating workspace revision and target dimensions. Success requires browser paint acknowledgement. Failed rendering preserves the previous component.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'draftID', 'version', 'review', 'controlToken'], 'properties': {'review': {'enum': ['visual', 'structural'], 'type': 'string'}, 'draftID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
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.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'title', 'format', 'source', 'action', 'controlToken'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'state': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'title': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'action': {'enum': ['create', 'update'], 'type': 'string'}, 'format': {'enum': ['react', 'html'], 'type': 'string'}, 'source': {'type': 'string', 'maxLength': 240000, 'minLength': 1, 'description': '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': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'expiresInSeconds': {'type': 'integer', 'default': 3600, 'maximum': 86400, 'minimum': 60}}, 'definitions': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}]}}, 'additionalProperties': False}
read_component
Read Component
Reads a component source, saved state and supplied data.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['componentID', 'controlToken'], 'properties': {'componentID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}}, 'additionalProperties': False}
read_draft
Read Draft
Reads a private draft source, state, data, target display, version, expiry and preview URL. Requires the original canvas online.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['draftID', 'controlToken'], 'properties': {'draftID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}}, 'additionalProperties': False}
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.
外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'status', 'controlToken'], 'properties': {'status': {'enum': ['working', 'finished'], 'type': 'string'}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
set_component_data
Set Component Data
Replaces supplied component data without regenerating source. Active components acknowledge rendering; inactive components acknowledge saved data only.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'componentID', 'data', 'controlToken'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'componentID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'definitions': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}]}}, 'additionalProperties': False}
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.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'componentID', 'title', 'format', 'source', 'controlToken'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'state': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'title': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'format': {'enum': ['react', 'html'], 'type': 'string'}, 'source': {'type': 'string', 'maxLength': 240000, 'minLength': 1, 'description': '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': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'definitions': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}]}}, 'additionalProperties': False}
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.
破壊的操作あり 外部アクセスあり
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operationID', 'expectedRevision', 'title', 'format', 'source', 'draftID', 'expectedVersion', 'controlToken'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'state': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}, 'title': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'format': {'enum': ['react', 'html'], 'type': 'string'}, 'source': {'type': 'string', 'maxLength': 240000, 'minLength': 1, 'description': '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': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'operationID': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'controlToken': {'type': 'string', 'maxLength': 200, 'minLength': 20}, 'expectedVersion': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'definitions': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/definitions/__schema0'}}]}}, 'additionalProperties': False}
追加
execute_script
2026年10月2日2:40
追加
set_component_data
2026年10月2日2:40
追加
navigate
2026年10月2日2:40
追加
delete_component
2026年10月2日2:40
追加
update_component
2026年10月2日2:40
追加
create_component
2026年10月2日2:40
追加
set_agent_status
2026年10月2日2:40
追加
cancel_operation
2026年10月2日2:40
追加
get_operation
2026年10月2日2:40
追加
queue_component
2026年10月2日2:40
追加
discard_draft
2026年10月2日2:40
追加
publish_draft
2026年10月2日2:40
追加
update_draft
2026年10月2日2:40
追加
read_draft
2026年10月2日2:40
追加
prepare_draft
2026年10月2日2:40
追加
read_component
2026年10月2日2:40
追加
get_console
2026年10月2日2:40
追加
get_canvas
2026年10月2日2:40
追加
disconnect_canvas
2026年10月2日2:40
追加
pairing_status
2026年10月2日2:40
追加
claim_canvas
2026年10月2日2:40