Documentation

Everything you need to know about Artidor — AI copilot, MCP server integration, features, and troubleshooting.

🚀

Getting Started

Artidor is a privacy-first, open-source video editor that runs entirely in your browser. No uploads, no cloud rendering — your media stays on your machine.

Quick Start

  • Open the editor at /editor and create a new project.
  • Drag and drop media files into the Assets panel, or click Import.
  • Drag clips from Assets onto the timeline to start editing.
  • Use the AI panel (Arth) to edit with natural language — just describe what you want.
  • Export your video from the Export button when you're done.
💡Everything runs locally in your browser. Your media, projects, and edit history never leave your machine unless you explicitly export or share them.

AI Copilot (Arth)

Arth is the built-in AI assistant that can edit your video project using natural language. Tell it what you want in plain English and it calls tools to make it happen.

Using Arth

  • Open the AI panel in the right sidebar of the editor.
  • Type a request like 'Add a text layer that says Hello World' or 'Trim the first clip to 5 seconds'.
  • Arth will plan, call the right tools, and show you each action as it executes.
  • You can queue messages while Arth is busy — they'll be sent in order when the current task finishes.
  • Use Steer to interrupt the current generation and send a new message immediately.
  • Click Stop to cancel the current generation (queued messages continue).

AI Providers

Arth supports multiple AI providers. You can use:

  • Puter.js — free, no API key needed, runs in the browser.
  • OpenAI — bring your own API key (GPT-4, GPT-4o, etc.).
  • Anthropic — bring your own API key (Claude models).
  • Ollama — run models locally on your machine.
  • Custom OpenAI-compatible — any provider that implements the OpenAI chat API.
ℹ️API keys are encrypted with AES-GCM before being stored in localStorage. They never leave your browser except to call the provider's API directly.

Media Generation

When using Puter.js, Arth can generate video, images, and audio directly. The available models are fetched dynamically from your Puter account — just select them from the dropdown when configuring a Puter provider.

Auto-Learn

Auto-learn lets Arth learn from your editing style. When enabled, it defaults to project-scoped learning (only learns from edits in the current project). You can switch to global scope to learn across all projects, or turn it off entirely.

🔌

MCP Server — External AI Integration

Artidor includes a built-in MCP (Model Context Protocol) server that lets external AI agents — like Claude Desktop, Cursor, or any MCP-compatible client — directly edit your Artidor projects. This means you can use your favorite AI tool to drive Artidor's timeline, add effects, manipulate clips, and more.

ℹ️Yes — if you give the MCP server to another AI (like Claude Desktop or Cursor), that AI can directly edit your Artidor project in real-time. The AI calls Artidor's tools through the MCP protocol, and the changes appear instantly in your editor tab.

How It Works

The MCP server uses a relay-based architecture. It doesn't run commands itself — instead, it relays tool calls from the external AI to a running Artidor editor tab over a localhost WebSocket:

MCP client (Claude/Cursor) ──stdio──▶ @artidor/mcp-server ──ws://127.0.0.1:8765──▶ Editor tab
  • The tool catalog is fetched live from the connected editor tab, so it always matches the editor's current build.
  • All 77+ editor tools are exposed — the same tools Arth uses internally.
  • Tool calls are validated against JSON Schema before execution.
  • Changes appear in real-time in the editor tab.

Setup: Let External AIs Edit Your Project

Step 1 — Build the MCP server:

bun install
cd packages/mcp-server && bun run build

Step 2 — Enable the relay in the editor. Add this to apps/web/.env.local:

NEXT_PUBLIC_MCP_RELAY_URL=ws://127.0.0.1:8765

Step 3 — Open the Artidor editor in your browser (use http://localhost, not https://, so the browser allows the local WebSocket connection).

Step 4 — Configure your MCP client. For Claude Desktop, add this to your config file:

{
  "mcpServers": {
    "artidor": {
      "command": "node",
      "args": ["path/to/artidor/packages/mcp-server/dist/index.js"]
    }
  }
}

For Cursor, add the same config to your MCP settings.

⚠️The Artidor editor tab must be open and connected for the MCP server to work. Without an open tab, tools/list returns empty and tool calls fail with 'editor not connected'.

Available Tool Categories

The MCP server exposes 77+ tools across 15 categories. All tools use the same validated command vocabulary as the in-app AI:

CategoryToolsWhat You Can Do
Project4Set FPS, canvas size, background, save project
Scene4Create/rename scenes, add/remove bookmarks
Track4Add/remove tracks, mute/solo, visibility
Element15+Insert/move/split/trim/delete elements, transforms, opacity, blend modes, speed
Effect6Add/remove effects, set parameters, enable/disable, reorder, copy
Mask3Add/remove masks, set mask parameters
Keyframe6Add/remove keyframes, set values, easing, copy/paste
Transition2Add/remove transitions between elements
Playback4Play, pause, seek, set playback speed
Asset6List assets, add media to timeline, manage folders
Capture2Capture frames, capture audio regions
Style2Apply/save presets
Export2Export video, export frame
History3Undo, redo, get history
Selection3Select/deselect elements, get current selection
Clipboard4Copy, paste, cut, clear clipboard
Planning2Create plans, update todo items
Generate6+Generate video, images, audio, thumbnails, voiceovers, music (requires configured media models)

Security

  • Localhost only — the relay binds to 127.0.0.1, so only local processes can connect.
  • All tool calls are validated against JSON Schema before execution.
  • MCP policy enforces least privilege, typed tools, logging, and deny-by-default.
  • Dangerous tools (shell execution, network requests, secret access) are disabled.
  • All tool calls are logged for audit purposes.
💡You can change the relay port with the ARTIDOR_MCP_PORT environment variable if 8765 is already in use.
🧩

MCP Client — Connect External MCP Servers to Arth

Artidor can also act as an MCP client. This means you can connect external MCP servers to Arth, giving the in-app AI access to tools from other services (databases, APIs, file systems, etc.).

Adding an MCP Server

  • Open the AI panel in the editor.
  • Click the puzzle icon (MCP Server chip) in the AI panel header.
  • Click 'Add MCP Server'.
  • Enter a name, the SSE endpoint URL, and an optional bearer token.
  • Click Add — Arth will connect and discover available tools.

Once connected, tools from the external MCP server appear in Arth's tool list with the prefix 'mcp__'. Arth can call them just like any built-in tool.

ℹ️MCP server configurations are stored in localStorage and persist across sessions. You can enable/disable individual servers without removing them.
⌨️

Keyboard Shortcuts

ShortcutAction
SpacePlay / Pause
Ctrl/Cmd + ZUndo
Ctrl/Cmd + Shift + ZRedo
Ctrl/Cmd + SSave project
Ctrl/Cmd + CCopy selection
Ctrl/Cmd + VPaste
Ctrl/Cmd + XCut
DeleteDelete selected elements
SSplit element at playhead
Arrow Left/RightMove playhead frame by frame
Shift + ArrowMove playhead 10 frames
Enter (in AI panel)Send message / Queue if busy
Shift + Enter (in AI panel)New line in message
📁

Project Management

Saving & Loading

  • Projects are saved locally in your browser by default (IndexedDB).
  • Use Ctrl/Cmd + S to save manually.
  • Projects can also be saved to Google Drive for cloud backup.
  • The .artpr format is an encrypted project file that can be exported and imported.

Google Drive Integration

Connect your Google Drive account from the Projects page to save and load projects from the cloud. Drive access tokens are stored in sessionStorage (per-tab) for security, not in persistent localStorage.

Sharing

You can share projects via shareable links. Shared projects can be viewed by anyone with the link. You can optionally password-protect shared projects.

👥

Real-time Collaboration

Artidor supports real-time collaboration. You can invite others to edit a project with you in real-time, with live cursors, synchronized playback, and shared edit history.

  • Click the Share button in the editor to create a collaboration room.
  • Share the room link with your collaborators.
  • Each collaborator's cursor and selections are visible in real-time.
  • Edits are synchronized and can be undone/redone by any participant.
  • Collaboration uses WebSocket-based real-time communication.
🎬

Export & Rendering

Artidor renders video locally in your browser using WebCodecs and Web Workers. No cloud rendering — everything happens on your machine.

  • Export to MP4 with configurable resolution, bitrate, and FPS.
  • Export a single frame as an image.
  • Rendering happens in a Web Worker to keep the UI responsive.
  • Progress is shown in real-time during export.
💡For faster exports, close other heavy browser tabs. Rendering uses your GPU via WebCodecs when available.
🔒

Privacy & Security

Artidor is designed privacy-first. Here's what that means in practice:

  • All editing happens locally in your browser — no media is uploaded to any server.
  • AI provider API keys are encrypted with AES-GCM before storage.
  • Google Drive tokens are stored in sessionStorage (per-tab), not persistent localStorage.
  • Rate limiting on all API endpoints with fail-closed local fallback.
  • Content Security Policy (CSP) headers protect against XSS.
  • SSRF protection on AI provider URLs.
  • No tracking, no analytics on your edit data.
  • Auto-learn is opt-in (off by default) — your edit data is never collected without consent.
🔧

Troubleshooting

AI not responding

  • Check that you have at least one AI provider configured (Settings → AI or click the provider name in the AI panel).
  • If using Puter.js, make sure you're signed in to your Puter account.
  • If using an API key provider, verify the key is correct and has sufficient credits.
  • Check the error message in the AI panel — it will tell you what went wrong.

MCP server not connecting

  • Make sure the Artidor editor tab is open in your browser.
  • Verify NEXT_PUBLIC_MCP_RELAY_URL is set and points to the correct port.
  • Use http://localhost (not https://) to avoid mixed-content blocking.
  • Check that port 8765 (or your custom ARTIDOR_MCP_PORT) is not in use.
  • If the MCP client can't connect, verify the path to packages/mcp-server/dist/index.js is correct.

Export failing

  • Make sure your browser supports WebCodecs (Chrome 94+ or Edge 94+).
  • Try a lower resolution or bitrate if rendering runs out of memory.
  • Close other tabs to free up GPU memory.

Connection dropped mid-task

If the AI connection drops while executing tools, Artidor will automatically retry up to 4 times with exponential backoff (1s, 2s, 4s delays). If all retries fail, your queued messages are preserved — just send a new message to continue.