scratch-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
scratch-mcp
An MCP server for Assimilate SCRATCH / Live FX, generated at startup from Assimilate's published OpenAPI file. No hand-written tools. Read-only by default.
This is the server we used in Can an agent drive SCRATCH from the REST API alone? — the evaluation found that an agent given only the REST docs did as well as one given these generated tools, so the honest pitch for this repo is not "you need this." It is:
Scoping. Today's SCRATCH REST server exposes reads, writes, deletes and shutdown on one flat surface, and in our tests the model reached for the destructive call first, every time.
readonlyandsafemodes filter the surface before the agent ever sees it.Convenience. If your agent host speaks MCP and not raw HTTP, this is a 100-line way in.
Quick start
Requires Python 3.11+ and a running SCRATCH / Live FX (9.9 b1205+) with the HTTP server enabled in System Settings.
git clone https://github.com/jmeadlock/scratch-mcp
cd scratch-mcp
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
export ASSIM_BASE=http://localhost:8080/APIV2 # your SCRATCH host
python server.py --list # see what readonly exposes
python server.py # stdio MCP, readonlyModes
Mode | Tools | What's in it |
| 48 | every |
| 114 | everything except |
| 145 | the whole API, including deletes and shutdown |
python server.py --mode safe
python server.py --mode full --transport http --port 8765Counts are from SCRATCH REST 1.1.0 / spec info.version 1.0.5. They'll change when the spec does.
Claude Desktop / Hermes / other MCP hosts
stdio config, e.g. for Claude Desktop's claude_desktop_config.json:
{
"mcpServers": {
"scratch": {
"command": "/path/to/scratch-mcp/.venv/bin/python",
"args": ["/path/to/scratch-mcp/server.py", "--mode", "readonly"],
"env": { "ASSIM_BASE": "http://192.168.1.50:8080/APIV2" }
}
}
}Environment
Var | Default | Notes |
|
| REST base including |
| (empty) | optional access key, sent as raw |
|
| point at a newer YAML without editing the repo |
A .env file next to server.py is read if present (never committed — see .gitignore).
Related MCP server: io.github.Airta-Admin/davinc-resolve-local-bridge-mcp
Things to know before you point an agent at it
Parameter names come straight from the spec. Tools want slot_idx, shot_uuid, queue_uuid — not index or id. In our eval the model guessed index eight times in a row and burned its call budget. If your agent host lets you add tool descriptions, that's the one hint worth adding.
Two requests crashed SCRATCH b1211 (macOS) during testing:
POST /application/player/entershot/{…} with an unsubstituted path template, and POST /application/tools/lut with a model-composed body. Both are in full/safe mode. Nothing here guards against them; use readonly if you can't afford a relaunch.
GET /application/render can return 200 with an empty body. The generated tool handles it, but the agent will see an empty result and may re-query.
The spec is a snapshot. spec/assimilate_rest_api.yaml is copied from Assimilate's repo (MIT, see spec/LICENSE-Assimilate.txt) at commit 3236f85 (2026-08-03). To track upstream, replace the file or set ASSIM_SPEC.
How it works
server.py reads the YAML, overrides servers[0].url with ASSIM_BASE, builds an httpx.AsyncClient, and hands both to FastMCP.from_openapi() with a list of RouteMap rules for the chosen mode. That's it. Tool names are derived from operationIds (get-construct-current-slots → get_construct_current_slots).
License
MIT — see LICENSE. The bundled OpenAPI file is © Assimilate Inc, MIT, license preserved alongside it.
This server cannot be deployed
Maintenance
Related MCP Connectors
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Read-only search of 2,189 AI agent tools (MCP servers, x402 APIs) with daily automated trust scores.
Access Pollinations models and API capabilities through agent tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control DaVinci Resolve Studio through the official Scripting API, with full API coverage plus workflow helpers for editing, grading, Fusion, Fairlight, and project lifecycle tasks. Includes a compound tool mode for low context usage, a granular 341-tool mode, a local control panel, and an optional advanced offline server for working with Resolve project files.7,917 npmMIT
- AlicenseAqualityAmaintenanceEnables AI assistants to control DaVinci Resolve (Free and Studio) through 215 MCP tools covering the full Resolve scripting API, including projects, timelines, media, Fusion, color, and rendering.174 PyPI1MIT
- FlicenseBqualityCmaintenanceEnables AI agents to inspect and control vMix live production: import media, assemble multi-layer scenes, update titles, configure native transitions and stinger bindings, and create managed triggers for automated actions.16-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control DaVinci Resolve Studio through the official Scripting API, covering editing, media pool management, rendering, grading, Fusion, Fairlight, and project lifecycle tasks.7,917 npmMIT