MCP Hub
Back to servers

assimilate-mcp

MCP server for Assimilate Live FX / SCRATCH — control professional color grading software with AI

npm76/wk
Updated
Feb 25, 2026

Quick Install

npx -y assimilate-mcp
▄▀█ █▀ █▀ █ █▀▄▀█ █ █   ▄▀█ ▀█▀ █▀▀   █▀▄▀█ █▀▀ █▀█
█▀█ ▄█ ▄█ █ █ ▀ █ █ █▄▄ █▀█  █  ██▄   █ ▀ █ █▄▄ █▀▀

Add AI control to your virtual production studio and post-production pipeline.


npm  License  MCP Server  Claude Desktop  Node.js  88 Tools



Model Context Protocol server for Assimilate Live FX / SCRATCH.
Works with Claude Desktop, VS Code, Cursor, Windsurf, OpenClaw, and any MCP client.
Complete 1:1 integration of the Assimilate REST API — 88 tools across 14 categories.


What is this?

AssimilateMCP lets you control Assimilate Live FX / SCRATCH by talking to AI in plain English.

Instead of clicking through menus, you describe what you want and your AI assistant does it:

  • "Import today's footage from /Volumes/Media/Day_12 and create a new group called Day 12 Dailies"
  • "Create ProRes dailies with a timecode burn-in"
  • "Composite this green screen shot"
  • "The gamma feels cold on this whole sequence — warm it up across all the shots"
  • "Step through each shot and take a snapshot for the director"

Dailies, grading, compositing, rendering deliverables — describe the workflow in your own words and the AI handles the rest. No commands to memorize, no scripting.

How does it work?

AssimilateMCP is an MCP server. MCP (Model Context Protocol) is an open standard that lets AI apps talk to external software. Think of it like a plugin system — MCP servers give AI assistants new abilities by connecting them to tools and services they couldn't access on their own.

In this case, AssimilateMCP connects your AI assistant to the Assimilate REST API, which is the programmatic interface built into Live FX and SCRATCH. Every feature the REST API exposes — projects, timelines, color grading, playback, rendering, outputs, file management — becomes a tool the AI can use. 88 tools total, covering every endpoint.

AssimilateMCP works with any MCP-compatible client: Claude Desktop, VS Code (GitHub Copilot), Cursor, Windsurf, OpenClaw, and more. See Compatible Clients for setup instructions. The Getting Started guide below uses Claude Desktop as the example.

You (natural language) → AI Client → AssimilateMCP → Live FX / SCRATCH

You talk to your AI assistant. The AI talks to AssimilateMCP. AssimilateMCP talks to Live FX. Everything happens in real time on your local machine.


Getting Started

You'll need three things installed before you begin:

Assimilate Live FX or SCRATCHv9.9+ with REST API enabled
Claude DesktopDownload and install if you haven't already
Node.jsv18 or later — download the LTS version

[!NOTE] The REST API is currently available with a special beta build. See the Assimilate REST API documentation for details, or contact Assimilate Support for access.

Step 1 — Enable the REST API in Live FX

  1. Open Live FX or SCRATCH
  2. Go to System SettingsGeneral
  3. Check Enable HTTP Server
  4. Leave the port as 8080 (default) or note the port you choose
  5. Click Apply

Step 2 — Add AssimilateMCP to Claude Desktop

Claude Desktop needs a small config file that tells it where to find MCP servers. You only do this once.

Open the config file:

macOSWindows

Open Claude Desktop, then go to Claude (menu bar) → SettingsDeveloperEdit Config

This opens claude_desktop_config.json in your default editor. If the file is empty or doesn't exist yet, that's normal.

Open Claude Desktop, then go to FileSettingsDeveloperEdit Config

Or open the file manually at %APPDATA%\Claude\claude_desktop_config.json

Paste this into the file:

{
  "mcpServers": {
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}

That's it. Claude Desktop will automatically download and run AssimilateMCP when it starts.

Save the file and close the editor.

[!TIP] Already have other MCP servers configured? Don't replace the whole file. Add the "assimilate": { ... } block inside your existing "mcpServers" object, separated by a comma:

{
  "mcpServers": {
    "some-other-server": { "..." },
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}
Windows: npx not found?

If Claude Desktop can't find npx on Windows, add the Node.js path explicitly:

{
  "mcpServers": {
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"],
      "env": {
        "PATH": "C:\\Program Files\\nodejs;%PATH%"
      }
    }
  }
}

Or use the full path to npx:

{
  "mcpServers": {
    "assimilate": {
      "command": "C:\\Program Files\\nodejs\\npx.cmd",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}
Faster startup: global install

npx downloads AssimilateMCP on every launch. For faster startup, install it globally once:

npm install -g assimilate-mcp

Then use this config (no npx, no -y):

{
  "mcpServers": {
    "assimilate": {
      "command": "assimilate-mcp"
    }
  }
}

To update later: npm update -g assimilate-mcp

Alternative: install from source

If you prefer to clone the repo and build locally:

git clone https://github.com/amac-roguelabs/assimilate-mcp.git
cd assimilate-mcp
npm install
npm run build

Then use this config instead, replacing the path with where you cloned the repo:

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

Not sure what your full path is? Run echo "$(pwd)/dist/index.js" from the repo folder and paste the output into the "args" array.

Step 4 — Restart Claude Desktop

Fully quit Claude Desktop (Cmd+Q on macOS, Alt+F4 on Windows) and reopen it. A simple close isn't enough — the app needs to fully restart to pick up the new config.

After restarting, look for the hammer icon in the bottom-right of the chat input box. Click it — you should see AssimilateMCP and its 88 tools listed. If you see the hammer icon, the server is loaded.

Step 5 — Connect to Live FX

Make sure Live FX is running with the HTTP server enabled (Step 1), then ask Claude:

"What projects are available?"

If Claude responds with a list of projects from Live FX, everything is working.

It's not working?
SymptomFix
No hammer icon in Claude DesktopThe config file has a syntax error. Open it and check for missing commas, brackets, or quotes. JSON must be valid.
Hammer icon shows but tools failMake sure Live FX is running and the HTTP server is enabled in System Settings → General.
"Connection refused" errorsCheck that the port matches (default 8080). If you changed it in Live FX, add "--port", "YOUR_PORT" to the args array.
"Cannot find module" errorThe path in your config is wrong. Double-check it matches where you cloned the repo, and that you ran npm run build.

Check the logs for detailed error messages:

macOS:

cat ~/Library/Logs/Claude/mcp-server-assimilate.log

Windows:

%APPDATA%\Claude\logs\mcp-server-assimilate.log

Examples

Here's a sample of what you can do. These aren't special commands — just plain English.

Dailies & Review

  • "Import all the ARRIRAW files from /Volumes/Shuttle/Day_14"
  • "Create a group called Day 14 Selects and add the circled takes"
  • "Play through the timeline and stop at any shot longer than 5 seconds"
  • "Take a snapshot of this frame so I can send it to the director"

Color Grading

  • "Show me the grade on shot 3"
  • "The whole sequence is a bit cool — warm up the gamma"
  • "Push the lift toward blue and pull the gain toward warm"
  • "Copy the grade from shot 5 and apply it to shots 6 through 10"

Compositing & VFX

  • "Composite this green screen shot"
  • "Add a clean plate as a second input on shot 12"
  • "What inputs does this shot have?"
  • "Set the framing to reposition the subject"

Rendering & Deliverables

  • "Create ProRes dailies with a timecode burn-in"
  • "Set up a ProRes 4444 output at /Volumes/Render/Episode_3"
  • "Render the full timeline"
  • "How's the render going? How many shots are left?"

Project Management

  • "What projects are available?"
  • "Create a new project called Commercial_Nike_Q3"
  • "List all the groups in this project"
  • "Show me what constructs are in the VFX group"

Media & File Management

  • "Find all EXR sequences on /Volumes/Media"
  • "Import the RED files from /Volumes/Camera/A_Cam"
  • "Move version 2 to the next slot"
  • "List everything in /Volumes/Shuttle"

Tools

88 tools — complete coverage of every endpoint in the Assimilate REST API.

CategoryCountExamples
System8get_system list_users select_user create_user check_connection
Projects7list_projects enter_project create_project
Groups9list_groups get_current_group move_group create_group
Constructs10list_constructs create_construct move_current_construct
Slots5list_slots get_slot set_slot create_slot
Versions5list_versions get_version set_version move_version
Shots7get_shot set_shot create_shot import_media
Inputs4get_inputs get_input set_input delete_input
Color Grading5get_grade set_grade get_framing set_framing
Player8enter_timeline set_playmode enter_shot exit_player
Render10start_render stop_render start_render_item stop_render_item
Outputs6list_outputs create_output set_output
Snapshots2render_snapshot get_shot_metadata
Files2list_directory find_media

Architecture

flowchart LR
    A["Claude Desktop"] -- "stdio / MCP" --> B["AssimilateMCP"]
    B -- "HTTP :8080" --> C["Live FX / SCRATCH"]

AssimilateMCP speaks the Model Context Protocol over stdio. Claude Desktop launches the server, sends tool calls, and AssimilateMCP translates them into HTTP requests against the REST API running inside Live FX / SCRATCH.

Data Model

The Assimilate data hierarchy maps directly to the tool categories:

System
  └── Project
       └── Group
            └── Construct (Timeline)
                 ├── Slot
                 │    └── Version (Shot)
                 │         ├── Color Grade
                 │         ├── Framing
                 │         ├── Inputs (Source Layers)
                 │         └── Animation
                 └── Output Nodes

Configuration

CLI Options

Pass these as additional args in your Claude Desktop config:

"args": ["/path/to/dist/index.js", "--port", "9090", "--key", "mykey"]
FlagDescriptionDefault
--hostLive FX host127.0.0.1
--portLive FX REST API port8080
--keyREST API authorization key
--timeoutHTTP request timeout (ms)30000
--verbose -vVerbose loggingoff

Environment Variables

VariableDescription
ASSIMILATE_HOSTLive FX host
ASSIMILATE_PORTLive FX REST API port
ASSIMILATE_KEYREST API authorization key
ASSIMILATE_TIMEOUTHTTP request timeout (ms)

Connection Scenarios

Same Machine (Default)

Claude Desktop and Live FX on the same computer — no extra configuration needed. Connects to localhost:8080.

Different Port

Add "--port", "9090" to the args array in your Claude Desktop config.

Remote Machine

Live FX only accepts connections from localhost, so you need an SSH tunnel from the machine running Claude Desktop:

ssh -f -N -L 8080:127.0.0.1:8080 user@192.168.1.50

Then use the default config — Claude Desktop connects to localhost:8080 which tunnels to the remote machine.

For machines on different networks, use Tailscale or any VPN, then tunnel via the VPN IP.

Persistent tunnel setup

Add to ~/.ssh/config:

Host livefx
    HostName 192.168.1.50
    User your-username
    LocalForward 8080 127.0.0.1:8080
    ServerAliveInterval 60
    ServerAliveCountMax 3

Then: ssh -f -N livefx


Troubleshooting

ProblemSolution
No hammer icon after restartConfig file has a JSON syntax error — check for missing commas or brackets
"Server not found"Make sure Node.js is installed, then fully restart Claude Desktop
"Connection refused"Live FX isn't running, or the port doesn't match (default: 8080)
"Cannot find module"The path in your config is wrong — run echo "$(pwd)/dist/index.js" from the repo folder
Tools appear but return errorsCheck that Enable HTTP Server is on in Live FX System Settings → General
Using a different portAdd "--port", "YOUR_PORT" to the args array in your Claude Desktop config
Live FX on another machineSet up an SSH tunnel (see Connection Scenarios)
Windows: "npx is not recognized"Node.js isn't in your PATH. See the Windows: npx not found? section above for the env workaround
Windows: timeout errors on large rendersIncrease the timeout: add "--timeout", "120000" to the args array (120 seconds)

Logs — Claude Desktop writes MCP server logs here:

macOS~/Library/Logs/Claude/mcp-server-assimilate.log
Windows%APPDATA%\Claude\logs\mcp-server-assimilate.log

Compatible Clients

AssimilateMCP is a standard MCP server — it works with any MCP-compatible client, not just Claude Desktop. The same npx -y assimilate-mcp command works everywhere.

VS Code (GitHub Copilot)

Add to your VS Code settings.json (Cmd+Shift+P → "Open User Settings (JSON)"):

{
  "mcp": {
    "servers": {
      "assimilate": {
        "command": "npx",
        "args": ["-y", "assimilate-mcp"]
      }
    }
  }
}

Or create .vscode/mcp.json in your project root for workspace-scoped config:

{
  "servers": {
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}

MCP tools are available in Copilot's Agent mode (select "Agent" in the chat dropdown).

Cursor

Create ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json (or open via MCP iconConfigureAdvanced MCP Settings):

{
  "mcpServers": {
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}

Restart Windsurf after saving.

Cline (VS Code Extension)

Click the MCP Servers icon in Cline's sidebar → Configure MCP Servers, then add:

{
  "mcpServers": {
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}

Continue.dev

Add to your .continue/config.yaml:

mcpServers:
  - name: assimilate
    command: npx
    args:
      - "-y"
      - "assimilate-mcp"

MCP tools are only available in Continue's Agent mode.

OpenClaw

OpenClaw is an open-source personal AI assistant that runs 24/7 on your own hardware. It connects to messaging platforms (Telegram, WhatsApp, Slack, Discord) and can control Assimilate via MCP. Also available on ClawHub.

OpenClaw uses MCP servers through the MCPorter skill. Install it first, then register AssimilateMCP:

mcporter config add assimilate --command npx --args '["-y", "assimilate-mcp"]'

To verify it's registered:

mcporter config list

Or add it manually to config/mcporter.json:

{
  "mcpServers": {
    "assimilate": {
      "command": "npx",
      "args": ["-y", "assimilate-mcp"]
    }
  }
}

Once configured, your OpenClaw agent can use all 88 Assimilate tools — control Live FX via Telegram, Slack, or any connected channel.

Summary

ClientConfig FileNotes
Claude Desktopclaude_desktop_config.jsonBest supported — see Getting Started
VS Codesettings.json or .vscode/mcp.jsonCopilot Agent mode required
Cursor~/.cursor/mcp.jsonGlobal or project-scoped
Windsurf~/.codeium/windsurf/mcp_config.jsonRestart after config change
ClineVS Code extension settingsUI-based setup
Continue.dev.continue/config.yamlYAML format, Agent mode only
OpenClawMCPorter skill → mcporter.jsonRequires MCPorterClawHub · GitHub

[!TIP] All clients use the same underlying MCP protocol. If your preferred AI tool supports MCP, AssimilateMCP will work with it — just point it at npx -y assimilate-mcp.


Development

git clone https://github.com/amac-roguelabs/assimilate-mcp.git
cd assimilate-mcp
npm install
npm run build
npm start -- --verbose

See CONTRIBUTING.md for guidelines on submitting changes.


Reviews

No reviews yet

Sign in to write a review