Motion Text
Motion Text MCP server
Turn words, images, and audio into an animated video with MP4 export.
Motion Text is a kinetic story studio. This repository is the front door for its hosted MCP server — the server itself is a remote service, so there is nothing here to install or run.
Privacy: https://motiontext.video/privacy
Registry:
video.motiontext/motion-text
Two endpoints
The server is hosted and speaks streamable HTTP. There is no npm package and no local process.
URL | Auth | Tools | |
Anonymous |
| none | 3 drafting tools |
Studio |
| OAuth 2.1, | full toolset |
Use /mcp/studio. It is the URL you want in almost every case — it
authenticates you and unlocks the full toolset: scenes, narration, stock
photos, music, brand and logo, render and export.
/mcp exists so that a client with no account can connect and evaluate the
server immediately. It answers anonymously and exposes three tools
(create_story_draft, list_visual_presets, get_spec), enough to build a
draft and hand it off to the editor.
The distinction matters because of when each endpoint challenges. /mcp
only sends a WWW-Authenticate challenge if you present a token that turns
out to be invalid; arriving with no token connects cleanly. /mcp/studio
challenges immediately, which is what makes a client start the OAuth flow on
its own.
Some clients — ChatGPT is the one that bites — begin sign-in only in
response to a challenge. Point those at /mcp/studio or they will connect to
/mcp, never prompt, and appear to be a broken server with three tools.
Related MCP server: ittybitty MCP server
Setup
Claude Code
claude mcp add --transport http motion-text https://motiontext.video/mcp/studioThen run /mcp inside Claude Code to complete the OAuth sign-in.
Claude Desktop / claude.ai
Settings → Connectors → Add custom connector, and give it
https://motiontext.video/mcp/studio. Sign-in runs in the browser.
ChatGPT
Add it as a custom connector with https://motiontext.video/mcp/studio. Use
that URL specifically — see the note above.
Generic client config
{
"mcpServers": {
"motion-text": {
"type": "streamable-http",
"url": "https://motiontext.video/mcp/studio"
}
}
}Try it without an account
curl -sS -X POST https://motiontext.video/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'What you can build
Ask your agent for a video and it drafts one — you finish it in the editor at motiontext.video.
Kinetic captions — lyrics or a script timed to audio, with per-line motion (beat, glitch, slam, karaoke, and others)
Narrated picture stories — scenes with generated or stock imagery and text-to-speech narration
Brand treatment — colors, typography, logo, and format presets
Export — render to MP4
Call get_spec for the machine-readable capabilities, limits, and draft
schema.
Issues
Bug reports and feature requests for the MCP server are welcome in this repository's issue tracker. The Motion Text product source is not public.
This server cannot be deployed
Maintenance
Related MCP Connectors
Turn words, images, and audio into an animated video with MP4 export.
Generate AI videos from a prompt or document (PDF/PPTX/DOCX/URL) and export shareable MP4s.
Turn a topic, URL, or document into a narrated, animated explainer video.
Generate video and images, edit them on a real multi-track timeline, and export an MP4.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceTurn Excalidraw diagrams into keyframe animations. AI-powered creation via MCP, E2E encrypted sharing, export to MP4/WebM/GIF/SVG.3 npm69MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to generate narrated videos from topics or scripts, with stock footage, home videos, or local AI clips.2MIT
- AlicenseNot gradedqualityCmaintenanceTurns text scripts into complete videos with stock footage, AI narration, and subtitles via MCP tools for AI assistants.MIT
- AlicenseAqualityBmaintenanceTurns a CSV — or a public dataset named in plain English — into an animated chart video. Every numeric claim in the generated narration is recomputed from the source rows before export, and a claim that does not reconcile blocks the export rather than shipping.323 npmMIT