Motion Text
by threadlimit
README.md
# Motion Text MCP server
Turn words, images, and audio into an animated video with MP4 export.
[Motion Text](https://motiontext.video) 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.
- **Docs:** https://motiontext.video/ai
- **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 | `https://motiontext.video/mcp` | none | 3 drafting tools |
| Studio | `https://motiontext.video/mcp/studio` | OAuth 2.1, `studio` scope | 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.
## Setup
### Claude Code
```bash
claude mcp add --transport http motion-text https://motiontext.video/mcp/studio
```
Then 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
```json
{
"mcpServers": {
"motion-text": {
"type": "streamable-http",
"url": "https://motiontext.video/mcp/studio"
}
}
}
```
### Try it without an account
```bash
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](https://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
ActivityStale
ResponsivenessNo issues