> ## Documentation Index
> Fetch the complete documentation index at: https://askeditor.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP tools

> A small, stable tool surface; the growing catalog arrives as data.

The connector deliberately exposes **few tools**: agents discover the
growing template catalog by *listing*, so integrating once means every
future template works with zero context cost.

| Tool                                 | What it does                                                                     |
| ------------------------------------ | -------------------------------------------------------------------------------- |
| `list_recipes`                       | The template menu: id, summary, material contract, spec fields, price, ETA.      |
| `estimate`                           | Free: price + typed blockers for a template against your account.                |
| `request_upload` / `wait_for_upload` | Get material in from the agent's machine (one-time upload link for large files). |
| Template run tools                   | Named run verbs per live template (e.g. `tighten_cut`, `create_launch_cut`).     |
| `get_job` / `list_jobs`              | Job status and the final envelope: `finalUrl`, `canvasId`, `canvasUrl`.          |

Review-gated templates additionally expose their review verbs (preview,
approve, revise) so the human-in-the-loop step is explicit in the agent's
conversation.

## Choosing between similar tools

A few verbs sound like the same job. When two could plausibly answer a
request, **prefer the more robust one** — the one with the widest material
contract, typed refusals, and a result that stands on its own. Reach for a
narrower verb only when you are already inside its pipeline.

| If the user asks…                                        | Use                                                                                                                 | Not                                                                                               |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| "remove the background", "cut me out", "put me on green" | `remove_background` — any clip up to 15s, typed refusals, cached retries, returns a file **and** an editable canvas | `cut_out_subject`                                                                                 |
| "put a word behind me"                                   | Start at `preview_text_behind` — the cutout is step 2 of that flow                                                  | `remove_background` (it cuts the whole clip and cannot produce the per-moment cutouts this needs) |

`cut_out_subject` is not a general background remover: it cuts only the
moments a placement names, and its output is an **input to
`apply_text_behind`**, not a deliverable. That narrowness is the point — a
20-minute recording costs the same as a 20-second one — but it makes it the
wrong answer to a plain "cut me out".

<Note>
  Every run verb states its own price and its refusals in its description, and
  `estimate` is free and authoritative. When two tools look equally valid,
  estimate both and quote the user the numbers before spending anything.
</Note>
