Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.VicThor-wpp/mograph-mcp

PYPI · MOGRAPH-MCP · SCANNED OCT 6

Drive Adobe Illustrator and After Effects, and move artwork between them as editable shape layers.

Available components

−2 this week 65 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 30 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 32 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 8747 tokens (~67/item across 129 items; 126 tools + 3 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
  • Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (5% of tools); any adoption earns full credit.Pass
Tool Safety79
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 1 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "ai_delete" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
  • An AI judge read all 128 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the io.github.VicThor-wpp/mograph-mcp server?

io.github.VicThor-wpp/mograph-mcp runs locally as a PyPI package, launched with uvx mograph-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mograph-mcp

# add to Claude Code
claude mcp add victhor-wpp-mograph-mcp -- uvx mograph-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "victhor-wpp-mograph-mcp": {
      "command": "uvx",
      "args": [
        "mograph-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "victhor-wpp-mograph-mcp": {
      "command": "uvx",
      "args": [
        "mograph-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add victhor-wpp-mograph-mcp -- uvx mograph-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "victhor-wpp-mograph-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "mograph-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add victhor-wpp-mograph-mcp --command uvx --arg mograph-mcp
# ~/.hermes/config.yaml
mcp_servers:
  victhor-wpp-mograph-mcp:
    command: "uvx"
    args: ["mograph-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "victhor-wpp-mograph-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mograph-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add victhor-wpp-mograph-mcp -t stdio -c uvx -a mograph-mcp
// mcp.json
{
  "mcpServers": {
    "victhor-wpp-mograph-mcp": {
      "command": "uvx",
      "args": [
        "mograph-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 6 Oct 26 −2
    • Stability: pass → 0.83 functional
  • 4 Oct 26 0
    • Stability: 0.97 → pass security
  • 3 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Oct 26 −1
    • Stability: pass → 0.90 functional
  • 30 Sept 26 0
    • Stability: 0.97 → pass security
  • 29 Sept 26 +1
    • Provenance: unverified → fail ▼ security
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Sept 26 +4
    • License: fail → pass ▲ functional
    • Licence: Apache-2.0 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 8 Oct 2026 · Analysed pypi/mograph-mcp@0.12.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Dependencies 30 packages
Packages resolved 30
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 126 exposed · ~8,256 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
ae_add_item ~102

Put a project item -- another COMP, or a footage item -- into a comp as a layer. This is how a film gets assembled: each scene is its own comp, and a master comp holds them one after another with the transitions at the seams. Full notes: docs://tools/ae_add_item

NameTypeReqDescription
comp_name–––
item–yes–
name–––
start_timenumber––
to_index–––

No output schema declared.

No examples provided.

ae_add_layer ~123

Add a layer to a comp: solid, text, null, adjustment, camera or light. Full notes: docs://tools/ae_add_layer

NameTypeReqDescription
center_point–––
color–––
comp_name–––
duration–––
font–––
height–––
intensity–––
kindstringyes–
light_typestring––
name–––
position–––
sizenumber––
text–––
width–––
zoom–––

No output schema declared.

No examples provided.

ae_add_mask ~86

Add a mask to a layer from [x, y] vertices in layer space.

NameTypeReqDescription
closedboolean––
comp_name–––
in_tangents–––
invertedboolean––
layer–yes–
modestring––
name–––
out_tangents–––
verticesarrayyes–

No output schema declared.

No examples provided.

ae_add_shape ~116

Add a shape layer (rectangle/ellipse/star/custom_path) to a comp. Full notes: docs://tools/ae_add_shape

NameTypeReqDescription
closedboolean––
comp_name–––
fill–––
gradient–––
in_tangents–––
name–––
out_tangents–––
position–––
shape_typestring––
size–––
stroke–––
stroke_widthnumber––
vertices–––

No output schema declared.

No examples provided.

ae_aerender ~77

Render a comp headlessly via aerender.exe (does not block the AE UI). Full notes: docs://tools/ae_aerender

NameTypeReqDescription
comp_namestringyes–
output_pathstringyes–
render_settingsstring––
templatestring––
waitboolean––

No output schema declared.

No examples provided.

ae_animate ~171

Bring elements in (or take them out) with anticipation, overshoot and settle. Full notes: docs://tools/ae_animate

NameTypeReqDescription
anticipationnumber––
at–––
at_time–––
bpm–––
comp_name–––
curvestring––
delay–––
distancenumber––
duration–––
ease–––
influencenumber––
layersarrayyes–
orderstring––
origin–––
overshootnumber––
phasestring––
replaceboolean––
reverseboolean––
set_in_pointboolean––
squash–––
stylestring––

No output schema declared.

No examples provided.

ae_apply_preset ~68

Apply an .ffx animation preset to a layer. `ae_list_presets` gives the absolute paths this takes -- every text preset After Effects ships lives under `Presets/Text/`.

NameTypeReqDescription
comp_name–––
layer–yes–
preset_pathstringyes–

No output schema declared.

No examples provided.

ae_assemble ~89

Chain scenes into one comp, in order, with every start time worked out. Full notes: docs://tools/ae_assemble

NameTypeReqDescription
bpm–––
compsarrayyes–
fps–––
height–––
masterstring––
overlap–––
replaceboolean––
transitionstring––
width–––

No output schema declared.

No examples provided.

ae_audio_keyframes ~50

Turn an audio layer's level into keyframes -- the music, made drivable. Full notes: docs://tools/ae_audio_keyframes

NameTypeReqDescription
comp_name–––
layer–yes–

No output schema declared.

No examples provided.

ae_audio_link ~76

Make properties breathe with the music: amplitude to expression, one call. Full notes: docs://tools/ae_audio_link

NameTypeReqDescription
amountnumber––
audio_layer–––
axis–––
comp_name–––
layers–yes–
property_pathstring––
slider–––

No output schema declared.

No examples provided.

ae_audit_project ~37

The health of the project: unused items, missing footage, broken expressions. Full notes: docs://tools/ae_audit_project

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ae_beat_grid ~83

Lay a tempo on a comp as one marker per beat, and make timing a vocabulary. Full notes: docs://tools/ae_beat_grid

NameTypeReqDescription
barsinteger––
beats_per_barinteger––
bpmnumberyes–
comp_name–––
offsetnumber––
replaceboolean––

No output schema declared.

No examples provided.

ae_behave ~78

Give layers something to DO between their entrance and the cut. Full notes: docs://tools/ae_behave

NameTypeReqDescription
amountnumber––
bpm–––
comp_name–––
kindstring––
layers–yes–
property_path–––
rate–––
settle–––

No output schema declared.

No examples provided.

ae_choreograph ~61

A whole scene's motion in one call: entrances, exits and behaviours. Full notes: docs://tools/ae_choreograph

NameTypeReqDescription
at_time–––
bpm–––
comp_name–––
movesarrayyes–

No output schema declared.

No examples provided.

ae_consolidate_footage ~30

Run AE's 'Consolidate All Footage' (merge duplicate footage items).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ae_contact_sheet ~96

Render several moments of a comp into one labelled sheet and look at it. Full notes: docs://tools/ae_contact_sheet

NameTypeReqDescription
background–––
cell_widthinteger––
colsinteger––
comp_name–––
countinteger––
end–––
max_diminteger––
path–––
start–––
times–––

No output schema declared.

No examples provided.

ae_copy_animation ~61

Copy one property's keyframes (easing included) from one layer onto others.

NameTypeReqDescription
comp_name–––
from_layer–yes–
property_pathstringyes–
time_offsetnumber––
to_layersarrayyes–

No output schema declared.

No examples provided.

ae_create_folder ~29

Create a folder in the project panel.

NameTypeReqDescription
namestringyes–
parent–––

No output schema declared.

No examples provided.

ae_delete_item ~37

Delete a project item. Refuses if it's still used somewhere unless force=True.

NameTypeReqDescription
forceboolean––
item–yes–

No output schema declared.

No examples provided.

ae_delete_layer ~48

Delete a layer from a comp, or a whole list of them in one pass. Full notes: docs://tools/ae_delete_layer

NameTypeReqDescription
comp_name–––
layer–yes–

No output schema declared.

No examples provided.

ae_duplicate_comp ~27

Duplicate a composition.

NameTypeReqDescription
comp_namestringyes–
new_name–––

No output schema declared.

No examples provided.

ae_duplicate_layer ~36

Duplicate a layer, optionally renaming the copy.

NameTypeReqDescription
comp_name–––
layer–yes–
new_name–––

No output schema declared.

No examples provided.

ae_effect ~145

Apply an effect to a layer, remove it, list what is on there, set one of its parameters, or copy the whole stack onto other layers. `op` is `apply`, `remove`, `list`, `set_property` or `copy`. All five share `(layer, effect, comp_name)`, which is why they are one tool. Full notes: docs://tools/ae_effect

NameTypeReqDescription
comp_name–––
effect–––
from_comp–––
layer–––
opstringyes–
property–––
replaceboolean––
to_layers–––
value–––

No output schema declared.

No examples provided.

ae_find_usage ~31

Find every comp/layer where a project item is used. Check this before deleting.

NameTypeReqDescription
item–yes–

No output schema declared.

No examples provided.

ae_get_project_info ~40

List items (comps, footage) in the active AE project, and its settings. Full notes: docs://tools/ae_get_project_info

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ae_get_selection ~25

What the user currently has selected in AE (layers, properties, project items).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ae_import_file ~62

Import a footage file into the AE project, and into a comp only if you name one. Full notes: docs://tools/ae_import_file

NameTypeReqDescription
as_footageboolean––
comp_name–––
pathstringyes–

No output schema declared.

No examples provided.

ae_import_folder ~45

Import every file in a directory in one round-trip, optionally into its own project folder.

NameTypeReqDescription
extensions–––
folder_name–––
pathstringyes–

No output schema declared.

No examples provided.

ae_inspect_layer ~40

Full detail of one layer: transform values, keyframes, expressions, effect parameters, masks.

NameTypeReqDescription
comp_name–––
layer–yes–

No output schema declared.

No examples provided.

ae_interpret_footage ~58

Change how AE interprets a footage item: conform frame rate, loop count, alpha mode.

NameTypeReqDescription
alpha–––
fps–––
item–yes–
loop–––
premul_color–––

No output schema declared.

No examples provided.

ae_keyframe_easing ~81

Shape the keyframes a property already has: easing, interpolation, or both. Full notes: docs://tools/ae_keyframe_easing

NameTypeReqDescription
comp_name–––
ease–––
influencenumber––
interpolation–––
keys–––
layer–yes–
property_pathstringyes–

No output schema declared.

No examples provided.

ae_keyframes ~138

Put keyframes on a property, read them, delete them or shift them in time. `op` is `set`, `get`, `delete` or `offset`. `property_path` may nest, so effect properties work too: 'Effects/Gaussian Blur/Blurriness'. Full notes: docs://tools/ae_keyframes

NameTypeReqDescription
comp_name–––
delta–––
ease–––
keys–––
layer–yes–
opstringyes–
property_pathstringyes–
replaceboolean––
times–––
values–––

No output schema declared.

No examples provided.

ae_list_available_effects ~40

List every effect installed in AE with its matchName. Use `filter` to search (e.g. 'blur').

NameTypeReqDescription
filter–––

No output schema declared.

No examples provided.

ae_list_fonts ~37

List the fonts AE can use, by PostScript name. Check here before setting a font on a text layer.

NameTypeReqDescription
filter–––

No output schema declared.

No examples provided.

ae_list_layers ~76

List a comp's layers with type, source, timing, parenting, effects and what's animated. Full notes: docs://tools/ae_list_layers

NameTypeReqDescription
at_time–––
comp_name–––
include_animationboolean––
include_effectsboolean––
include_transformboolean––
NameTypeReqDescription
data–yes–
okbooleanyes–

No examples provided.

ae_list_presets ~50

List the .ffx animation presets this install can reach, with full paths. Full notes: docs://tools/ae_list_presets

NameTypeReqDescription
filter–––
limitinteger––

No output schema declared.

No examples provided.

ae_markers ~72

Read or add markers, on a comp or on a layer. `op` is `get` or `add`.

NameTypeReqDescription
commentstring––
comp_name–––
durationnumber––
layer–––
opstring––
timenumber––

No output schema declared.

No examples provided.

ae_move_to_folder ~31

Move project items into a folder.

NameTypeReqDescription
folderstringyes–
itemsarrayyes–

No output schema declared.

No examples provided.

ae_new_comp ~49

Create a new composition.

NameTypeReqDescription
durationnumber––
fpsnumber––
heightinteger––
namestringyes–
widthinteger––

No output schema declared.

No examples provided.

ae_new_project ~16

Create a new After Effects project.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ae_open_project ~25

Open an After Effects project (.aep).

NameTypeReqDescription
pathstringyes–

No output schema declared.

No examples provided.

ae_precompose ~47

Precompose the given layers into a new comp.

NameTypeReqDescription
comp_name–––
layersarrayyes–
move_attributesboolean––
namestringyes–

No output schema declared.

No examples provided.

ae_preview ~91

Render the work area as a small, slow movie and hand it back as a link. Full notes: docs://tools/ae_preview

NameTypeReqDescription
comp_name–––
end–––
fpsnumber––
path–––
render_settingsstring––
scalenumber––
start–––
template–––
timeoutnumber––

No output schema declared.

No examples provided.

ae_reduce_project ~32

Run AE's 'Reduce Project': strip everything the named comps don't need.

NameTypeReqDescription
comp_namesarrayyes–

No output schema declared.

No examples provided.

ae_remove_unused_footage ~22

Run AE's 'Remove Unused Footage'.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ae_render_frames ~86

Render a comp's frames to PNGs and wait until they are really on disk. Full notes: docs://tools/ae_render_frames

NameTypeReqDescription
comp_name–––
end–––
out_dirstringyes–
prefixstring––
startnumber––
stepinteger––
timeout_per_framenumber––

No output schema declared.

No examples provided.

ae_render_queue ~100

Work the render queue: `op` is `add`, `list` or `clear`. One entity, three verbs. `add` with `start_queue=True` also renders, and After Effects is blocked for the whole of it.

NameTypeReqDescription
comp_name–––
opstring––
output_path–––
render_settingsstring––
start_queueboolean––
templatestring––

No output schema declared.

No examples provided.

ae_render_status ~48

How a `wait=False` render is going, or all of them. Full notes: docs://tools/ae_render_status

NameTypeReqDescription
cancelboolean––
render_id–––

No output schema declared.

No examples provided.

ae_reorder_layer ~60

Move a layer in the stacking order. Give exactly one of to_index (1 = top), before, after.

NameTypeReqDescription
after–––
before–––
comp_name–––
layer–yes–
to_index–––

No output schema declared.

No examples provided.

ae_replace_source ~54

Point a layer at a different footage item or comp, keeping its transform, keyframes and effects.

NameTypeReqDescription
comp_name–––
item–yes–
keep_effectsboolean––
layer–yes–

No output schema declared.

No examples provided.

Common questions

What is the io.github.VicThor-wpp/mograph-mcp server?

io.github.VicThor-wpp/mograph-mcp is listed in the public MCP registry as io.github.VicThor-wpp/mograph-mcp. Drive Adobe Illustrator and After Effects, and move artwork between them as editable shape layers. This page covers its PyPI package (mograph-mcp).

Is the io.github.VicThor-wpp/mograph-mcp server safe to use?

io.github.VicThor-wpp/mograph-mcp scores 65 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 6 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.VicThor-wpp/mograph-mcp server expose?

io.github.VicThor-wpp/mograph-mcp exposes 126 tools: ai_status, ai_new_document, ai_open_document, ai_save_document, ai_close_document, and 121 more. Their descriptions and schemas cost roughly 8,256 tokens of context every time the server is loaded.

Is the io.github.VicThor-wpp/mograph-mcp server still maintained?

io.github.VicThor-wpp/mograph-mcp is still listed as active in the MCP registry. We last reached this channel on 6 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.VicThor-wpp/mograph-mcp server under?

io.github.VicThor-wpp/mograph-mcp declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.