Use Explanimate in your coding tool
MCP is a standard way to plug extra tools into AI coding assistants. Connect Explanimate once and you can ask for a video from inside your editor.
What you need
- Node 20 or newer, with pnpm. That is what the project itself runs on.
- ffmpeg on your PATH, and Chrome or Chromium installed. The renderer encodes with ffmpeg and checks the finished frames in Chrome.
- A Meta Muse key (MODEL_API_KEY). The server tells you on startup if it is missing, and the run fails without it. Planning can use that key or an OpenRouter key (OPENROUTER_API_KEY).
- A Deepgram key (DEEPGRAM_API_KEY) for the narration. Without it the video renders silent, with timed captions.
- Backup keys, optional. When Meta is the provider and a call fails, planning falls back to OpenRouter if
OPENROUTER_API_KEYis set; when Deepgram fails, the narration falls back to Cartesia ifCARTESIA_API_KEYis set.
Install it
- Clone the repo and install it. There is no build step: the server runs from source.Terminal · bash
git clone https://github.com/slubbles/explanimate && cd explanimate pnpm install cp .env.example .env # add your keys (see below) - Put your keys in
.env. That file is for the command line; your coding tool also needs the keys in its own config below, because the server only reads its environment.
Connect your tool
Replace /path/to/explanimate below with where you cloned the repo.
Claude Code
In a terminal, with the repo cloned. The keys go on the command line, with the server command after the --.
claude mcp add explanimate --transport stdio \
--env MODEL_API_KEY=your-meta-key \
--env DEEPGRAM_API_KEY=your-deepgram-key \
-- node /path/to/explanimate/packages/mcp/bin/explanimate-mcp.mjsClaude Desktop
Open it from Settings, Developer, Edit Config. Claude Desktop does not read your shell environment, so the keys go in the file; keep it private. Fully quit and reopen the app after saving.
{
"mcpServers": {
"explanimate": {
"command": "node",
"args": ["/path/to/explanimate/packages/mcp/bin/explanimate-mcp.mjs"],
"env": { "MODEL_API_KEY": "your Meta key", "DEEPGRAM_API_KEY": "your Deepgram key" }
}
}
}Cursor
Use ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside one project. Cursor fills ${env:NAME} from your environment, so the file names the secret without containing it.
{
"mcpServers": {
"explanimate": {
"command": "node",
"args": ["/path/to/explanimate/packages/mcp/bin/explanimate-mcp.mjs"],
"env": { "MODEL_API_KEY": "${env:MODEL_API_KEY}", "DEEPGRAM_API_KEY": "${env:DEEPGRAM_API_KEY}" }
}
}
}Codex
Add one table to ~/.codex/config.toml, then restart Codex.
[mcp_servers.explanimate]
command = "node"
args = ["/path/to/explanimate/packages/mcp/bin/explanimate-mcp.mjs"]
[mcp_servers.explanimate.env]
MODEL_API_KEY = "your Meta key"
DEEPGRAM_API_KEY = "your Deepgram key"VS Code Copilot
In .vscode/mcp.json in your workspace. VS Code's own format uses the servers key, not mcpServers.
{
"servers": {
"explanimate": {
"type": "stdio",
"command": "node",
"args": ["/path/to/explanimate/packages/mcp/bin/explanimate-mcp.mjs"],
"env": { "MODEL_API_KEY": "your Meta key", "DEEPGRAM_API_KEY": "your Deepgram key" }
}
}
}Muse Code
Merge with what is already in ~/.config/muse/settings.json.
{
"schema_version": 1,
"mcp_servers": {
"explanimate": {
"transport": "stdio",
"command": "node",
"args": ["/path/to/explanimate/packages/mcp/bin/explanimate-mcp.mjs"],
"env": { "MODEL_API_KEY": "${MODEL_API_KEY}", "DEEPGRAM_API_KEY": "${DEEPGRAM_API_KEY}" },
"mode": "optional"
}
}
}Ask for a video
Type one of these in your tool once the server is connected:
/explanimate how does this repo work
/explanimate explain what this repo is about https://github.com/milind-soni/OpenMausBotSay this repo without a link and it explains the folder you are in. You get back the paths of the mp4 and both boards; the files land in ~/explanimate-videos/<name>.
Behind the prompt are three tools, in plain words: explain starts a video, explain_status waits and reports progress until it is done, and explain_cancel stops a running one. A video takes a few minutes, so the agent checks back while it works.
If something is wrong
- The tool does not show up. Save the config and restart the app; Claude Desktop needs a full quit and reopen.
- It says MODEL_API_KEY is not set. The keys must be in the
envpart of your tool's config, not just in the repo.env, which the server does not read. - Where did the video go? Each run writes to its own folder under
~/explanimate-videos, unless you pass a different folder. - The render fails about Chrome or ffmpeg. Install both, then try again. If Chrome is not in a standard place, point
EXPLANIMATE_CHROMEat its binary.