
List all Frame.io accounts the authenticated user has access to. Returns account IDs needed for other operations.
List users in a Frame.io account with their roles. Use to find team members and their permissions.
List comments on a file. Includes timecoded video comments with timestamp positions. Supports pagination.
Add a comment to a file. Set timestamp (frame number) to anchor the comment on the video timeline.
Get details of a specific comment by ID.
Update a comment's text or completion status.
Delete a comment permanently.
List files in a folder. Use listprojects to find root folder IDs, then listfolders to navigate. Supports pagination.
Get details of a specific file by ID, including download URLs (temporary, expire within 24h).
Update a file's name or properties.
Delete a file permanently.
Import a file into a folder from a publicly accessible URL. The file is downloaded by Frame.io asynchronously; status starts as 'created' and progresses through 'processing' to 'ready'.
Copy a file to a different folder.
Move a file to a different folder.
List subfolders in a folder. Use list_projects to find root folder IDs, then browse deeper with this tool. Supports pagination.
Create a new folder inside a parent folder.
Get details of a specific folder by ID.
Update a folder's name.
Delete a folder and all its contents permanently.
List all children (files, folders, version stacks) in a folder. Returns mixed types. Use listfiles or listfolders for type-specific listing.
Copy a folder and its contents to a destination folder.
Move a folder to a different parent folder.
Get custom metadata values for a file. Use listmetadatafields to see available field definitions.
List custom metadata field definitions for an account. Shows available fields that can be set on files.
Apply metadata field values to one or more files in a project. The same set of values is applied to every listed file. Requires custom (mutable) metadata field definitions; system fields cannot be edited.
List projects in a workspace. Returns project IDs and rootfolderid needed to browse files. Use list_workspaces to find workspace IDs.
Create a new project in a workspace. Use list_workspaces to find workspace IDs.
Get details of a specific project by ID, including its rootfolderid for browsing files.
Update a project's name or settings.
Delete a project permanently. This removes all files and folders within it.
List share links for a project. Share links allow external reviewers to view and comment on files.
Create a share link for a project. Optionally set expiration, password, and download permissions. Add assets with addassetsto_share.
Get details of a specific share link by ID, including its public URL.
Update a share link's name, expiration, password, or download settings.
Delete a share link permanently. External reviewers will lose access.
Add a file or folder to an existing share link so reviewers can see it.
Remove a file or folder from a share link.
Get the currently authenticated user's profile including name, email, and avatar URL.
Validate Frame.io credentials by fetching the current user profile. Returns success status and message.
List version stacks in a folder. Version stacks group multiple versions of a file together.
Create a version stack from a list of file IDs. Groups file versions together for comparison and review.
Get details of a specific version stack by ID.
List file versions within a version stack. Returns individual file versions ordered by version number.
List workspaces in a Frame.io account. Workspaces contain projects. Use cursor from page_info for pagination.
Create a new workspace in a Frame.io account. Workspaces organize projects.
Get details of a specific workspace by ID.
Update a workspace's name or settings.
Delete a workspace permanently. This removes all projects and files within it.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}A Frame.io MCP is a server that gives your agents access to data and functionality from Frame.io through a set of callable tools. Your agents can use these tools to list and organize projects, retrieve files and version stacks, pull timecoded review comments, create share links, and more.
Frame.io doesn't offer an MCP server purpose built for Frame.io, but you can use one from a third-party platform, like Merge Agent Handler.
The use cases naturally depend on the agent you've built, but here are a few common ones:
Here are some of the most commonly used tools:
list_projects: retrieves all projects within a workspace, including metadata like creation date and owner. Useful for agents that need to scan active productions or build a cross-project status viewget_file: fetches a single file record including its review status, version information, and associated metadata. Call this when an agent needs full context on an asset before taking a downstream actionlist_comments: returns all comments on a file, including timecode positions and commenter details. Good for workflows that aggregate review feedback or detect unresolved notes on a deliverycreate_comment: adds a comment to a file at a specified timecode, which agents can use to annotate assets programmatically based on output from another system or analysis stepcreate_share: generates a share link for a file or project with configurable permissions. Helpful when an agent needs to deliver assets to an external reviewer or client after an approval event is detectedmove_file: moves a file to a different folder or project. Use this when an agent needs to reorganize assets based on status changes, such as moving approved files into a delivery folder automaticallyHere are just a few reasons to use Merge Agent Handler's Frame.io MCP server over building your own or using another:
You can take the following steps:
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp. Then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose Frame.io and complete the auth flow. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying Frame.io data directly. The first time you use a Frame.io tool, a Magic Link may appear to complete connector authentication.
Note: If you want to connect Merge Agent Handler's Frame.io MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Yes, Agent Handler for Employees lets your employees connect Claude, ChatGPT, Microsoft Copilot, Cursor, and other MCP-compatible AI tools to Frame.io without bypassing IT governance.
Instead of setting up direct connections with personal credentials that IT can't monitor or revoke, each employee authenticates through Agent Handler and gets individual credentials tied to their identity.
IT also provisions access by role or group via SCIM. A video editor, for example, gets Frame.io access to review and annotate cuts, Slack to share feedback with the team, and Google Drive to pull source assets; while a creative director gets Frame.io access to track project approvals, Asana to manage production timelines, and Slack to align stakeholders on delivery milestones.
Every tool call an employee's AI makes to Frame.io is also inspected against your DLP rules and logged to a searchable audit trail, giving security teams full visibility into what data was accessed and by whom.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now