Frame.io Agent
Allows pulling YouTube video references into Frame.io project folders via yt-dlp, enabling review of external content within Frame.io.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Frame.io Agentfind my latest cut and summarize the review comments with timecodes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Frame.io Agent
by VAXA Studio
Turn your coding agent into an assistant editor who actually knows Frame.io.
Ask your agent, from anywhere:
"Dig through today's clips and cut me a reel of only the shots that don't suck." →
frames pullhands your agent a frame from every clip; it judges them and ships the keepers as a review link."Read every note the client left on v7 and tell me what they actually want." →
comments --jsonreturns every note with timecodes; your agent does the diplomacy."Contact sheet of the shoot — minus every take with a C-stand in the background." → your agent looks at the frames, spots the C-stands, rebuilds the sheet without them.
The CLI has no LLM inside it — it gives whatever agent you already run (Claude Code, Cursor, Codex, Gemini CLI, any OpenRouter harness) clean JSON, real pixels, and confirmation-gated write commands. Read-only by default; it can't delete, rename, move, or change permissions. Ever.
Unofficial community tool. Not affiliated with, endorsed by, or supported by Adobe or Frame.io. "Frame.io" is a trademark of Adobe.
Prerequisites
A Frame.io V4 account (the
next.frame.ioplatform — legacy v3fio-u-*tokens won't work).An Adobe ID that can open the Adobe Developer Console and add the Frame.io API (free; one-time ~5-minute OAuth app setup — the wizard walks you through it).
Python 3.10+ and git.
Optional: a multimodal agent for the vision workflows;
pip install "frameio-agent[images]"for contact sheets;[youtube]for YouTube/X ingestion.
Related MCP server: FlutterFlow MCP Server
Quick start (with an agent)
git clone https://github.com/sheldondirector/frameio-agent
cd frameio-agentThen paste this to your coding agent:
Connect this repo to my Frame.io account.
1. Read AGENTS.md — it has the rules and the agent-driven login flow.
2. Install deps: python scripts/setup.py
3. Set up .env from .env.example (ask me for my Adobe OAuth Client ID and Secret).
4. Authenticate with the two-step flow: run `frameio-agent auth start --json`,
show me the sign-in URL, and when I paste the redirect URL back, run
`frameio-agent auth complete "<that url>"`.
5. Run `frameio-agent verify`.
6. Then: find my latest cut and summarize its review comments with timecodes.
Never print secrets. Prefer --json when parsing.
Every write command shows a confirmation summary — ask me before using --yes.Quick start (manual, human at the terminal)
python scripts/setup.py # install deps
python -m frameio_agent.cli auth login # guided OAuth wizard (interactive)
python -m frameio_agent.cli verify
python -m frameio_agent.cli projects --json
python -m frameio_agent.cli latest --project <id> --json
python -m frameio_agent.cli comments <file_id> --jsonWhat it does
Read (no confirmation needed):
auth login— guided Adobe IMS OAuth wizard with clipboard auto-detect (for humans at a terminal). Agents useauth start/auth completeinstead — non-interactive, documented inAGENTS.md.auth status/verify— confirms the connection without printing tokens.projects --json— lists accounts / workspaces / projects.latest --project <id>— newest-updated video assets, recency-first.search "<query>"— account-wide search. Add--nlpfor natural-language matching ("red car driving on highway"), or keep the default lexical engine for exact names.comments <file_id> --json— normalized review notes (timecode + timestamp_seconds + author + thread).brief --project <id>— one-paragraph project status.
Vision (give your agent eyes):
frames pull --project <id> --out ./frames— download one preview frame per clip + amanifest.jsonmapping each image back to itsfile_id. Read-only; writes only local files. Your multimodal agent then looks at the frames, judges them, and drives the next command —share createwith the selects, orcontact-sheet --from-manifest --excludewith the rejects. Works with any agent that can read an image.contact-sheet --project <id> --out sheet.png— thumbnail grid of a project or folder. Filter with--only/--excludefile_id lists, number tiles with--index, or build offline from aframes pullmanifest with--from-manifest.
Write (every one is confirmation-gated):
share create <file_id> [...] --name "..."— bundle assets into a Frame.io review share. Multi-asset;--reviewers a@x.com,b@y.comsends email invites (max 10);--expires,--password,--no-download. Default visibility is public-link;--restrictedrequires thesecure_sharingfeature on paid Frame.io plans (the CLI tells you plainly if yours lacks it).refs add <url-or-path> --folder <folder_id>— pull a YouTube/X/TikTok/Vimeo URL via yt-dlp, upload a local file, or point Frame.io at a direct URL it can fetch itself. One command, mode auto-detected.
Read-only by default. Mutations only fire after an explicit y/N confirmation (or --yes when the user has authorized that specific action).
Security
Read-only by default; every mutation is opt-in and confirmation-gated. Share creation and reference uploads require y/N (or an explicit, user-authorized
--yes). No silent writes ever. Comment posting is not shipped;commentsis read-only.Delete / rename / move / permission-change are NOT in scope. Those endpoints exist in Frame.io V4; the CLI just doesn't call them — and
AGENTS.mdinstructs agents not to add them.Secrets stay local.
.envand the token cache are git-ignored; the CLI redacts token-like values from all output; share passwords are never echoed.Bring your own credentials. Nothing is ever sent to the maintainers.
Which agents work with this?
Any agent that can run local shell commands — the model is entirely your choice:
Claude Code / Cursor / OpenAI Codex CLI / Gemini CLI — paste the quick-start prompt above and go.
OpenRouter-backed agents (Aider, OpenHands, Cline, custom harnesses — any model): same thing. For the vision workflows, pick a multimodal model.
Agent-driven login: agents use the non-interactive
auth start --json→auth complete "<redirect-url>"pair; the interactiveauth loginis for humans at a terminal.
Optional: MCP
If your agent supports MCP, run frameio-agent mcp to expose the core read operations (auth status, projects, latest, comments) as MCP tools. The CLI is the spine and carries the full command surface — MCP is a thin, read-only wrapper.
Troubleshooting
If you see | Do |
| Run |
| Re-run the login flow |
| Run |
| Set |
| Use the default |
| Re-run with a higher |
|
|
|
|
Roadmap
Open issues track what's next: PyPI/pipx packaging, HTTPS-loopback zero-paste auth, multi-frame extraction via ffmpeg. See Issues.
License
MIT. See LICENSE.
Credits
Built by VAXA Studio — we make tools for creative teams using coding agents. Developed with Claude Code (Claude, by Anthropic) as pair programmer — architecture, implementation, tests, and this README were co-authored across human/agent sessions.
Unofficial community tool. Not affiliated with, endorsed by, or supported by Adobe or Frame.io.
This server cannot be deployed
Maintenance
Related MCP Connectors
FFmpeg as a service for AI agents: typed video editing tools, async jobs, downloadable outputs.
- PriorifyOAuthapp.priorify
Agent-complete, permission-scoped product operations for Priorify workspaces.
Create and manage cinematic AI video renders through the Future Video Studio Agent API.
Supervised API-write gateway for AI agents with policy, human approval and execution receipts.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides comprehensive GraphQL introspection, filtering, and query/mutation execution with safety controls. Enables AI agents to explore and interact with GraphQL APIs through natural language.79 npm1MIT
- AlicenseNot gradedqualityDmaintenanceConnects AI coding agents to FlutterFlow projects, enabling browsing, inspection, and modification of projects directly from the assistant.14 npmMIT
- FlicenseAqualityAmaintenanceEnables coding agents to perform workspace-confined file operations, read-only Git inspection, and structured shell commands, while requiring out-of-band human approval for mutations and external executions and maintaining an audit trail.143-
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to securely read, update, and create tasks on ProjectFlow boards.MIT