Skip to main content
Glama
README.md
# Idea to Motion — MCP server

Make animated videos by asking your AI client. You connect one MCP server, then
ask for a video in the same conversation you ask for anything else.

**Your assistant writes the script, plans each scene and writes the animation
code. This server synthesizes the voiceover, aligns the animation to word-level
timestamps, renders the frames and hands back an MP4.** There is no timeline to
edit and nothing to install.

- **Endpoint:** `https://api.ideatomotion.com/mcp` (Streamable HTTP)
- **Website:** https://ideatomotion.com
- **Docs:** https://ideatomotion.com/docs · **Tool reference:** https://ideatomotion.com/docs/mcp-tools
- **Registry:** [`com.ideatomotion/idea-to-motion`](https://registry.modelcontextprotocol.io/v0.1/servers?search=com.ideatomotion)

> This repository is the public install reference. The platform itself is
> closed-source; everything here is configuration and documentation.

## Quick start — Claude Code

```bash
{'language': 'bash', 'code': 'claude mcp add ideatomotion https://api.ideatomotion.com/mcp --transport http --header "Authorization: Bearer vai_YOUR_KEY"'}
```

Mint a key at [ideatomotion.com/connect](https://ideatomotion.com/connect). Clients
that speak OAuth 2.1 (Claude web and Desktop) need no key at all — you authorize
in the browser.

## All clients

| Client | Auth | Config file |
|---|---|---|
| [Claude Code](examples/claude-code.json) | API key header | `~/.claude.json` |
| [Claude web & Desktop](examples/claude-desktop.json) | OAuth (no key) | — |
| [Cursor](examples/cursor.json) | API key header | `~/.cursor/mcp.json` |
| [VS Code (Copilot)](examples/vscode.json) | API key header | `.vscode/mcp.json` |
| [Antigravity](examples/antigravity.json) | API key header | `~/.gemini/antigravity/mcp_config.json` |
| [Windsurf](examples/windsurf.json) | API key header | `~/.codeium/windsurf/mcp_config.json` |
| [Gemini CLI](examples/gemini-cli.json) | API key header | `~/.gemini/settings.json or .gemini/settings.json` |
| [Codex CLI](examples/codex.toml) | API key header | `~/.codex/config.toml` |
| [Kiro](examples/kiro.json) | `mcp-remote` bridge | `.kiro/settings/mcp.json` |
| [Zed](examples/zed.json) | `mcp-remote` bridge | `~/.config/zed/settings.json` |

Full copy-paste setup for each, with screenshots:
[ideatomotion.com/connect](https://ideatomotion.com/connect).

## What you can ask for

Three kinds of video:

- **`explainer`** — narrated. Your AI writes the script; the platform synthesizes
  the voiceover and times the animation to word-level transcript boundaries.
- **`motion_graphic`** — silent, on-screen text set to music. **Needs no voice
  key**, so it is the fastest way to a finished file from a standing start.
- **`recording`** — you upload your own video; your AI picks the cuts and the
  platform removes the silences and animates around you.

Aspect and length are independent: a 15-second 16:9 clip and a 5-minute 9:16
explainer are both valid.

## Voice is bring-your-own-key

Narration runs on **your own ElevenLabs or Cartesia account**, connected at
[/connect](https://ideatomotion.com/connect). That is a separate bill from that
provider — we take no cut and never see your key after it is stored. Silent
motion graphics need no voice key.

## Pricing

Creating and previewing are free and unlimited. You pay only to export a
finished MP4 — from **$1.00 per minute at 1080p, billed to the second**. 720p and
below are free with a watermark, with a monthly allowance. Full rate card:
[ideatomotion.com/pricing](https://ideatomotion.com/pricing).

**There is deliberately no `export` MCP tool.** Exporting spends real money at a
quality the user chooses, so it is an action you take on the platform — not one
your agent can take on your behalf.

## Client-specific gotchas

Config field names differ per client and **fail silently when wrong** — a
mistyped key leaves the server simply absent, with no error:

- **Claude web & Desktop** — Settings → Connectors → Add custom connector, then paste the URL.
- **Claude web & Desktop** — You'll be asked to sign in and approve access — no key to copy.
- **VS Code (Copilot)** — MCP tools only run in Agent mode.
- **VS Code (Copilot)** — The root key is `servers` here — not `mcpServers` like other clients.
- **Antigravity** — Open it from the agent panel: … → MCP Servers → Manage → View raw config.
- **Antigravity** — Antigravity uses `serverUrl`, not `url`. Restart after saving.
- **Windsurf** — Command Palette → “Windsurf: Configure MCP Servers”, or the hammer icon in Cascade.
- **Windsurf** — Cascade caps at 100 active tools; past that, servers silently fail to load.
- **Gemini CLI** — `httpUrl` selects Streamable HTTP; plain `url` would mean SSE.
- **Codex CLI** — Codex is the odd one out: TOML, not JSON.
- **Codex CLI** — To keep the key out of the file, drop `http_headers` and use `bearer_token_env_var = "IDEATOMOTION_KEY"` instead.
- **Kiro** — Open it from the MCP panel: Kiro → MCP Servers → Edit config, or edit the file directly.
- **Kiro** — Kiro spawns stdio processes, so the `mcp-remote` bridge carries your key over HTTP.
- **Kiro** — The header has no space after the colon — mcp-remote splits arguments on spaces.
- **Zed** — Newer Zed builds can add a remote server from Settings → AI → MCP Servers directly.
- **Zed** — Note the header has no space after the colon — mcp-remote splits arguments on spaces.
- **Any other client** — If your client speaks Streamable HTTP, prefer a direct entry: `url` + an `Authorization: Bearer` header.
- **Any other client** — `mcp-remote` is only needed for clients that can spawn stdio processes but not call HTTP.

## License

[MIT](LICENSE) — applies to the contents of this repository (configuration
examples and documentation), not to the hosted service.