streamable-httpupdated 1mo ago
Render real motion-graphics overlays โ animated lower thirds, titles, callouts โ from an AI assistant, and get back a finished MP4. Free, anonymous, no API key.
What can you do with motion tools?
Mographr MCP Server
Render real motion-graphics overlays โ animated lower thirds, titles, callouts โ from an AI assistant, and get back a finished MP4. Free, anonymous, no API key.
Endpoint https://mcp.mographr.com/mcp
Transport Streamable HTTP (stateless, JSON responses)
Auth None
Cost Free โ watermarked MP4
Full documentation: https://www.mographr.com/mcp ยท Machine-readable: /mcp.md
What this is โ and what it isn't
This is not a text-to-video model. It does not invent footage.
It renders a small catalogue of hand-built motion-graphics templates with your text, your colour scheme and your choice of design, and returns a real MP4 you composite over your own video.
That distinction is the point. A diffusion model asked for "a lower third that says Dr. Maya Chen" produces something that looks like a lower third and spells the name wrong. This renders actual text in an actual font on an actual keyframed animation โ legible at 1080p, identical on every run, safe to put in front of a client.
| Mographr MCP | Text-to-video MCP servers | |
|---|---|---|
| Output | Designed overlay, exact text | Generated footage, approximate text |
| Determinism | Same input โ same file | Different every run |
| Typography | Real fonts, real kerning | Hallucinated letterforms |
| Auth | None | Account + credits |
| Use | Composite over your footage | Standalone clip |
Install
Claude Code
claude mcp add --transport http mographr https://mcp.mographr.com/mcp
Claude Desktop
Settings โ Connectors โ Add custom connector โ https://mcp.mographr.com/mcp
Older builds without that UI, in claude_desktop_config.json:
{
"mcpServers": {
"mographr": {
"command": "npx",
"args": ["-y", "mcp-remote@latest", "https://mcp.mographr.com/mcp"]
}
}
}
Cursor
~/.cursor/mcp.json, or .cursor/mcp.json in a project:
{
"mcpServers": {
"mographr": { "type": "http", "url": "https://mcp.mographr.com/mcp" }
}
}
VS Code
.vscode/mcp.json:
{
"servers": {
"mographr": { "type": "http", "url": "https://mcp.mographr.com/mcp" }
}
}
Anything else
Plain HTTP POST โ no SDK required:
curl -sS https://mcp.mographr.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Gotcha: the
Acceptheader must list bothapplication/jsonandtext/event-stream. The Streamable HTTP transport rejects the request otherwise. This trips up almost every hand-rolled client.
Tools
| Tool | What it does |
|---|---|
list_motion_tools |
The catalogue. No arguments. Start here. |
get_motion_tool |
One tool's schema: field keys with max lengths and examples, design variants (each with its own canvas โ some are vertical 9:16), colour schemes, and a ready-to-copy example call. |
render_motion_tool |
Queues a render, returns a renderId immediately. Repeating a call with identical parameters returns the cached result instead of re-rendering. |
get_motion_render |
Poll the renderId until status is completed, then read downloadUrl. |
Worked example
// 1. what is available
{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"list_motion_tools","arguments":{}}}
// 2. render one
{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"render_motion_tool","arguments":{
"slug":"lower-thirds",
"fields":{"title":"Dr. Maya Chen","subtitle":"Marine Biologist"}}}}
// โ { "renderId": "โฆ", "status": "queued", "etaSeconds": 68 }
// 3. poll until completed
{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"get_motion_render","arguments":{"renderId":"โฆ"}}}
// โ { "status": "completed", "downloadUrl": "https://โฆ/tool-โฆ.mp4" }
A render takes roughly 30โ70 seconds on the CPU lane.
Limits
- About 8 renders per hour per IP, and at most 6 queued at once across all MCP callers.
- Hitting a limit is not an error response. The tool returns a normal result with
status: "rate_limited", how many seconds to wait, and a link to the interactive page, which has no limit. - Free renders carry a small mographr.com watermark.
- Image upload (avatars) is only available on the interactive page, not over MCP.
- Paid exports in the Mographr studio always take priority on the render lane, so free traffic never slows a paying customer down โ and never gets starved out either, it just queues.
Notes
- Stateless. No sessions, no session-id header, nothing to clean up. Every POST is independent, so a redeploy can never strand your connection.
GETandDELETEon the endpoint return405by design. CORS is open. - Legacy host. The endpoint is also reachable at
https://bff.mographr.com/mcpโ same server, and it will keep working. - REST too.
GET https://bff.mographr.com/toolslists the catalogue andPOST /tools/<slug>/renderstarts a render. REST additionally supports image upload, which MCP does not.
Links
- Documentation
- Free tools with an interactive editor
- Free motion graphics templates
- Pricing
- Site guide for agents (llms.txt)
Listed on
- Official MCP Registry โ
com.mographr/motion-tools - Smithery
License
Documentation in this repository is MIT. The service itself is operated by Mographr under its Terms of Use; rendered output is subject to those terms.
Install
Add motion tools to your client. Pick the one you use.
claude mcp add --transport http motion-tools https://mcp.mographr.com/mcpcodex mcp add motion-tools --url https://mcp.mographr.com/mcp{
"mcpServers": {
"motion-tools": {
"url": "https://mcp.mographr.com/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"motion-tools": {
"type": "http",
"url": "https://mcp.mographr.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"motion-tools": {
"url": "https://mcp.mographr.com/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"motion-tools": {
"serverUrl": "https://mcp.mographr.com/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
4 tools
motion tools exposes 4 tools to a connected agent.
- list_motion_tools
- The catalogue. No arguments. Start here.
- get_motion_tool
- One tool's schema: field keys with max lengths and examples, design variants (each with its own canvas โ some are vertical 9:16), colour schemes, and a ready-to-copy example call.
- render_motion_tool
- Queues a render, returns a `renderId` immediately. Repeating a call with identical parameters returns the cached result instead of re-rendering.
- get_motion_render
- Poll the `renderId` until `status` is `completed`, then read `downloadUrl`.
Score
68 / 100
Good
- Documentation25/25
- Maintenance19/25
- Trust6/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 28 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 4 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Aug 4, 2026 |