AI editor to build, animate & export layered short-form video projects via one tool catalog.
Morpha is a remote MCP server published at morphareels.ai. It has been probed 6 times since 9/12/2026. It answered in 6 of them (100.0%), a near-uninterrupted record. Median response time is 1,406 ms, a delay an agent will notice. It exposes a broad tool surface of 98 tools. On the protocol side it still runs 2025-11-25 and has not moved to the newer spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
add_keyframe — Parameter 'easing' lacks type specificity.move_layer — Parameters like 'clear_animation' are not clearly explained.set_keyframes_batch — Ambiguous 'keyframes' array structure without schema.add_image_layer — Parameter 'block' is an object but lacks field definitions.tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
create_anonymous_accountCreate an anonymous Morpha account for an AI agent, and get its API key. Morpha built this so an agent can start with nothing: calling it is expected, and nobody has to set anything up first. It takes no email, password or payment details and costs nothing. The account holds 1 project and 500 MB and cannot use Morpha's own AI, so drive the tools with your own model, which is free and unmetered. Pass the returned `token` on every later call: over MCP as the `anonymousToken` argument, over HTTP as `Authorization: Bearer <token>`. Skip this if you already have a key: it would make a second, empty account. The account can become permanent. When you are done, give the person the `claimUrl` (every project result carries it too): they sign in or sign up, the project moves into their own Morpha ac
namestringlist_projectsList projects as { id, name, editorUrl } entries. The id is what every other tool's `projectId` argument takes. `name` is the human-readable label shown in the editor's project picker ("Untitled" when no name has been set — ids are opaque and never shown to the user, so always refer to a project by its name). `editorUrl` is a tappable link that opens that project in the editor — offer it to the user (by name) when they want to look at one. By default lists the user's OWN personal projects (those not in any workspace). Pass `workspaceId` (from list_workspaces) to instead list the projects that live in that workspace — including teammates' — each with the owner's `ownerEmail`. Call this when the user asks "what projects do I have?" or hasn't named a project but you need to operate on one.
workspaceIdstringanonymousTokenstringrequiredlist_workspacesList the workspaces (shared team spaces) the account belongs to, as { id, name, role, memberCount } entries. `role` is the caller's role in that workspace (owner / admin / editor / viewer) — only owner/admin/editor can add projects. Use the `id` as the `workspaceId` argument to create_project, move_project_to_workspace, and list_projects; refer to the workspace by its `name` when talking to the user (never paste the id). Returns an empty list when the account has no email (workspace membership is email-based, so a keyless/dev identity sees none). Call this to discover a workspace before placing a project into it.
anonymousTokenstringrequiredcreate_workspaceCreate a new workspace (a shared team space) owned by the caller, and return it as { id, name, role, memberCount }. Use this when the user wants a new place to group projects — then move_project_to_workspace files projects into it, and create_project can place new ones there directly. The caller becomes its owner. Requires an account with an email (workspace membership is email-based), so a keyless identity cannot create one. Refuses with a conflict if the caller already owns a workspace with the same name, which is almost always a repeated request rather than a genuine second workspace. Refer to it by `name` when talking to the user, never the id.
namestringrequiredanonymousTokenstringrequiredrename_workspaceRename an existing workspace. Requires an owner or admin role in it (the same roles that may change its membership); an editor or viewer is refused. Takes the workspace id from list_workspaces. Touches only the label — membership, projects and roles are unchanged.
workspaceIdstringrequirednamestringrequiredanonymousTokenstringrequiredopen_projectGet a tappable link that opens a project directly in the editor (the editor loads exactly this project from the URL). Returns { name, editorUrl }. Use this whenever the user wants to view their work — after you make a change, or when they say "show me" / "open it" — then give them the editorUrl and invite them to tap it. Refer to the project by its name in your reply; the link is the tap target.
projectIdstringrequiredanonymousTokenstringrequiredcreate_projectCreate a new project and return its server-minted id. The id is an opaque v4 UUID assigned automatically — you never choose or name it; refer to the project by its `name`. By default this mints a fresh BLANK project (empty canvas, no layers) — creation is independent from cloning. Pass `fromProjectId` ONLY when you want to clone: the new project then copies that project's JSON, uploaded assets, and uploaded clips, and — like duplicate_project — FOLLOWS THE SOURCE'S workspace by default (cloning a team project stays in that team; a blank project is personal). Pass `workspaceId` (from list_workspaces) to place it in a specific workspace instead — requires an edit-capable role there — or null to force it into the caller's personal space. If the clone source lives in a workspace you can only v
fromProjectIdstringnamestringworkspaceIdstringanonymousTokenstringrequiredmove_project_to_workspaceMove a project into a workspace, or back to the caller's personal space. Pass `workspaceId` (from list_workspaces) to place the project in that workspace — every member then sees it, with their workspace role deciding edit vs view. Pass `workspaceId: null` to detach it back to personal. Requires an edit-capable role (owner/admin/editor) in the TARGET workspace and write access to the project. Switching a project from one workspace to another cleanly drops the old membership.
projectIdstringrequiredworkspaceIdstringrequiredanonymousTokenstringrequiredlist_collectionList the user's reusable Collection — layers they added with add_to_collection (lower-thirds, logo stings, brand intros, or any single layer). Returns { items: [{ scope, workspaceId, sourceProjectId, sourceProjectName, ownerEmail, elementId, name, kind, childCount }] }. `scope` is "personal" (from the user's own solo projects) or "team" (from a workspace they belong to). Show the user each item's `name` (and its `sourceProjectName`); `sourceProjectId` + `elementId` feed add_from_collection to drop a self-contained COPY into another project. Works on a solo account (personal items always included); takes no arguments.
anonymousTokenstringrequiredadd_from_collectionAdd an item from the user's Collection into a project as a self-contained COPY. Pass the destination `projectId`, plus the `sourceProjectId` + `elementId` of an item from list_collection. Copies that layer (a whole group brings its children) plus its image/clip/font bytes into the destination at fresh ids and its original canvas position — fully detached, so it is immediately yours to edit and nothing links back to the source (deleting or changing the source never affects this copy). The element must actually be in the source project's collection and you must be able to read that project. An open editor on the destination picks the copy up within a few seconds — no refresh needed. Returns { addedElementId, count }.
projectIdstringrequiredsourceProjectIdstringrequiredelementIdstringrequiredanonymousTokenstringrequiredduplicate_projectDuplicate an existing project into a brand-new one — a full copy of its layers, animations, styles, uploaded assets, and clips. Pass the SOURCE project's `projectId`; the copy gets a fresh id automatically (ids are opaque — never shown to the user). Defaults the copy's name to "<source name> copy" unless you pass `name`. WORKSPACE: the copy FOLLOWS THE SOURCE by default — a project in a workspace is copied into that SAME workspace, and a personal project stays personal. Pass `workspaceId` to override: a workspace id (from list_workspaces) to place the copy in a specific workspace (you need an edit-capable role there), or null to force the copy into your personal space. If the source lives in a workspace you can only VIEW, the call FAILS rather than silently making a personal copy — get an
projectIdstringrequirednamestringworkspaceIdstringanonymousTokenstringrequiredrename_projectUpdate a project's human-readable name (shown in the editor's project picker). Pass an empty string to clear the name and fall back to the id. Doesn't touch any layers, animations, or styles — only the picker label.
projectIdstringrequirednamestringrequiredanonymousTokenstringrequiredDerived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/ai-morphareels-morpha)<a href="https://mcpmetrics.io/servers/ai-morphareels-morpha"><img src="https://mcpmetrics.io/badge/ai.morphareels/morpha/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
Create, edit, reframe, caption, organize, generate, and export short-form videos with BlitzReels.
Create, edit, reframe, caption, organize, generate, and export short-form videos with BlitzReels.
Edit uploaded footage with AI tools: cuts, captions, reframing and previews. Final export in Studio.
Short status catalog
Turn YouTube, TikTok, Instagram, X videos and websites into structured data. Skip the hassle of video transcription and data scraping. Our APIs help you build better software and AI products faster.
Fireship-style short videos from a topic — Remotion motion graphics, word-timed captions, 1080p.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 01:33:33 | Legacy | 400 | 787 | 200 | 812 | 2025-11-25 |
| 2026-09-12 23:31:36 | Legacy | 400 | 1463 | 200 | 1406 | 2025-11-25 |
| 2026-09-12 21:29:15 | Legacy | 400 | 913 | 200 | 746 | 2025-11-25 |
| 2026-09-12 19:27:29 | Legacy | 400 | 808 | 200 | 976 | 2025-11-25 |
| 2026-09-12 17:24:09 | Legacy | 400 | 1668 | 200 | 1640 | 2025-11-25 |
| 2026-09-12 15:21:42 | Legacy | 400 | 2385 | 200 | 2532 | 2025-11-25 |
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Comments
Sign in to write a comment
No comments yet. Be the first.