From 41a072834af5b2d16c593ba10d168254525b2447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kris=20Kr=C3=BCg?= Date: Sat, 18 Jul 2026 19:58:51 -0700 Subject: [PATCH] docs: add AgentOpus MCP to generative video lane MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document the hosted prompt/script → video MCP next to Rafiki and Floyo so it is not confused with OpusClip clipping. Co-authored-by: Cursor --- docs/AGENT-OPUS-MCP.md | 102 +++++++++++++++++++++++++++++++++++++++++ docs/FLOYO.md | 3 ++ docs/INDEX.md | 2 + docs/MCP.md | 5 ++ 4 files changed, 112 insertions(+) create mode 100644 docs/AGENT-OPUS-MCP.md diff --git a/docs/AGENT-OPUS-MCP.md b/docs/AGENT-OPUS-MCP.md new file mode 100644 index 0000000..f74a04c --- /dev/null +++ b/docs/AGENT-OPUS-MCP.md @@ -0,0 +1,102 @@ +# AgentOpus MCP — generative video + +Hosted MCP for **Agent Opus** (OpusClip's text/script → finished video product). +This is a **generation** surface, same family as Rafiki images + Floyo clips — +not the OpusClip long-form → shorts flywheel in `kk-kb/tools/media_pipeline/`. + +Product page: https://agent.opus.pro/mcp +App: https://agent.opus.pro +FAQ: https://help.opus.pro/agent-opus/article/ao-faq +Prompt guide: https://help.opus.pro/agent-opus/prompt-guide + +## When to use which + +| Need | Tool | +|------|------| +| Still images (Gemini / OpenAI, styles, batches, archive) | **Rafiki** local MCP (`MCP.md`) | +| Short ComfyUI / Floyo morphs, lip-sync, dry-run-first video | **Floyo** (`FLOYO.md`) | +| Narrative explainer / promo / faceless video from prompt or script | **AgentOpus MCP** (this doc) | +| Clip a meetup / YouTube long-form into shorts + schedule | **OpusClip** in kk-kb (`tools/opusclip_pipeline/`, `tools/media_pipeline/OPUS-MCP.md`) | + +Do **not** use AgentOpus to caption or cut existing footage — that is OpusClip. + +## Endpoint + +```text +https://api.opus.pro/api/agent-mcp +``` + +Streamable HTTP + OAuth. No API key. Connection is scoped to the signed-in +AgentOpus account (styles, voices, brand anchors, credits). + +## Install + +### Cursor + +Project or user `mcp.json`: + +```json +{ + "mcpServers": { + "agentopus": { + "url": "https://api.opus.pro/api/agent-mcp" + } + } +} +``` + +Or use the product's **Add to Cursor** deeplink from https://agent.opus.pro/mcp. +Complete OAuth on first tool call. + +### Claude Code + +```bash +claude mcp add --transport http agentopus https://api.opus.pro/api/agent-mcp +``` + +### Codex CLI + +```bash +codex mcp add agentopus --url https://api.opus.pro/api/agent-mcp +codex mcp login agentopus +``` + +## Tool surface (18 × `agentopus_*`) + +Client tools are prefixed `agentopus_`. Core flow: + +1. `whoami` — user, org, plan, credit quota (works on any plan; generation needs Pro+) +2. `list_styles` / `list_voices` / `list_image_models` / `list_assets` — catalog +3. `prepare_project` — prompt or script; voice, style, aspect ratio, duration, ≤8 anchors +4. `start_project` — queue render (**consumes credits**) +5. `get_video` — poll until result URL ready +6. `list_projects` — status + result URLs + +Also: asset library (`upload_asset` / `register_asset` / `delete_asset`), +one-off project uploads, `customize_style`, `clone_voice` / `delete_voice`. + +## Limits (product-stated) + +- Max video length ~**600s** +- Bulk: **10** `start_project` calls per **5 minutes** per org (prepared projects kept) +- Asset library ≤**10** saved anchors; ≤**8** per video +- Image formats for anchors: png, jpeg, webp, gif +- Voice clone: **10–30s** non-instrumental sample + +## HITL rules (KK) + +- Always `whoami` before a spendy batch. +- Prefer a full script or detailed brief before `start_project` — AgentOpus + auto-confirms brief/transcript/storyboard after ~5 minutes of idle if you + walk away in the web app; treat MCP the same: review prepared intent. +- Brand logos / palette: upload anchors; do not rely on prompt-only brand + description (product limitation). +- After a keeper lands, stills/thumbs for the KB still go through **Rafiki**; + meetup short-form distribution still goes through **OpusClip / Buffer** in kk-kb. + +## Related + +- Local Rafiki MCP: [`MCP.md`](./MCP.md) +- Floyo video: [`FLOYO.md`](./FLOYO.md) +- kk-kb OpusClip clipping MCP: `kk-kb/tools/media_pipeline/OPUS-MCP.md` +- kk-kb image shim: `kk-kb/tools/image-gen/README.md` diff --git a/docs/FLOYO.md b/docs/FLOYO.md index 6fbb100..4e8c59a 100644 --- a/docs/FLOYO.md +++ b/docs/FLOYO.md @@ -4,6 +4,9 @@ Rafiki can drive [Floyo](https://flowyo.ai) — a hosted ComfyUI service — to video clips from a workflow template. This is the first slice of folding the [alex-samuel](PERSONAL-MEDIA-SUITE.md) film pipeline into Rafiki. +Need a full narrative / explainer / promo video from a prompt or script instead? +Use hosted **AgentOpus MCP** — see [`AGENT-OPUS-MCP.md`](./AGENT-OPUS-MCP.md). + **Dry-run-first.** Nothing uploads, submits, or downloads unless you pass `--execute`. The only thing that spends FloTime is `--execute`. diff --git a/docs/INDEX.md b/docs/INDEX.md index 89a7899..701f242 100644 --- a/docs/INDEX.md +++ b/docs/INDEX.md @@ -25,6 +25,8 @@ deeper operating docs by surface area. and safety notes. - [MCP Output Contract](MCP-OUTPUT-CONTRACT.md) - proposed stable JSON envelope for typed tool outputs (paths, URLs, counts, errors, mutation flags). +- [AgentOpus MCP](AGENT-OPUS-MCP.md) - hosted generative-video MCP (prompt/script + → finished video); same lane as Rafiki/Floyo, not OpusClip clipping. - [Floyo Video](FLOYO.md) - drive Floyo (flowyo.ai) hosted-ComfyUI workflows to render short clips; dry-run-first CLI + MCP. - [Doctor](DOCTOR.md) - what `npm run doctor` / `npx rafiki --doctor` checks, diff --git a/docs/MCP.md b/docs/MCP.md index 19a0564..cb8271e 100644 --- a/docs/MCP.md +++ b/docs/MCP.md @@ -4,6 +4,11 @@ Rafiki ships a local MCP server at `mcp_server.py`. It exposes the common image-generation functions directly, typed wrappers for stable local workflows, and a constrained bridge to the canonical CLI for everything else. +For **hosted narrative video generation** (prompt/script → finished video via +Agent Opus), see [`AGENT-OPUS-MCP.md`](./AGENT-OPUS-MCP.md). That is a separate +remote MCP — keep it next to Rafiki/Floyo in your mental model; do not confuse +it with OpusClip long-form → shorts in kk-kb. + The server uses the official Python MCP SDK's `FastMCP` API and runs over stdio by default, which is the right fit for local desktop tools.