Skip to content

PageToVid

by pagetovid.com · remote · no sign-in to list tools · v1.192.0 · published by com.pagetovid

Turn any web page into a narrated video: films the real site, writes, voices and captions it

Deletes · 7Final · 1Changes · 39

82 tools: 7 can delete or cancel things, 1 do something that can't be undone, 39 change things and 35 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http pagetovid https://pagetovid.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn4 info
  • The server marks "get_site_plan" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_site_plan" says "get": a word for reading.

    What this check looks for
  • The description mentions "Credentials".

    Matched text

    description: "...age, the brief or nothing), the Content Credentials (C2PA), and a check recompiling the sto..."

    What this check looks for
  • The input schema at properties.video_id.description mentions "credentials".

    Matched text

    inputSchema.properties.video_id.description: "...deo is verified on its claim ledger and credentials."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...on by alias: the URL and, optionally, a credential kept encrypted on this account. Formats..."

    What this check looks for
  • The description mentions "Credentials".

    Matched text

    description: "...onnection with its alias, kind and URL. Credentials are never returned."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

82 tools

Deletes or cancels 7Claude Code: deny
  • cancel_video[Free] Stops a running render and refunds its render credit and any AI visual still in flight; AI visuals already made stay (reused free).No findings

    Why it is in this group

    • The name "cancel_video" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [Free] Stops a running render and refunds its render credit and any AI visual still in flight; AI visuals already made stay (reused free). Use it when get_storyboard shows a plan you do not want. A finished render cannot be cancelled. The video is marked cancelled at once; the worker stops at its next step.

    Annotations the server declares

    • title: Stop a render and get the credits back
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • delete_character[Free] Deletes a character by name.No findings

    Why it is in this group

    • The name "delete_character" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [Free] Deletes a character by name. Its reference images stay in your bank and clips made with it stay in their films.

    Annotations the server declares

    • title: Delete a character
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • delete_object[Free] Deletes an object by name.No findings

    Why it is in this group

    • The name "delete_object" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [Free] Deletes an object by name. Its images stay in your bank and media made with it stays in its films.

    Annotations the server declares

    • title: Delete an object
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • remove_member[Free] Removes a member or cancels an invite, freeing the seat; your own member id leaves the workspace.No findings

    Why it is in this group

    • The name "remove_member" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [Free] Removes a member or cancels an invite, freeing the seat; your own member id leaves the workspace. Their work stays.

    Annotations the server declares

    • title: Remove a member
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • rerender_video[40 credits] [free: captions_only once per paid render; a missed length target once] A new film from the video's current storyboard, without re-planning, plus any AI visual not yet…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [40 credits] [free: captions_only once per paid render; a missed length target once] A new film from the video's current storyboard, without re-planning, plus any AI visual not yet made (quote_cost prices it). Free once per video when the film missed its length target (length_within_tolerance: false). The file is replaced when the new render finishes. Returns a start receipt; call get_video for the full status.

    Annotations the server declares

    • title: Re-render a video from its storyboard
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • restore_revision[Free] Puts the storyboard back as it was before a revision, undoing that edit and every later one.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [Free] Puts the storyboard back as it was before a revision, undoing that edit and every later one. Itself a revision, so it can be undone. Nothing is re-rendered until rerender_video.

    Annotations the server declares

    • title: Undo storyboard edits
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • rotate_webhook_secret[Free] Replaces the secret completion events are signed with and returns the new one, once.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [Free] Replaces the secret completion events are signed with and returns the new one, once. The old secret stops verifying at once, including for retries still in flight.

    Annotations the server declares

    • title: Rotate the webhook signing secret
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
Can't be undone 1Claude Code: ask
  • invite_member[Free] Emails an invite to this workspace with a role, optional site limits and monthly credit cap.No findings

    Why it is in this group

    • The name "invite_member" says "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    [Free] Emails an invite to this workspace with a role, optional site limits and monthly credit cap. Members spend the owner's credits. Seats incl. owner: Free/Creator 1, Pro 3, Scale 5, Business 15, Agency unlimited.

    Annotations the server declares

    • title: Invite a member
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 39Claude Code: ask
  • add_comment[Free] Adds a timestamped comment; open comments feed the editor's AI revision.No findings

    Why it is in this group

    • The name "add_comment" says "add": a word for a change.
    Description, as the server wrote it
    [Free] Adds a timestamped comment; open comments feed the editor's AI revision.

    Annotations the server declares

    • title: Add a comment
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • approve[Free] Approves the pending round, as one of its approvers.No findings

    Why it is in this group

    • The name "approve" says "approve": a word for a change.
    Description, as the server wrote it
    [Free] Approves the pending round, as one of its approvers.

    Annotations the server declares

    • title: Approve
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • copy_scene[Free] Copies a scene into another of your videos with its footage and generated media, so nothing is filmed or generated again.No findings

    Why it is in this group

    • The name "copy_scene" says "copy": a word for a change.
    Description, as the server wrote it
    [Free] Copies a scene into another of your videos with its footage and generated media, so nothing is filmed or generated again. A recording cannot change aspect, nor go into a film made from data. Does not re-render.

    Annotations the server declares

    • title: Copy a scene
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_animation[40 credits] From content you hold (figures, notes, story), no URL.No findings

    Why it is in this group

    • The name "create_animation" says "create": a word for a change.
    Description, as the server wrote it
    [40 credits] From content you hold (figures, notes, story), no URL. You write scenes; each drawn, voiced, captioned (list_motions: 25 visuals, some with kinds; visual "rushie" = 664 designed cards, e.g. data {rushie:{template:"end-card",props:{headline,mark,url,cta}}}). AI clips (paid plans) only if asked: data.generate (+data.clip) per scene, or ai_mode rich (assist: stills), the server picks scenes, writes prompts; dry_run shows ai_plan.added. Returns a receipt; get_video for the full status.

    Annotations the server declares

    • title: Create an animated video from your own content
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_character[Free or 40 credits] Names a character so generated clips that name it keep one identity.No findings

    Why it is in this group

    • The name "create_character" says "create": a word for a change.
    Description, as the server wrote it
    [Free or 40 credits] Names a character so generated clips that name it keep one identity. refs (1 to 3 image URLs on this account) is free; a generate prompt DRAWS the reference (paid plans, refunded on failure). Then an image scene's data.clip=true and data.character="<name>". From one of your films take raw_frame_url, never thumbnail_url: its burnt-in text teaches the generator to draw text.

    Annotations the server declares

    • title: Create a character
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • create_format[Free] A format is how an episode is made — aspect, language, voice, music, tone, goal, length, cards, brand, theme, the brief or the scene templates — and knows nothing about any …No findings

    Why it is in this group

    • The name "create_format" says "create": a word for a change.
    Description, as the server wrote it
    [Free] A format is how an episode is made — aspect, language, voice, music, tone, goal, length, cards, brand, theme, the brief or the scene templates — and knows nothing about any subject. It is versioned: update_format writes a new version, shows pin one or follow latest, and every episode records the version that made it. Validated now against a sample item; nothing is rendered.

    Annotations the server declares

    • title: Create a format
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_motion[Paid plans] Designs a custom motion graphic from a brief (one text-model call; AI plans or a film pass; no credits charged), checks layout, legibility, contrast and timing, and sa…No findings

    Why it is in this group

    • The name "create_motion" says "create": a word for a change.
    Description, as the server wrote it
    [Paid plans] Designs a custom motion graphic from a brief (one text-model call; AI plans or a film pass; no credits charged), checks layout, legibility, contrast and timing, and saves it as a private template with params. Use it in a scene: visual "motion", data {motion:{specId, params}}.

    Annotations the server declares

    • title: Design a motion graphic
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_object[Free] Names a product, logo, packaging, place, vehicle or UI screen from reference images so films keep it identical.No findings

    Why it is in this group

    • The name "create_object" says "create": a word for a change.
    Description, as the server wrote it
    [Free] Names a product, logo, packaging, place, vehicle or UI screen from reference images so films keep it identical. Generated pictures take it in data.objects (clips, stills, insets, generate_asset) next to a character; image, gallery, pricing and compare cards draw it from data.object with its name and price.

    Annotations the server declares

    • title: Create an object
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • create_show[Free] A show makes a video from each new item in a feed: a weekly release video from a changelog, a daily listing video from an RSS feed, a clip per new post.No findings

    Why it is in this group

    • The name "create_show" says "create": a word for a change.
    Description, as the server wrote it
    [Free] A show makes a video from each new item in a feed: a weekly release video from a changelog, a daily listing video from an RSS feed, a clip per new post. Episodes are ordinary videos made by run_show or, once confirmed, by the scheduler at the show's cadence. A new show is HELD: nothing renders until its owner has called run_show once with confirm=true, and it never spends more than max_credits_per_day.

    Annotations the server declares

    • title: Create a show: a recurring video from a feed
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_upload[Free] A one-hour address to send a file you hold (picture, clip, music, font, PDF/PPTX deck, ≤ 30 MB): curl -sS -T <file> "<upload_url>".No findings

    Why it is in this group

    • The name "create_upload" says "create": a word for a change.
    Description, as the server wrote it
    [Free] A one-hour address to send a file you hold (picture, clip, music, font, PDF/PPTX deck, ≤ 30 MB): curl -sS -T <file> "<upload_url>". The reply is the asset or the deck's slides.

    Annotations the server declares

    • title: Get an upload address
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_video[40 credits] [paid plans: + 40 per AI still unless ai_mode none; dry_run quotes] Turns a public web page into a narrated video: AI voiceover, motion graphics, optional subtitles.No findings

    Why it is in this group

    • The name "create_video" says "create": a word for a change.
    Description, as the server wrote it
    [40 credits] [paid plans: + 40 per AI still unless ai_mode none; dry_run quotes] Turns a public web page into a narrated video: AI voiceover, motion graphics, optional subtitles. Asynchronous (minutes, sometimes past fifteen): returns a receipt with the video_id at once; get_video for the full status. A page behind a login is filmed only with a capture session from the VS Code or browser extension (Scale plan and up).

    Annotations the server declares

    • title: Create video from web page
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • detect_brand[Free] Reads a public page's design tokens from its live CSS: accent colours, heading typeface, light or dark ground, corner style.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [Free] Reads a public page's design tokens from its live CSS: accent colours, heading typeface, light or dark ground, corner style. Returns a theme ready for create_video, create_animation or rerender_video, plus any site colour the film cannot paint with and why.

    Annotations the server declares

    • title: Read a site's colours and typography
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • fork_format[Free] A new format whose version 1 is the original's latest version, unpinned from its parent.No findings

    Why it is in this group

    • The name "fork_format" says "fork": a word for a change.
    Description, as the server wrote it
    [Free] A new format whose version 1 is the original's latest version, unpinned from its parent. Edit the copy without touching the original.

    Annotations the server declares

    • title: Copy a format
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • generate_asset[40 or 311 credits] One AI still (40 credits each) or clip (house 311, a named model its list_models price) straight into your bank — no render.No findings

    Why it is in this group

    • The name "generate_asset" says "generate": a word for a change.
    Description, as the server wrote it
    [40 or 311 credits] One AI still (40 credits each) or clip (house 311, a named model its list_models price) straight into your bank — no render. Clip controls are refused, with the allowed values, when the model is not sent them; model auto picks one and says why. best_of makes N and keeps the best graded (all N charged). Charged before, refunded on failure; dry_run quotes it free. Paid plans.

    Annotations the server declares

    • title: Generate an asset
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • generate_site_videos[40 credits] Per video started.No findings

    Why it is in this group

    • The name "generate_site_videos" says "generate": a word for a change.
    Description, as the server wrote it
    [40 credits] Per video started. One filmed video per get_site_plan idea without one (or the idea_ids given), of its verified page with its sourced brief as focus. Without confirm it lists what it would make and the cost, capped at the balance (the rest under needs_credits), creating nothing; confirm=true starts those. get_video reports each. A retry never starts an idea twice.

    Annotations the server declares

    • title: Make the videos a site's plan asks for
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • get_site_plan[Free] Up to 5 ranked videos a site should have, one per subject: goal, pitch, the real page it films (checked), the video made; detail full adds the brief, sources and shots.1 finding

    Why it is in this group

    • The name "get_site_plan" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "get_site_plan" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_site_plan" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    [Free] Up to 5 ranked videos a site should have, one per subject: goal, pitch, the real page it films (checked), the video made; detail full adds the brief, sources and shots. First call generates it (~10-20 s, no credit), then banks the site's images, videos and page clips in the background (media counts them). generate_site_videos works from it.

    Annotations the server declares

    • title: Get the video plan for a whole site
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • import_objects[Free] Creates or replaces up to 50 objects from a product feed.No findings

    Why it is in this group

    • The name "import_objects" says "import": a word for a change.
    Description, as the server wrote it
    [Free] Creates or replaces up to 50 objects from a product feed. Each image is downloaded (public addresses only) and banked as a reference. Failed rows are listed with the reason.

    Annotations the server declares

    • title: Import objects
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • quote_cost[Free] What something will cost, spending nothing: one generation (kind clip or image, optional model, duration_s, resolution, role, count), or a video_id's next rerender_video (re…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [Free] What something will cost, spending nothing: one generation (kind clip or image, optional model, duration_s, resolution, role, count), or a video_id's next rerender_video (render plus every AI visual not yet made). A length between two a model makes is rounded UP, with a warning; one it cannot make is refused with what it can. plan_note says when this plan has no AI generation.

    Annotations the server declares

    • title: Quote a cost before spending
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • register_mcp_connection[Free] Registers (or replaces) a connection by alias: the URL and, optionally, a credential kept encrypted on this account.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...on by alias: the URL and, optionally, a credential kept encrypted on this account. Formats..."

      What this check looks for
    Description, as the server wrote it
    [Free] Registers (or replaces) a connection by alias: the URL and, optionally, a credential kept encrypted on this account. Formats refer to the alias only, so a format never carries a secret and is safe to publish or fork. Nothing is called now.

    Annotations the server declares

    • title: Register a connection
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • release_video[Free] Publishes a video its quality_gate held (status "held") as it is: status becomes done.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    [Free] Publishes a video its quality_gate held (status "held") as it is: status becomes done. Nothing is re-rendered.

    Annotations the server declares

    • title: Publish a held video
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • request_approval[Free] Opens an approval round for the named approvers; supersedes a pending one.No findings

    Why it is in this group

    • The name "request_approval" says "request": a word for a change.
    Description, as the server wrote it
    [Free] Opens an approval round for the named approvers; supersedes a pending one.

    Annotations the server declares

    • title: Request approval
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • request_changes[Free] Closes the pending round as changes requested.No findings

    Why it is in this group

    • The name "request_changes" says "request": a word for a change.
    Description, as the server wrote it
    [Free] Closes the pending round as changes requested.

    Annotations the server declares

    • title: Request changes
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • run_show[40 credits] Per episode started.No findings

    Why it is in this group

    • The name "run_show" says "run": a word for a change.
    Description, as the server wrote it
    [40 credits] Per episode started. Reads the show's feed (or the items given), skips items already made, and — within max_episodes_per_run and max_credits_per_day — starts one video per new item. Without confirm: the list, nothing spent. On a held show, confirm=true is the owner's one-time approval: it makes the episodes and lets the scheduler run the show from then on.

    Annotations the server declares

    • title: Run a show now
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • save_motion_spec[Free] Saves a spec you wrote as a private template once it passes validate_motion_spec (repairs applied).No findings

    Why it is in this group

    • The name "save_motion_spec" says "save": a word for a change.
    Description, as the server wrote it
    [Free] Saves a spec you wrote as a private template once it passes validate_motion_spec (repairs applied). Returns its id, params schema and the scene JSON that uses it: visual "motion", data {motion:{specId, params}}.

    Annotations the server declares

    • title: Save a motion spec
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • save_scene[Free] Saves a scene for reuse: narration, visual, data, style AND its footage and generated media (a copy).No findings

    Why it is in this group

    • The name "save_scene" says "save": a word for a change.
    Description, as the server wrote it
    [Free] Saves a scene for reuse: narration, visual, data, style AND its footage and generated media (a copy). Reusing it — update_storyboard add_scene_from_library, create_animation from_library — films and generates nothing, so no AI credit. Write {{placeholders}} in its narration or data first to fill them per use.

    Annotations the server declares

    • title: Save a scene
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • set_account_defaults[Free] Partial update of the options every film starts from (below a site's brand kit).No findings

    Why it is in this group

    • The name "set_account_defaults" says "set": a word for a change.
    Description, as the server wrote it
    [Free] Partial update of the options every film starts from (below a site's brand kit). null clears a field.

    Annotations the server declares

    • title: Set account defaults
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • set_brand_kit[Free] Partial update of a site's brand kit: logo, palette, face (named or an uploaded font), intro/outro templates, watermark and logo corner, default voice/music/captions/look/tr…No findings

    Why it is in this group

    • The name "set_brand_kit" says "set": a word for a change.
    Description, as the server wrote it
    [Free] Partial update of a site's brand kit: logo, palette, face (named or an uploaded font), intro/outro templates, watermark and logo corner, default voice/music/captions/look/transition. null clears a field. Films of the site inherit it unless the call overrides.

    Annotations the server declares

    • title: Set brand kit
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • set_webhook[Free] Sets (or with null clears) the account-wide URL that receives a signed JSON event whenever a render ends.No findings

    Why it is in this group

    • The name "set_webhook" says "set": a word for a change.
    Description, as the server wrote it
    [Free] Sets (or with null clears) the account-wide URL that receives a signed JSON event whenever a render ends. The first time a secret is needed it is created and returned here, once.

    Annotations the server declares

    • title: Set the account's completion webhook
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • translate_video[40 credits] per language: a NEW video from an existing one — same storyboard and pictures, narration translated, re-voiced and re-captioned, card text (rushie cards too) translate…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    [40 credits] per language: a NEW video from an existing one — same storyboard and pictures, narration translated, re-voiced and re-captioned, card text (rushie cards too) translated. Filmed scenes are re-recorded on the site's page in that language when it has one (hreflang), else the footage is reused and `scenes` says so. Charged and refunded like any render; AI visuals already made are reused free.

    Annotations the server declares

    • title: Translate a video into other languages
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • update_character[Free] Changes a character's references, description or name; anything not given is kept.No findings

    Why it is in this group

    • The name "update_character" says "update": a word for a change.
    Description, as the server wrote it
    [Free] Changes a character's references, description or name; anything not given is kept. Clips already made keep the look they were made with.

    Annotations the server declares

    • title: Update a character
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_format[Free] Changes any of a format's template fields.No findings

    Why it is in this group

    • The name "update_format" says "update": a word for a change.
    Description, as the server wrote it
    [Free] Changes any of a format's template fields. The result is a NEW version — the previous ones stay exactly as they were, and every episode already made keeps the version that made it. Shows following latest use the new version from their next run; pinned shows do not move until update_show moves them. Validated whole before anything is written.

    Annotations the server declares

    • title: Revise a format
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • update_member[Free] Changes only the fields sent.No findings

    Why it is in this group

    • The name "update_member" says "update": a word for a change.
    Description, as the server wrote it
    [Free] Changes only the fields sent. Only the owner grants or changes admin and billing.

    Annotations the server declares

    • title: Update a member
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_motion_template[Free] Renames, retags, sets param defaults or visibility, or replaces the spec of a template you wrote.No findings

    Why it is in this group

    • The name "update_motion_template" says "update": a word for a change.
    Description, as the server wrote it
    [Free] Renames, retags, sets param defaults or visibility, or replaces the spec of a template you wrote. Films already using it keep their picture.

    Annotations the server declares

    • title: Change a motion template
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_object[Free] Changes only the fields sent.No findings

    Why it is in this group

    • The name "update_object" says "update": a word for a change.
    Description, as the server wrote it
    [Free] Changes only the fields sent. Media already generated with it is kept until a scene's description changes.

    Annotations the server declares

    • title: Update an object
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_show[Free] Changes a show's switch, cadence, caps or name, or moves it to another format or format version.No findings

    Why it is in this group

    • The name "update_show" says "update": a word for a change.
    Description, as the server wrote it
    [Free] Changes a show's switch, cadence, caps or name, or moves it to another format or format version. The template itself is edited with update_format, which writes a new version and leaves every episode already made where it is. Nothing is rendered.

    Annotations the server declares

    • title: Pause, resume or retune a show
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • update_storyboard[Free] Edits a video's storyboard in 22 operations, each described on its branch: words, captions, visuals (incl.No findings

    Why it is in this group

    • The name "update_storyboard" says "update": a word for a change.
    Description, as the server wrote it
    [Free] Edits a video's storyboard in 22 operations, each described on its branch: words, captions, visuals (incl. "rushie" designed cards: data.rushie {template, props}), data, shots, scenes, transitions, fx, presenter, voice, music, look. Does not re-render — rerender_video makes the new film. Every call is snapshotted, so an edit can be undone (list_revisions).

    Annotations the server declares

    • title: Edit the scenes of a video
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • upload_asset[Free] Puts a file in your bank from a public https url or small data_base64 (a bigger file you hold: create_upload).No findings

    Why it is in this group

    • The name "upload_asset" says "upload": a word for a change.
    Description, as the server wrote it
    [Free] Puts a file in your bank from a public https url or small data_base64 (a bigger file you hold: create_upload). Picture or clip → data.asset_id in an image scene; audio → music "asset:<id>"; deck (PDF/PPTX) → every slide's text and pictures, to write the storyboard from. Identical bytes return the existing asset.

    Annotations the server declares

    • title: Upload an asset
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • verify_episode[Free] The proof behind a film: the format version that made it (template SHA-256), every resolver source and what it fetched, the integrity report, the claim ledger (which figures…2 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The description mentions "Credentials".

      Matched text

      description: "...age, the brief or nothing), the Content Credentials (C2PA), and a check recompiling the sto..."

      What this check looks for
    • Info

      The input schema at properties.video_id.description mentions "credentials".

      Matched text

      inputSchema.properties.video_id.description: "...deo is verified on its claim ledger and credentials."

      What this check looks for
    Description, as the server wrote it
    [Free] The proof behind a film: the format version that made it (template SHA-256), every resolver source and what it fetched, the integrity report, the claim ledger (which figures trace to the page, the brief or nothing), the Content Credentials (C2PA), and a check recompiling the stored data against the narration word for word.

    Annotations the server declares

    • title: Verify an episode
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 35Claude Code: allow
  • get_account[Free] Reads this account.No findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.
    Description, as the server wrote it
    [Free] Reads this account. CALL THIS FIRST: plan, credits, whether AI visuals are available and charged, watermark, revisions, film passes, add-on clips, renders running, limits. Then: inspect_page (in the aspect you will film), create_video or create_animation, get_storyboard (the chosen shots), update_storyboard, rerender_video.

    Annotations the server declares

    • title: Get plan and credit balance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_audit_log[Free] Who did what here, newest first: members, spending, review links, approvals, comments.No findings

    Why it is in this group

    • The name "get_audit_log" says "get": a word for reading.
    Description, as the server wrote it
    [Free] Who did what here, newest first: members, spending, review links, approvals, comments.

    Annotations the server declares

    • title: Audit log
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_brand_kit[Free] A site's brand kit, what a film paints from it (and what it cannot, with why), the effective watermark, and the account defaults beneath it.No findings

    Why it is in this group

    • The name "get_brand_kit" says "get": a word for reading.
    Description, as the server wrote it
    [Free] A site's brand kit, what a film paints from it (and what it cannot, with why), the effective watermark, and the account defaults beneath it.

    Annotations the server declares

    • title: Get brand kit
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_format[Free] The format's current template, its version history and the shows that run it, with each show's pin.No findings

    Why it is in this group

    • The name "get_format" says "get": a word for reading.
    Description, as the server wrote it
    [Free] The format's current template, its version history and the shows that run it, with each show's pin.

    Annotations the server declares

    • title: Read a format
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_frames[Free] JPEG stills (≤ 1280 px wide) cut from the finished MP4 at 1–6 moments in seconds, as URLs.No findings

    Why it is in this group

    • The name "get_frames" says "get": a word for reading.
    Description, as the server wrote it
    [Free] JPEG stills (≤ 1280 px wide) cut from the finished MP4 at 1–6 moments in seconds, as URLs. Cached per render.

    Annotations the server declares

    • title: Get frames
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_motion_grammar[Free] The grammar for writing your own animation as a motion spec: no topic → a short index and the authoring loop; topic → one rule file (layers, params, timing, motion, colour, …No findings

    Why it is in this group

    • The name "get_motion_grammar" says "get": a word for reading.
    Description, as the server wrote it
    [Free] The grammar for writing your own animation as a motion spec: no topic → a short index and the authoring loop; topic → one rule file (layers, params, timing, motion, colour, layout, doctrine, examples, brief). Generated from the DSL itself.

    Annotations the server declares

    • title: Motion spec grammar
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_motion_template[Free] One template with its full spec (layers, motion tokens, declared params).No findings

    Why it is in this group

    • The name "get_motion_template" says "get": a word for reading.
    Description, as the server wrote it
    [Free] One template with its full spec (layers, motion tokens, declared params).

    Annotations the server declares

    • title: Read a motion template
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_storyboard[Free] Reads this account.No findings

    Why it is in this group

    • The name "get_storyboard" says "get": a word for reading.
    Description, as the server wrote it
    [Free] Reads this account. Returns the scene-by-scene plan of a video: what each scene narrates, its on-screen caption, how long it holds, and whether it is real footage of the page or a motion graphic (and which motion).

    Annotations the server declares

    • title: Get the scenes of a video
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_timeline[Free] Each scene's start and end in the finished MP4 (seconds), what drew it (recording, page still, AI clip/still, footage, graphic, card, inset), its transition, its slice of th…No findings

    Why it is in this group

    • The name "get_timeline" says "get": a word for reading.
    Description, as the server wrote it
    [Free] Each scene's start and end in the finished MP4 (seconds), what drew it (recording, page still, AI clip/still, footage, graphic, card, inset), its transition, its slice of the one voice track with word onsets, plus the music and caption style. timeline_source: stored by the render, or rebuilt from the scenes.

    Annotations the server declares

    • title: Get the timeline
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_video[Free] Reads this account.No findings

    Why it is in this group

    • The name "get_video" says "get": a word for reading.
    Description, as the server wrote it
    [Free] Reads this account. The full status of a render: phase and progress while it runs (with poll_after_seconds), then the files, length, credits, warnings and quality; on a free film, `upgrade` to relay once. `status` is one of, in pipeline order: draft, queued, analyzing, scripting, recording, voicing, rendering, held, done, error. In flight, so poll again after poll_after_seconds: queued, analyzing, scripting, recording, voicing, rendering. Terminal, so stop polling: held, done, error — a cancelled render ends as error with the reason in `error`, and a film can be done and still carry warnings. held: finished but unpublished by quality_gate. draft has not been queued.

    Annotations the server declares

    • title: Get video status and links
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_video_embed[Free] Returns ready-to-paste markup for a finished PageToVid video: an HTML video element, Open Graph and Twitter player meta tags so the page unfurls as a playable video, and a s…No findings

    Why it is in this group

    • The name "get_video_embed" says "get": a word for reading.
    Description, as the server wrote it
    [Free] Returns ready-to-paste markup for a finished PageToVid video: an HTML video element, Open Graph and Twitter player meta tags so the page unfurls as a playable video, and a schema.org VideoObject JSON-LD block.

    Annotations the server declares

    • title: Get embed and SEO tags for a video
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • inspect_page[Free] Opens a public page in a real browser and ranks what a video could film — calls to action, images, cards, pricing, testimonials, search boxes, headings — each with a CSS sel…No findings

    Why it is in this group

    • The name "inspect_page" says "inspect": a word for reading.
    Description, as the server wrote it
    [Free] Opens a public page in a real browser and ranks what a video could film — calls to action, images, cards, pricing, testimonials, search boxes, headings — each with a CSS selector, kind, size and score (a rank, not a percentage). Says when a robot check, sign-in or missing page stood in front of it (blocked, block_kind), and which fields will never be typed into.

    Annotations the server declares

    • title: See what is on a page worth filming
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_assets[Free] Your PRIVATE bank: every image, clip and audio file, by origin and subject, with id, URL, brief, tags and facets.No findings

    Why it is in this group

    • The name "list_assets" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Your PRIVATE bank: every image, clip and audio file, by origin and subject, with id, URL, brief, tags and facets. Reuse a picture by putting its id in an image scene as data.asset_id (a clip resolves to clipUrl by itself); an audio asset is a film's music as "asset:<id>". Reusing costs no credit.

    Annotations the server declares

    • title: List my media
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_characters[Free] The reusable characters on this account, each with its reference images and description.No findings

    Why it is in this group

    • The name "list_characters" says "list": a word for reading.
    Description, as the server wrote it
    [Free] The reusable characters on this account, each with its reference images and description.

    Annotations the server declares

    • title: List characters
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_comments[Free] Timestamped comments from members and review-link guests, oldest first, and the approval round.No findings

    Why it is in this group

    • The name "list_comments" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Timestamped comments from members and review-link guests, oldest first, and the approval round.

    Annotations the server declares

    • title: List comments
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_commons_assets[Free] Media people shared from their banks for anyone's films — logos, product shots, illustrations, recorded flows — with tags, a licence and the site to credit.No findings

    Why it is in this group

    • The name "list_commons_assets" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Media people shared from their banks for anyone's films — logos, product shots, illustrations, recorded flows — with tags, a licence and the site to credit. An image scene takes an asset's id as data.asset_id (or its url as imageUrl); a gallery takes urls. Only assets their owners switched to shared.

    Annotations the server declares

    • title: Browse the asset commons
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_connections[Free] Every registered connection with its alias, kind and URL.1 finding

    Why it is in this group

    • The name "list_connections" says "list": a word for reading.

    Findings

    • Info

      The description mentions "Credentials".

      Matched text

      description: "...onnection with its alias, kind and URL. Credentials are never returned."

      What this check looks for
    Description, as the server wrote it
    [Free] Every registered connection with its alias, kind and URL. Credentials are never returned.

    Annotations the server declares

    • title: List connections
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_formats[Free] The account's formats, newest change first, with versions and the shows running each.No findings

    Why it is in this group

    • The name "list_formats" says "list": a word for reading.
    Description, as the server wrote it
    [Free] The account's formats, newest change first, with versions and the shows running each.

    Annotations the server declares

    • title: List formats
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_members[Free] Members with role, sites, cap and spend this month; seats; your workspaces (send one as the X-PageToVid-Workspace header to act in it).No findings

    Why it is in this group

    • The name "list_members" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Members with role, sites, cap and spend this month; seats; your workspaces (send one as the X-PageToVid-Workspace header to act in it).

    Annotations the server declares

    • title: List members
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_models[Free] Every model this account can generate clips and stills with — capabilities, limits and the exact credit price — before spending anything.No findings

    Why it is in this group

    • The name "list_models" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Every model this account can generate clips and stills with — capabilities, limits and the exact credit price — before spending anything. Omit model in a scene for the house clip; name one (data.model, or set_inset model) to choose it and pay its price. quote_cost prices a specific request.

    Annotations the server declares

    • title: List generation models and prices
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_motion_templates[Free] Your saved motion graphics (visual "motion") and the commons, with their params.No findings

    Why it is in this group

    • The name "list_motion_templates" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Your saved motion graphics (visual "motion") and the commons, with their params. Rushie designed cards: list_motions {rushie}.

    Annotations the server declares

    • title: List motion templates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_motions[Free] How a scene can look: 26 visuals, 817 animations, motions, transitions, fx.No findings

    Why it is in this group

    • The name "list_motions" says "list": a word for reading.
    Description, as the server wrote it
    [Free] How a scene can look: 26 visuals, 817 animations, motions, transitions, fx. Check pairs before writing scenes. New: get_motion_grammar.

    Annotations the server declares

    • title: List animation styles
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_objects[Free] The reusable objects on this account, with reference images, kind and metadata (price, brand, sku).No findings

    Why it is in this group

    • The name "list_objects" says "list": a word for reading.
    Description, as the server wrote it
    [Free] The reusable objects on this account, with reference images, kind and metadata (price, brand, sku).

    Annotations the server declares

    • title: List objects
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_options[Free] Every enum and range a film accepts (voices, languages, beds, looks, captions, motions, transitions, visuals, aspects, faces, brand kit), the models with a credit example, a…No findings

    Why it is in this group

    • The name "list_options" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Every enum and range a film accepts (voices, languages, beds, looks, captions, motions, transitions, visuals, aspects, faces, brand kit), the models with a credit example, and the inheritance levels.

    Annotations the server declares

    • title: List options
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_revisions[Free] Every storyboard edit, newest first: what changed and a revision_id.No findings

    Why it is in this group

    • The name "list_revisions" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Every storyboard edit, newest first: what changed and a revision_id. restore_revision puts the storyboard back as it was before one.

    Annotations the server declares

    • title: List a storyboard's revisions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_scenes[Free] Saved scenes, newest first: name, id, visual, aspect, whether footage is kept, the {{placeholders}} each needs as params, and tags.No findings

    Why it is in this group

    • The name "list_scenes" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Saved scenes, newest first: name, id, visual, aspect, whether footage is kept, the {{placeholders}} each needs as params, and tags.

    Annotations the server declares

    • title: List saved scenes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_shows[Free] Reads this account.No findings

    Why it is in this group

    • The name "list_shows" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Reads this account. Lists the shows on this account — or one site's — with their cadence, caps, whether each is confirmed or still held, what it spent today, and its five most recent episodes with the video each became.

    Annotations the server declares

    • title: List shows
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_themes[Free] Lists what the theme parameter accepts: the built-in presets, the modes, the type faces the renderer can load, and the contrast and palette rules enforced before a credit mo…No findings

    Why it is in this group

    • The name "list_themes" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Lists what the theme parameter accepts: the built-in presets, the modes, the type faces the renderer can load, and the contrast and palette rules enforced before a credit moves. Static reference data.

    Annotations the server declares

    • title: List theme presets and the rules a theme must satisfy
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_video_options[Free] Lists what create_video accepts: goals, aspect ratios, languages, voices, background music beds (9, each with a family: calm, energetic, serious, playful) and the allowed le…No findings

    Why it is in this group

    • The name "list_video_options" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Lists what create_video accepts: goals, aspect ratios, languages, voices, background music beds (9, each with a family: calm, energetic, serious, playful) and the allowed length range. Static reference data — no account access.

    Annotations the server declares

    • title: List available video options
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_videos[Free] Reads this account.No findings

    Why it is in this group

    • The name "list_videos" says "list": a word for reading.
    Description, as the server wrote it
    [Free] Reads this account. Lists videos newest first with their status and, when finished, their links. Filter by status or by a word in the page URL or title. Returns a cursor when more remain.

    Annotations the server declares

    • title: List videos on this account
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_voices[Free] The narrator voices with measured pitch (band and median Hz) and a short sample in the chosen language where one exists (else sample_url is null).No findings

    Why it is in this group

    • The name "list_voices" says "list": a word for reading.
    Description, as the server wrote it
    [Free] The narrator voices with measured pitch (band and median Hz) and a short sample in the chosen language where one exists (else sample_url is null). Every voice speaks every language.

    Annotations the server declares

    • title: List voices
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • preview_episode[Free] Runs the format's resolvers against the item (real calls, cached) and compiles the storyboard: every beat's final text, the beats dropped and why, the integrity report and w…No findings

    Why it is in this group

    • The name "preview_episode" says "preview": a word for reading.
    Description, as the server wrote it
    [Free] Runs the format's resolvers against the item (real calls, cached) and compiles the storyboard: every beat's final text, the beats dropped and why, the integrity report and where every bound value came from. Nothing is rendered. Read it before run_show confirm=true.

    Annotations the server declares

    • title: Preview an episode
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • preview_motion[Free] Frames back without a render: per aspect (16:9, 9:16, 1:1) a PNG sheet of four beats (entering, landed, hold, exit) — a deterministic LAYOUT wireframe from the DSL's geometr…No findings

    Why it is in this group

    • The name "preview_motion" says "preview": a word for reading.
    Description, as the server wrote it
    [Free] Frames back without a render: per aspect (16:9, 9:16, 1:1) a PNG sheet of four beats (entering, landed, hold, exit) — a deterministic LAYOUT wireframe from the DSL's geometry (exact boxes, wrapping, sizes, colours, timing; system font, no blur or shadow) — plus the problems measured on that frame.

    Annotations the server declares

    • title: Preview a motion spec
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • validate_format[Free] Compiles the template against a sample item, touching no database or feed: the catalogue checks (voice, music, language, theme…), the scene templates filled and checked as a…No findings

    Why it is in this group

    • The name "validate_format" says "validate": a word for reading.
    Description, as the server wrote it
    [Free] Compiles the template against a sample item, touching no database or feed: the catalogue checks (voice, music, language, theme…), the scene templates filled and checked as an animation, and what the first episode's title, brief and scene count would be. Returns problems by field; nothing is created, rendered or charged.

    Annotations the server declares

    • title: Validate a format
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • validate_motion_spec[Free] Dry-run a spec: deterministic repairs, schema, params, layout/legibility/contrast/timing on four frames and the motion doctrine.No findings

    Why it is in this group

    • The name "validate_motion_spec" says "validate": a word for reading.
    Description, as the server wrote it
    [Free] Dry-run a spec: deterministic repairs, schema, params, layout/legibility/contrast/timing on four frames and the motion doctrine. Returns ok, every problem with its path and fix, the repaired spec and the params schema. Nothing is saved.

    Annotations the server declares

    • title: Check a motion spec
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.192.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http pagetovid https://pagetovid.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__pagetovid__get_video",
      "mcp__pagetovid__get_video_embed",
      "mcp__pagetovid__list_models",
      "mcp__pagetovid__list_video_options",
      "mcp__pagetovid__list_motions",
      "mcp__pagetovid__list_themes",
      "mcp__pagetovid__inspect_page",
      "mcp__pagetovid__get_account",
      "mcp__pagetovid__list_videos",
      "mcp__pagetovid__get_storyboard",
      "mcp__pagetovid__list_shows",
      "mcp__pagetovid__get_format",
      "mcp__pagetovid__list_formats",
      "mcp__pagetovid__validate_format",
      "mcp__pagetovid__preview_episode",
      "mcp__pagetovid__list_characters",
      "mcp__pagetovid__list_commons_assets",
      "mcp__pagetovid__list_assets",
      "mcp__pagetovid__list_connections",
      "mcp__pagetovid__list_objects",
      "mcp__pagetovid__list_scenes",
      "mcp__pagetovid__list_motion_templates",
      "mcp__pagetovid__get_motion_template",
      "mcp__pagetovid__get_motion_grammar",
      "mcp__pagetovid__validate_motion_spec",
      "mcp__pagetovid__preview_motion",
      "mcp__pagetovid__list_voices",
      "mcp__pagetovid__get_timeline",
      "mcp__pagetovid__get_frames",
      "mcp__pagetovid__get_brand_kit",
      "mcp__pagetovid__list_options",
      "mcp__pagetovid__list_members",
      "mcp__pagetovid__list_comments",
      "mcp__pagetovid__get_audit_log",
      "mcp__pagetovid__list_revisions"
    ],
    "ask": [
      "mcp__pagetovid__create_video",
      "mcp__pagetovid__create_animation",
      "mcp__pagetovid__release_video",
      "mcp__pagetovid__quote_cost",
      "mcp__pagetovid__detect_brand",
      "mcp__pagetovid__update_storyboard",
      "mcp__pagetovid__translate_video",
      "mcp__pagetovid__get_site_plan",
      "mcp__pagetovid__generate_site_videos",
      "mcp__pagetovid__create_show",
      "mcp__pagetovid__run_show",
      "mcp__pagetovid__update_show",
      "mcp__pagetovid__create_format",
      "mcp__pagetovid__update_format",
      "mcp__pagetovid__fork_format",
      "mcp__pagetovid__verify_episode",
      "mcp__pagetovid__register_mcp_connection",
      "mcp__pagetovid__create_character",
      "mcp__pagetovid__generate_asset",
      "mcp__pagetovid__create_object",
      "mcp__pagetovid__update_object",
      "mcp__pagetovid__import_objects",
      "mcp__pagetovid__save_scene",
      "mcp__pagetovid__copy_scene",
      "mcp__pagetovid__create_motion",
      "mcp__pagetovid__update_motion_template",
      "mcp__pagetovid__save_motion_spec",
      "mcp__pagetovid__upload_asset",
      "mcp__pagetovid__create_upload",
      "mcp__pagetovid__set_brand_kit",
      "mcp__pagetovid__set_account_defaults",
      "mcp__pagetovid__invite_member",
      "mcp__pagetovid__update_member",
      "mcp__pagetovid__create_review_link",
      "mcp__pagetovid__request_approval",
      "mcp__pagetovid__approve",
      "mcp__pagetovid__request_changes",
      "mcp__pagetovid__add_comment",
      "mcp__pagetovid__set_webhook",
      "mcp__pagetovid__update_character"
    ],
    "deny": [
      "mcp__pagetovid__cancel_video",
      "mcp__pagetovid__rerender_video",
      "mcp__pagetovid__delete_object",
      "mcp__pagetovid__remove_member",
      "mcp__pagetovid__rotate_webhook_secret",
      "mcp__pagetovid__restore_revision",
      "mcp__pagetovid__delete_character"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pagetovid. Review it before you use it.