Skip to main content
Glama

Motion MCP

AI-native motion-video production over the Model Context Protocol. Ask Claude, ChatGPT, Pi or any MCP client for a video; Motion MCP spends frontier-model tokens only on taste and delegates everything else to cheap models and deterministic tools.

How it works

brief ─▶ Jev routing ─▶ creative direction (host Opus or internal Opus) ─▶ Motion IR
     ─▶ deterministic compiler / Pi scene workers ─▶ HyperFrames lint · check · contact sheet
     ─▶ Jev issue classification ─▶ cheap fix  or  bounded Opus critique
     ─▶ preview render ─▶ final render ─▶ FFmpeg finishing ─▶ MP4
  • Claude Opus 5.5 is the creative director: concept, scene architecture, critique. It never writes HTML.

  • Director modes are explicit: host-opus (the calling Claude supplies a creativeSpec, so Opus is not paid twice; supplying a spec selects this mode) or internal-opus (the server calls Opus via OpenRouter). A custom planner mode is reserved but not yet accepted.

  • Jev makes bounded, structured routing decisions (TypeSafe → cheap LLM → rules).

  • Motion IR is a renderer-neutral contract; HyperFrames is the first compiler target.

  • Pi runs cheap coding models for custom scenes, fenced to the scene file it owns.

Details: docs/README.md · Architecture · Motion IR · MCP API · Decisions

Related MCP server: ShotFlow MCP Server

Connect a client

{
  "mcpServers": {
    "motion": {
      "type": "http",
      "url": "https://app.motion.digitop.ai/mcp",
      "headers": { "Authorization": "Bearer mmcp_YOUR_API_KEY" }
    }
  }
}

Call motion_inspect first: it returns the director modes, the CreativeSpec JSON Schema and pricing.

Develop

Requirements: Node ≥ 22.19, pnpm 10, FFmpeg on PATH. Chrome for rendering is fetched on demand.

pnpm install
cp .env.example .env
pnpm check        # lint + typecheck + unit tests (never calls paid models)
pnpm dev          # MCP server on http://localhost:8787/mcp
pnpm motion doctor
pnpm motion keys create --name laptop   # issue a workspace API key (printed once)
pnpm motion create --brief "30s launch video for a developer tool, editorial, restrained"
pnpm test:live    # optional: real OpenRouter / R2 calls, needs keys in .env

Docker: docker compose up --build (add --profile tunnel with CLOUDFLARE_TUNNEL_TOKEN for public ingress).

Repository

Path

Purpose

apps/mcp-server

Streamable HTTP MCP server and motion CLI

apps/marketing

Static site on Cloudflare Workers

packages/motion-ir

Motion IR, CreativeSpec, TastePacket, ScenePatch schemas

packages/pipeline

Execution graph, jobs, budgets

packages/director · jev-router · llm

Creative direction, routing, OpenRouter client

packages/hyperframes-adapter · media · pi-runtime

Rendering, FFmpeg/multix, Pi workers

packages/domain-pack

Motion knowledge adapted from ak-motion-video (MIT)

packages/billing · storage · database · observability · shared

Credits, artifacts, persistence, traces, utilities

Credits

Built on HyperFrames, Pi, multix and the ak-motion-video skill from bestagentkits.

Related MCP Connectors

Related MCP Servers