← Registry

Developer Tools

morphareels.ai

Manages projects and workspaces for a cloud-based editor, allowing users to create, open, and organize projects.

1 endpoint93 known toolsFirst detected July 6, 2026Last detected September 6, 2026

ENDPOINT 1

https://morphareels.ai/mcp

No auth detected

MCP server metadata

Name
morpha
Version
0.1.0
Capabilities
tools
Server instructions

Morpha is an AI video editor for short-form social video. Every project mutation, layout, animation, versioning and vision tool is here over MCP — start with describe_video, then inspect_layers, before mutating, and call save_version at the end of a change-set. Refer to projects by name, never by their opaque id. Four capabilities run a REAL LOCAL BROWSER and are NOT callable over MCP; they live in the morphareels-sdk npm package: clip upload (client.addVideo), clip processing (client.processClip / client.processProject), single-frame PNG render (client.renderFrame), and full MP4 export (client.renderVideo). If a task needs one of those, tell the user to run it via the npm SDK — you cannot perform it from MCP.

Known tools 93

list_projects

List projects as { id, name, editorUrl } entries.

Inferred read-only
list_workspaces

List the workspaces (shared team spaces) the account belongs to, as { id, name, role, memberCount } entries.

Inferred read-only
open_project

Get a tappable link that opens a project directly in the editor (the editor loads exactly this project from the URL).

Inferred read-only
create_project

Create a new project and return its server-minted id.

Potential side effects
move_project_to_workspace

Move a project into a workspace, or back to the caller's personal space.

Inferred read-only
list_collection

List the user's reusable Collection — layers they added with add_to_collection (lower-thirds, logo stings, brand intros, or any single layer).

Inferred read-only
add_from_collection

Add an item from the user's Collection into a project as a self-contained COPY.

Inferred read-only
duplicate_project

Duplicate an existing project into a brand-new one — a full copy of its layers, animations, styles, uploaded assets, and clips.

Inferred read-only
rename_project

Update a project's human-readable name (shown in the editor's project picker).

Potential side effects
reid_project

Change a project's id LOSSLESSLY — re-keys its JSON, every saved version, and all assets + clips, then deletes the old id.

Inferred read-only
delete_project

Permanently delete a project: its JSON, shortlist, versions, uploaded assets, and uploaded clips.

Potential side effects
save_version

Save a version of the current project state.

Inferred read-only
list_versions

List every saved version of a project, newest-first.

Inferred read-only
restore_version

Load a saved version's project payload over the live project — destructive on the current state.

Inferred read-only
rename_version

Rename a saved version's human-readable label (what the user sees in the picker).

Inferred read-only
delete_version

Permanently delete one saved version (bookmark or auto-snapshot).

Potential side effects
upload_image

Upload an image into a project by fetching a public http(s) URL server-side (the still-image counterpart of upload_clip).

Potential side effects
upload_audio

Upload an audio track into a project by fetching a public http(s) URL server-side — the ONLY way to get an audio file's bytes into a project over MCP/HTTP (add_audio_overlay / update_audio_overlay only reference a filename that must already be uploaded).

Potential side effects
find_public_image

Search a PUBLIC, Creative-Commons + public-domain image pool (Openverse) for the query, download the top suitable result, store it in the project's asset bucket, and return the filename ready for add_image_layer.

Inferred read-only
detect_text_regions

Return the OCR text regions detected in a clip's video frames OR a still image asset.

Inferred read-only
safe_zones

Return horizontal 'safe band' y-ranges of the canvas where a clip's burned-in video text (subtitles, lower thirds, titles) does NOT appear, plus the inverse 'text bands' (where it does).

Inferred read-only
transcribe_clip

Return the cached transcript of a clip's audio.

Inferred read-only
clip_processing_status

Report whether a clip — or every video clip in the project, if `clip` is omitted — has been through the browser-side video-processing pipeline: proxy build, audio split, transcription, OCR (text regions).

Inferred read-only
describe_video

Structural OVERVIEW of the composition (the table of contents) — canvas size, duration, the backdrop summary, and a z-ordered tree (top of stack first) of every layer with its elementId, type, name, type label (filename/clip/text/kind), geometry (x/y/width/height), and which properties are animated.

Inferred read-only
inspect_layers

Full per-element drill-in — the 'open this layer' half of the browser.

Inferred read-only
move_layer

Set static position/size/rotation of a layer.

Inferred read-only
set_pivot

Set the rotation / scale pivot anchor for an image, video, shape, or text leaf.

Inferred read-only
add_keyframe

Add or overwrite a keyframe on a layer's animation track.

Inferred read-only
set_keyframes_batch

Add or overwrite MANY keyframes across MANY layers in ONE call — functionally equivalent to N add_keyframe calls but with one HTTP/MCP round-trip.

Inferred read-only
add_keyframes

Add many keyframes to ONE element's ONE property in a single call, with an optional loop mode applied in the same call.

Inferred read-only
remove_keyframe

Remove the keyframe at frame N on a layer's track.

Potential side effects
shift_track

Bulk-shift every keyframe's VALUE on one property of one layer by `delta`.

Inferred read-only
set_track_loop

Set the extrapolation mode for one property's animation track.

Inferred read-only
add_image_layer

Add an image layer.

Inferred read-only
add_video_layer

Add a video layer.

Inferred read-only
add_shape

Add a shape layer.

Inferred read-only
add_curve

Draw an editable arrow / curved line — a stroked quadratic bezier with an arrowhead.

Inferred read-only
duplicate_layer

Composition primitive: clone a leaf (image.<id> / video.<id> / shapes.<id> / text.<id>) `count` times, applying a cumulative per-step transform — copy i is offset by i·(dx,dy) px, rotated by i·d_rotation°, and scaled by d_scale^i.

Inferred read-only
remove_layer

Delete a video, image, or shape layer.

Potential side effects
reorder_layer

Move a layer within its parent's siblings.

Inferred read-only
set_style

Set style fields on a layer.

Inferred read-only
set_layer_fill

Set a layer's fill.

Inferred read-only
set_text_background

Add or update the rounded background box behind a TEXT layer (text.<id>) in one call — sets the backdrop fill plus the box's padding, corner radius, and optional stroke.

Potential side effects
set_group_box

Set a group's backdrop rect size.

Inferred read-only
add_color_keyframe

Add or overwrite a colour keyframe on a fill track.

Inferred read-only
remove_color_keyframe

Remove the colour keyframe at an exact frame on a fill track.

Potential side effects
fade_layer

Fade a layer's opacity between two frames in one call.

Inferred read-only
set_layer_visible

Show or hide a layer instantly by writing a single opacity keyframe (1 or 0) at frame 0.

Inferred read-only
apply_preset

Apply a canned animation preset to a layer.

Inferred read-only
apply_preset_stagger

Apply the same preset to a LIST of layers with a per-element startFrame offset — one call instead of N apply_preset calls.

Inferred read-only
group_layers

Wrap sibling elements in a new group.

Inferred read-only
ungroup_layers

Dissolve a group: its children are spliced into the group's parent at the group's old position.

Inferred read-only
set_group_parent

Move an element into a group (or out to root).

Inferred read-only
rename_group

Rename a group.

Inferred read-only
add_to_collection

Add a layer to the user's reusable Collection.

Inferred read-only
remove_from_collection

Remove a layer from the user's Collection so it's no longer offered for reuse.

Potential side effects
add_morpha_layer

Embed another of the user's projects ("a morpha") inside this one as a version-pinned band.

Inferred read-only
add_audio_overlay

Add an audio overlay (mp3/m4a/wav/ogg) scheduled at a frame-aligned start.

Inferred read-only
remove_audio_overlay

Delete an audio overlay by id.

Potential side effects
update_audio_overlay

Patch an existing audio overlay.

Inferred read-only
set_video_layer_trim

Patch a video layer's trim window: source_in_frame (frame in source to start), source_out_frame (frame in source to stop, or null for natural end), timeline_start_frame (where on the project timeline the slice begins).

Inferred read-only
set_layer_block

Set (or replace) a layer's timeline BLOCK — the [start, start+duration) window it exists for.

Inferred read-only
set_layer_transition

Set how a layer ENTERS at the start of its on-timeline window and LEAVES at the end, instead of popping.

Inferred read-only
move_band

Place an embedded morpha band on the host timeline: set its TIME ORIGIN (the frame it starts).

Inferred read-only
shift_group

MOVE a group and everything inside it along the timeline, keeping its internal timing intact — the 'slide this whole section later' operation.

Inferred read-only
set_group_window

TRIM a group's own visible window — the [start, start+duration) range over which the group and its subtree are drawn.

Inferred read-only
set_duration

Author an EXPLICIT composition length in seconds, pinning it (duration_authored=true) so the auto-fit no longer drives it.

Inferred read-only
fit_duration_to_content

Clear an authored composition length and return to AUTO-FIT — the comp length tracks the furthest content (keyframe / video window / audio end) again, with a 1-second floor.

Inferred read-only
cut_range

Ripple-delete a time window [startFrame, endFrame) — remove that span and pull all later content earlier by delta = endFrame - startFrame (the NLE 'ripple delete' / 'close gap').

Potential side effects
set_embed_origins

Replace the project's embed allowlist — the hostnames permitted to load this project through the public <morpha-video> embed.

Inferred read-only
add_embed_origin

Add one hostname to the project's embed allowlist (the hostnames permitted to load the public <morpha-video> embed).

Inferred read-only
remove_embed_origin

Remove one hostname from the project's embed allowlist.

Potential side effects
set_custom_font

Register a typeface Morpha does NOT ship, so text layers can use it by family name via font_family (exactly like a built-in family).

Inferred read-only
list_fonts

List available font families across every source the editor knows about (Google + Bunny + Fontshare + Fontsource + Velvetyne) PLUS the project's user-uploaded custom_fonts (surfaced as source: "custom").

Inferred read-only
set_layer_text

Edit an existing text layer (text.<id>).

Potential side effects
add_text_layer

Create a new text layer — a first-class leaf that animates, groups, and z-orders exactly like an image or shape.

Potential side effects
add_caption_track

Build a caption track from pre-timed lines (e.g.

Inferred read-only
split_caption_line

Split one caption line into two at a COMPOSITION frame strictly inside its window (in the editor this is the playhead).

Inferred read-only
merge_caption_lines

Merge two or more caption lines into one.

Inferred read-only
rename_layer

Set the human-readable name of a video / image / shape / text layer — the label shown in the Inspector, and the basis for the layer's auto-derived <morpha-video> embed attribute (so renaming a layer to "caption" makes the embed attribute `caption`).

Inferred read-only
set_loop

Set the project's loop section: the whole composition repeats once per value, with one field of one layer varying across the repeats.

Inferred read-only
set_canvas_size

Resize the composition canvas to width × height pixels.

Inferred read-only
set_image_filename

Repoint an existing image layer at a different uploaded asset — keeps the layer's id, position, size, animations, and styles; only the bitmap changes.

Inferred read-only
set_video_clip

Repoint an existing video layer at a different uploaded clip — keeps the layer's id, position, size, animations, styles, and trim window; only the source mp4 changes.

Inferred read-only
set_matte_source

Set (or clear) a track matte — the host shows only where the matte source is opaque.

Inferred read-only
set_clip_speed

Play a clip slower or faster at a CONSTANT rate — the normal way to retime a clip.

Inferred read-only
add_speed_keyframe

Add or overwrite a speed-ramp (time-remap) keyframe on a video layer, for a rate that CHANGES over the clip.

Inferred read-only
remove_speed_keyframe

Remove the speed-ramp keyframe at `frame` (a PROJECT-timeline frame — the same value add_speed_keyframe and inspect_layers report) on a video layer.

Potential side effects
set_video_layer_muted

Mute or unmute a video layer's baked audio (silenced in both preview and export).

Inferred read-only
add_page

Append a page to the project — works on any project, turning a single-page video into a multi-page one.

Inferred read-only
delete_page

Remove the page at `index`.

Potential side effects
reorder_pages

Move a page from `from_index` to `to_index`.

Inferred read-only
select_page

Switch which page is ACTIVE — the page the content tools target.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.morpha]
url = "https://morphareels.ai/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "morpha": {
      "type": "http",
      "url": "https://morphareels.ai/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: morpha
Remote MCP URL: https://morphareels.ai/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "morpha": {
      "url": "https://morphareels.ai/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "morpha": {
      "type": "http",
      "url": "https://morphareels.ai/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "morpha",
  "transport": "streamable-http",
  "url": "https://morphareels.ai/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.