Skip to content

Tool reference

These pages are generated from the same registry /api/mcp serves from tools/list, so they describe the wire surface rather than a parallel account of it. There are currently 19 tools.

Tool What it does
| `scrape_article` | Fetch and extract an article from a URL (title, text, authors, and the photos published with it). | | `generate_script` | Start generating a social-video script — either from existing reporting (an article URL, pasted text, or an uploaded document) or, with `brief`, from a story the user describes and wants written for them. | | `get_script` | Fetch a script's status, text, and the photos scraped from its source article. | | `edit_script` | Ask the script-editing agent to revise a script conversationally (tone, length, structure, hook, CTA). | | `update_script` | Replace a script's text verbatim. | | `create_video_from_script` | Create a narrated video from a script: synthesizes an AI voiceover, then runs the b-roll/captions/graphics pipeline to build the cut. | | `get_generation_status` | Batch-check progress of script generations and/or video jobs. | | `get_video_edit_state` | Read a rendered video's structure so you can change it: its tracks, the ids of every b-roll clip / graphic / music item, the caption style, and the graphics theme. | | `edit_video` | Change a rendered video by editing its manifest: add or swap b-roll, music and sound effects, caption look/size/position, lanes on/off, mix levels, graphic copy, brand colours, transition style, retiming or removing an overlay. | | `list_presets` | List the user's saved presets/templates of a given type (name + id + which is the default). | | `list_voices` | List available AI narration voices (ElevenLabs catalogue). | | `list_recent` | List the user's recent scripts or videos — for requests like "make a video from my last script". | | `prepare_recording_handoff` | When the user wants to appear on camera themselves (record & auto-edit), hand off to the recording flow: returns a link into the teleprompter/video wizard preloaded with their script. | | `suggest_video_templates` | Show the user the fixed video formats (layout templates) a script can be turned into — each one is a shape the pipeline assembles the same way every time, with a live preview of the layout. | | `suggest_quick_replies` | Offer the user up to 4 short tappable reply options for your current question (e.g. | | `request_upload` | Show the user an upload dropzone in the chat (e.g. | | `generate_music` | Generate a background music bed from a description of the vibe (e.g. | | `generate_sound_effect` | Generate a short sound effect from a description (e.g. | | `find_broll` | Find one stock clip or still for a description, from the same libraries the pipeline uses. |

Tools are invoked with the standard MCP tools/call method. Your client almost certainly does this for you; this is what it looks like on the wire.

{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "generate_script",
"arguments": {
"source": "https://example.com/article",
"duration_seconds": 60,
"tone": "conversational"
}
}
}

A tool that fails returns a result with isError: true and a structured payload rather than a JSON-RPC error, so a model can read what went wrong and correct itself. See Errors.