Create and edit a video
Ask your connected agent to create a video. It can callcreate_video with only a prompt:
engine: "motion", effort: "high". Your agent can call list_engines to see the choices available to your account.
GVA availability follows your account’s engine access. New jobs use your account’s configured default. Ask for “GVA Standard” to use engine: "gva", effort: "standard", or “GVA Extended” to use engine: "gva", effort: "extended". Motion Legacy requires an eligible account; read engine discovery before choosing it.
Use list_engines to discover account-accessible engines and efforts, and list_templates to discover templates for the selected engine. Follow-ups keep their project engine. Existing connections and tool names remain valid. Use engine: "motion" with effort for Motion; MCP schemas do not expose REST’s deprecated mode input. Full engine and compatibility guide.
Connector profiles
Each profile advertises its supported engines and effort levels. Authentication, templates, and optional tools depend on the connector and your account access.
Read the connected server’s tool schema before sending optional inputs. A connector’s OAuth grant does not grant engine access. Account access rules.
Endpoints
Ways to connect
Addinghttps://mcp.motion.so/mcp with no credential returns 401 with an RFC 9728
WWW-Authenticate challenge, so a compliant MCP client runs the OAuth flow
automatically. You don’t need an API key.
1. Authorize in the browser (default)
Addhttps://mcp.motion.so/mcp as a custom connector. The agent registers itself
(Dynamic Client Registration) and starts the OAuth flow; you authorize in a browser
window and create a Motion account if you’re new, and approve the requested scopes. The
agent receives a token and acts as you, using your credits. No API key.
Native clients such as Cursor can use their app callback for the redirect; Motion
accepts Cursor’s cursor://anysphere.cursor-mcp/oauth/callback callback during
Dynamic Client Registration.
Agents that can’t open a browser use the device flow (below): you approve at
https://motion.so/device.
2. Register with a user or agent email
An agent must supply an email address it can verify. If it does not have one, it should ask the user for an account email before registering. An existing email uses its existing Motion account, including its projects and credits. Discoveraccount_registration_endpoint and account_verification_endpoint at
/.well-known/oauth-authorization-server. If registration is unavailable, use
browser authorization or the device flow below.
202 response means email verification is required; it contains no credentials.
Read the verification email and copy its confirmation link without opening it.
Opening the link consumes the proof. Submit that link to the returned verification
endpoint:
token for an email code or token_hash for a raw
confirmation hash. Supply exactly one verification method. After successful
verification, the response contains an api_key shown once. Store it securely
and connect with Authorization: Bearer <api_key>. This key has full access to
the account at the verified email. Sign in with that email to manage API keys,
projects, credits, and billing. If the proof expires or key creation fails,
request a new verification email.
purchase_credits returns a checkout link that the user completes in their
browser. Subscription and automatic top-up changes also require the user to
review and save them in Motion billing.
New service accounts are no longer created. Existing service-account credentials
remain usable, including secret rotation and revocation. The old public
/oauth/service-accounts/register URL now requires an email and follows the same
verification flow; it no longer returns client credentials.
3. API key (fallback)
If browser authorization isn’t available, you prefer a key, or you’re wiring up runs directly against your account, create an API key (Settings → API) and set it as the connector’s API key / bearer token:OAuth grants
The authorization server supportsauthorization_code + PKCE (S256),
refresh_token, client_credentials, and the device authorization grant
(urn:ietf:params:oauth:grant-type:device_code, RFC 8628). Clients register via
Dynamic Client Registration (RFC 7591, POST /oauth/register) or CIMD. New agents register with email verification (see §2). The client_credentials
grant remains available for existing service accounts. Access tokens are RS256 JWTs audience-bound to
https://mcp.motion.so/mcp.
Device flow
For agents that can’t perform a browser redirect:Scopes
motion:sessions:read · motion:sessions:write · motion:account:read ·
motion:account:manage · motion:credits:read · motion:credits:purchase ·
motion:credits:manage · motion:automations:read · motion:automations:write · mcp. API keys do not require OAuth scopes; account permissions still control engine access.
Automations
All five profiles expose the 11 automation tools: capabilities, list, get, create, update, delete, run, run history, run detail, retry, and analytics. Reads requiremotion:automations:read; changes and invocations require motion:automations:write. Existing session scopes do not include these permissions. Reauthorize the connection to add automation scopes, and confirm the account has automation access.
Automations execute only with GVA and default to standard effort. Use run_automation with automation_id and a new UUID request_id; reuse the UUID after a lost response to avoid duplicate runs. Channel automations need real source events. Each invocation opens a new Motion chat.
Claude can read, pause, or delete existing automations. Creation, other edits, resuming, running, and retries require Motion or a GVA-capable connector. See Automations for REST equivalents, pagination, and errors.
Tools
create_video takes prompt (1–12000 chars) plus optional engine, effort, template, and aspect_ratio
(16:9,9:16,1:1,4:5,21:9), duration (<10s,10-30s,30s-1min,1-5min),
design_system_id, design_md, style_reference_url (YouTube), and up to 100
attachments. Attachment URLs must be publicly reachable http(s) links — for
files that only exist on the user’s machine, call upload_asset first and use
the returned attachment_url (see Attachments).
Interactive widgets (MCP Apps)
In hosts that support MCP Apps, Motion can show a video card and plans panel inside the conversation. Availability depends on the host and connected profile.- Video widget (
create_video,create_followup,get_session_status): shows the job and updates itself live as the video renders, then plays the result inline with a Download button. The widget polls an app-onlyjob_statustool on a server-driven cadence (poll_after_seconds), so the widget can refresh status without repeated agent calls. In hosts without a live widget, the agent pollsget_session_status. - Plans widget (
show_plans_and_credits): plan cards (monthly/annual), credit top-ups, and billing links. Credit purchases open hosted checkout; subscription and automatic top-up changes happen in Motion billing. - Out-of-credits recovery: if a generation can’t run for lack of credits, the tool
returns
structuredContent.recovery_tool: "show_plans_and_credits"; the agent opens the plans widget so you can top up, then continues after payment is confirmed.
Buying credits
purchase_credits creates a hosted Stripe Checkout URL (requires_checkout: true, checkout_url) for full and directory profiles. The user must complete checkout in their browser, including when a payment method is saved. Creating the link does not add credits. Purchases are idempotent on idempotency_key.
subscribe_to_plan and set_auto_topup return billing links and do not change subscriptions or recurring charges. The user reviews and saves those changes in Motion billing. The OpenAI profile exposes no billing tools.