Google · Terminal agent
Gemini CLI + Motion
Google's open-source terminal agent, which reads MCP servers from a settings file in your home directory. Point it at Motion and one sentence becomes a finished animation, rendered in your own browser.
Setup
Connect Gemini CLI to Motion
One endpoint, no key and no account. This is the part that differs between clients — a different file in a different place, and half of them name the same field differently. Pairing, underneath, works the same way wherever you are, and there are two of those depending on whether you have Motion open.
MCPhttps://motion.frapea.com/mcp
- 1
Add the server
-s usermatters: the default scope isproject, so without it the server is written into./.gemini/settings.jsonin whatever directory you happened to be in.terminal$ gemini mcp add -s user --transport http motion https://motion.frapea.com/mcp - 2
Or edit the settings file
~/.gemini/settings.json, and this is exactly what the command above writes. A bareurlmeans SSE — it istypethat makes it streamable HTTP. The olderhttpUrlfield still works and the CLI warns that it is deprecated.~/.gemini/settings.json{ "mcpServers": { "motion": { "url": "https://motion.frapea.com/mcp", "type": "http" } } }
Then, the same for every client
Pair the session with Gemini CLI
Two ways in, and the only thing that decides between them is whether you have a Motion tab open right now. Neither needs a key or an account.
If Motion is already open
Carry the code to your agent
- 1Click Connect MCP, top right. The panel shows a line beginning
Connect me to Motion with code, with eight characters likeK7M4-P2Q9. - 2Paste that whole line into your agent — the sentence, not just the code. It is worded so the agent knows which tool to call and what to pass it.
- 3Good for ten minutes, and once. The code stops working the moment it is spent.
If it is not
Let the agent start without you
- 1Say start a Motion session for me. Worded so it does not collide with the line above — that one carries a code, and an agent given the same words without one will try it, fail, and have to back out.
- 2It can compose immediately — you do not need the tab to exist yet. Open the link when you want to watch, or when it asks you to.
- 3Anything that has to SEE the result, or touch your photos, waits for that tab. The agent knows to wait rather than to nag.
Then say what you want in one sentence. The frames appear in the tab while you keep working wherever you were.
When it doesn’t take
Two things go wrong, and it is almost always one of them
gemini mcp add defaults to --scope project, so it wrote ./.gemini/settings.json in whatever directory you were in. Add it again with -s user.httpUrlOlder guides — Google's own included — still show httpUrl. It works and warns. url with type: "http" is the current shape.Neither of those? The endpoint answers a plain tools/list over POST. If that comes back, the server is fine and the problem is in the config — paste this page into Gemini CLI and let it work out which line.
What it gets you
Why this pairing, and not just any of them
The pairing with the least to pay for: a generous free agent tier driving a tool with no account and no render bill.- A large context window suits briefs with a lot of source material — twenty photos, a long transcript, a spreadsheet of figures.
- The generous free tier and Motion's absence of a bill mean the whole loop costs nothing to try.
/mcpinside the CLI lists every connected server and its tools, so you can see exactly what Motion handed over before you ask for anything.
What you just handed it
16 tools, and one of them is looking at the result
Gemini CLI now has the whole set: it writes the composition as code rather than filling in a template, renders real frames and checks them, and never has to receive your footage to know what is in it.
All 16 tools Gemini CLI can callWhat comes back
One sentence to final animation
Each of these was a single line said to an agent, rendered by the same runtime Gemini CLI would be driving. They change as you read — point at one to play it.
Using something else?
Any client that speaks MCP
The endpoint never changes. Only the file it goes in does — and for the other 7, it is written out.
- Claude CodeTerminal agent
- Claude DesktopDesktop app
- CursorCode editor
- VS CodeCode editor
- WindsurfCode editor
- Codex CLITerminal agent
- WarpTerminal
- Something elseSame endpoint
One sentence to final animation.
Open Motion, click Connect MCP, and say one sentence to Gemini CLI.











