Connect Idea to Motion to Zed and you can ask for a video the same way you ask for anything else. Zed writes the script, plans each scene and writes the animation code; we synthesize the voiceover, time it to the words, render the animation and hand back an MP4. It launches MCP servers as local processes rather than calling them over HTTP, so the mcp-remote bridge carries your key to the server for you.
mcp-remote config entry and reload the client.Generate a connection key if this client needs one, then add the server.
Pick your app
Chat apps
Editors & IDEs
Terminal
Generate a connection key
Add it to Zed
~/.config/zed/settings.json
{
"context_servers": {
"ideatomotion": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.ideatomotion.com/mcp",
"--header",
"Authorization:Bearer vai_YOUR_KEY"
],
"env": {}
}
}
}Generate a key above to replace vai_YOUR_KEY.
The exact names Zed reads, and what happens when one of them is wrong.
Zed reads its MCP servers from a JSON file — ~/.config/zed/settings.json. The entry goes under context_servers. Those names are not what every other client uses, and getting one wrong is not an error, it is silence: the file parses, Zed starts, and the server never appears.
Narration is synthesized on your own ElevenLabs, Cartesia or Sarvam AI key. Silent motion graphics need none.
Idea to Motion generates the voiceover on your own text-to-speech account. Add an ElevenLabs, Cartesia or Sarvam AI key — it's stored encrypted and never shown again. Rendering is blocked until a key is connected.
Where the line between your assistant and the platform falls, and why it falls there.
Ask for a video from Zed's agent panel the same way you ask for a change to the code — the tool calls run beside your editor, and you approve the plan there.
Type it into the agent panel, in the same thread you use for code.
“Make a 30-second vertical explainer about what this crate does.”
What comes back
The ways this goes wrong, and most of them go wrong silently.
Newer Zed builds can add a remote server from Settings → AI → MCP Servers without touching the file. If you do edit it, the entry needs source: "custom" alongside the command, and it goes under context_servers — Zed's settings file still parses with an mcpServers block in it, and simply ignores it.
Check the names in ~/.config/zed/settings.json. The entry belongs under context_servers, and the URL is an ARGUMENT to mcp-remote rather than a field of its own, so its position in the args array matters. These differ between clients — some read mcpServers, some servers, some context_servers — and a wrong one is not an error: the file parses, Zed starts, and the server is simply never loaded. Copy the snippet in step 1 rather than adapting one from another client's documentation.
A key that is wrong, truncated or revoked gets a 401, and most clients report that as a failed connection rather than as an auth problem. Keys are shown once and stored hashed, so there is no way to read an old one back — generate a fresh one in step 1, then paste the new key over the old one in the config and reload Zed. Paste the whole vai_ string including the prefix; the old key can be revoked from the same panel.
~/.config/zed/settings.json is the file Zed reads for this; a copy anywhere else is never opened. Create it if it does not exist yet, keep the surrounding JSON valid — a trailing comma takes the whole file down, not just this entry — and reload Zed, which reads MCP config at startup.
Zed launches MCP servers as local processes, so this entry runs npx -y mcp-remote on your machine and needs Node on the PATH Zed inherits — which is not always the PATH your shell has. The -y flag fetches the bridge on first use, so the first launch is slower than every later one. Note that the header argument has no space after the colon, because mcp-remote splits its arguments on spaces.
Narration and transcription run on your own ElevenLabs, Cartesia or Sarvam AI key rather than ours, so a narrated or recorded video needs one connected — step 2 on this page, or the set_voice_key tool from inside Zed. Silent motion graphics need no voice key at all, so "make it a silent motion graphic instead" is a valid way past this.