Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions docs/AGENT-OPUS-MCP.md
Original file line number Diff line number Diff line change
@@ -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`
3 changes: 3 additions & 0 deletions docs/FLOYO.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.

Expand Down
2 changes: 2 additions & 0 deletions docs/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
5 changes: 5 additions & 0 deletions docs/MCP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
Loading