io.github.VicThor-wpp/mograph-mcp
PYPI · MOGRAPH-MCP · SCANNED AUG 17
Drive Adobe Illustrator and After Effects, and move artwork between them as editable shape layers.
Available components
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 →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 2 of 32 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- 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
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 2 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 7043 tokens (~62/item across 113 items; 112 tools + 1 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 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
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
pypi · mograph-mcp
claude mcp add victhor-wpp-mograph-mcp -- uvx mograph-mcp
codex mcp add victhor-wpp-mograph-mcp -- uvx mograph-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"victhor-wpp-mograph-mcp": {
"type": "local",
"command": [
"uvx",
"mograph-mcp"
],
"enabled": true
}
}
} openclaw mcp add victhor-wpp-mograph-mcp --command uvx --arg mograph-mcp
mcp_servers:
victhor-wpp-mograph-mcp:
command: "uvx"
args: ["mograph-mcp"] {
"mcpServers": {
"victhor-wpp-mograph-mcp": {
"command": "uvx",
"args": [
"mograph-mcp"
]
}
}
} 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.
- 16 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Aug 26 +15
- Malware scan: unverified → pass ▲ security
- 12 Aug 26 −14
- Malware scan: pass → unverified ▼ security
- 11 Aug 26 +3
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 10 Aug 26 +15
- Malware scan: unverified → pass ▲ security
- Stability: unverified → 0.03 ▲ functional
- Package version: 0.5.2 → 0.6.2 functional
- 9 Aug 26 48
First indexed and scored.
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 17 Aug 2026 · Analysed pypi/mograph-mcp@0.6.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Dependencies 32 packages
| Packages resolved | 32 |
|---|---|
| Stale | 1 |
| No linked repository | 1 |
| Tree resolution | Complete |
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.
ae_stagger Stagger the same animation across layers ~107
Give N layers the same animation with a progressive offset. Full notes: docs://tools/ae_stagger
| Name | Type | Req | Description |
|---|---|---|---|
| at_time | – | – | – |
| comp_name | – | – | – |
| delay | number | – | – |
| ease | – | – | – |
| from_layer | – | – | – |
| influence | number | – | – |
| layers | array | yes | – |
| order | string | – | – |
| origin | – | – | – |
| property_path | string | yes | – |
| reverse | boolean | – | – |
| total | – | – | – |
No output schema declared.
No examples provided.
ae_status After Effects status ~17
Report After Effects install + bridge connection status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_add Draw a rectangle, ellipse, path or text ~108
Draw a primitive: `kind` is `rect`, `ellipse`, `path` or `text`. Full notes: docs://tools/ai_add
| Name | Type | Req | Description |
|---|---|---|---|
| closed | boolean | – | – |
| font | – | – | – |
| height | number | – | – |
| kind | string | yes | – |
| layer | – | – | – |
| points | – | – | – |
| size | number | – | – |
| text | – | – | – |
| width | number | – | – |
| x | number | – | – |
| y | number | – | – |
No output schema declared.
No examples provided.
ai_add_layer Add a layer ~26
Add a new layer to the active Illustrator document.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
No output schema declared.
No examples provided.
ai_analyze_layout Analyse the layout of an artboard ~98
Measure the composition: visual hierarchy, inferred roles, alignments, margins, weight per quadrant. Read-only. Turns a picture into numbers you can reason about: which element dominates and by how much, what lines up with what, where the air is.
| Name | Type | Req | Description |
|---|---|---|---|
| artboard | integer | – | – |
| layer | – | – | – |
| min_size | integer | – | – |
| strategy | string | – | – |
| tolerance | number | – | – |
No output schema declared.
No examples provided.
ai_apply_clusters Apply a proposed grouping ~50
Materialise a clustering proposal into layers or groups. Full notes: docs://tools/ai_apply_clusters
| Name | Type | Req | Description |
|---|---|---|---|
| clusters | array | yes | – |
| mode | string | – | – |
| parent_layer | – | – | – |
No output schema declared.
No examples provided.
ai_apply_layout Apply a reframe plan ~87
Materialise a reframe proposal from ai_reframe_layout. By default the artwork is duplicated onto a new artboard beside the original, one layer per cluster, so both formats live in the same document and the source is left untouched.
| Name | Type | Req | Description |
|---|---|---|---|
| layer_prefix | string | – | – |
| new_artboard | boolean | – | – |
| offset | – | – | – |
| plan | object | yes | – |
No output schema declared.
No examples provided.
ai_artboard_items Items whose centre falls on an artboard ~92
List the items that belong to one artboard, with their ids. `mode`: 'center' (the item's middle is on the board -- the useful default on a storyboard), 'contained' (entirely inside), 'intersect' (merely touches).
| Name | Type | Req | Description |
|---|---|---|---|
| artboard | integer | yes | – |
| layer | – | – | – |
| limit | integer | – | – |
| mode | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | – |
| ok | boolean | yes | – |
No examples provided.
ai_audit_assets Audit: what the document's panels carry ~39
What the document carries in its panels -- swatches, symbols, styles, images. Full notes: docs://tools/ai_audit_assets
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_audit_for_animation Audit: what breaks on the way to After Effects ~71
Find what will break or degrade when this artwork is pushed to After Effects. Triage step for a delivered file: mesh gradients, plugin objects, patterns, broken links, missing fonts, clipping masks, locked/hidden content, generic names, off-artboard junk, CMYK, path count.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_audit_structure Audit: do the groups match what the eye reads ~61
Audit one frame's STRUCTURE with motion eyes: where does the hierarchy lie? Full notes: docs://tools/ai_audit_structure
| Name | Type | Req | Description |
|---|---|---|---|
| artboard | integer | yes | – |
| limit | integer | – | – |
| max_depth | integer | – | – |
No output schema declared.
No examples provided.
ai_auto_name_items Name items from their content ~123
Give readable names to unnamed items. Text names itself from its content, placed images from their file name, and a GROUP from the biggest piece of text inside it -- a group has no attributes of its own, and the word is right there in its children. Full notes: docs://tools/ai_auto_name_items
| Name | Type | Req | Description |
|---|---|---|---|
| container | – | – | – |
| layer | – | – | – |
| limit | integer | – | – |
| meaningful_only | boolean | – | – |
| only_generic | boolean | – | – |
| prefix | string | – | – |
| recursive | boolean | – | – |
No output schema declared.
No examples provided.
ai_checkpoint Checkpoint document (rebinds to a temp copy) ~67
Save a copy of the document before a restructuring pass. Illustrator's undo does not reliably survive a script that touches hundreds of items, so take one of these before anything destructive. Full notes: docs://tools/ai_checkpoint
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | – | – |
| path | – | – | – |
No output schema declared.
No examples provided.
ai_close_document Close Illustrator document ~22
Close the active Illustrator document.
| Name | Type | Req | Description |
|---|---|---|---|
| save | boolean | – | – |
No output schema declared.
No examples provided.
ai_cluster_items Propose groupings from geometry ~140
Propose how to group loose items. Read-only: nothing is modified. This is the answer to a layer with a thousand unnamed objects. Strategies: proximity (recovers real objects -- pieces of one icon touch each other and sit far from the next), color, type, size, zorder, row. Full notes: docs://tools/ai_cluster_items
| Name | Type | Req | Description |
|---|---|---|---|
| artboard | – | – | – |
| container | – | – | – |
| layer | – | – | – |
| limit | integer | – | – |
| max_clusters | – | – | – |
| min_size | integer | – | – |
| prefix | string | – | – |
| strategy | string | – | – |
| tolerance | – | – | – |
No output schema declared.
No examples provided.
ai_contact_sheet Contact sheet of every artboard ~72
Render every artboard small and tile them into one numbered sheet. Full notes: docs://tools/ai_contact_sheet
| Name | Type | Req | Description |
|---|---|---|---|
| cols | integer | – | – |
| first | integer | – | – |
| last | – | – | – |
| max_dim | integer | – | – |
| path | – | – | – |
| scale | number | – | – |
No output schema declared.
No examples provided.
ai_convert_color_space Convert colour space ~33
Convert the document color space. 'rgb' is what After Effects works in.
| Name | Type | Req | Description |
|---|---|---|---|
| space | string | – | – |
No output schema declared.
No examples provided.
ai_delete Delete items, empty layers, off-artboard art or a layer ~65
Delete things: `what` is `items`, `empty_layers`, `off_artboard` or `layer`. Full notes: docs://tools/ai_delete
| Name | Type | Req | Description |
|---|---|---|---|
| items | – | – | – |
| layer | – | – | – |
| move_items_to | – | – | – |
| what | string | yes | – |
No output schema declared.
No examples provided.
ai_deselect Clear the selection ~14
Clear the Illustrator selection.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_diff_frames What changed between two frames ~82
What changed between two frames of a storyboard -- which is the animation. Full notes: docs://tools/ai_diff_frames
| Name | Type | Req | Description |
|---|---|---|---|
| artboard_a | integer | yes | – |
| artboard_b | integer | yes | – |
| detail | boolean | – | – |
| max_depth | integer | – | – |
| threshold | number | – | – |
| tree_depth | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | – |
| ok | boolean | yes | – |
No examples provided.
ai_duplicate_layer Duplicate a layer ~28
Duplicate a layer with all its contents.
| Name | Type | Req | Description |
|---|---|---|---|
| layer | – | yes | – |
| new_name | – | – | – |
No output schema declared.
No examples provided.
ai_export Export document to PNG/SVG/PDF/JPG ~58
Export the active Illustrator document to PNG/SVG/PDF/JPG.
| Name | Type | Req | Description |
|---|---|---|---|
| artboard_range | – | – | – |
| background_alpha | boolean | – | – |
| format | string | – | – |
| path | string | yes | – |
| scale | integer | – | – |
No output schema declared.
No examples provided.
ai_export_artboards Export one PNG per artboard ~45
Export every artboard to its own file.
| Name | Type | Req | Description |
|---|---|---|---|
| directory | string | yes | – |
| format | string | – | – |
| prefix | – | – | – |
| scale | integer | – | – |
No output schema declared.
No examples provided.
ai_find_items Find items by name, colour, size or text ~120
Find items by any combination of criteria (AND). Returns their stable ids. Full notes: docs://tools/ai_find_items
| Name | Type | Req | Description |
|---|---|---|---|
| closed | – | – | – |
| color_tolerance | integer | – | – |
| fill_rgb | – | – | – |
| font | – | – | – |
| generic_names_only | boolean | – | – |
| kind | – | – | – |
| layer | – | – | – |
| limit | integer | – | – |
| max_area | – | – | – |
| min_area | – | – | – |
| name_contains | – | – | – |
| near | – | – | – |
| text_contains | – | – | – |
| within | – | – | – |
No output schema declared.
No examples provided.
ai_frame_tree Full item tree of a storyboard frame ~58
Everything on one artboard WITH its hierarchy, in artboard-local coordinates. Full notes: docs://tools/ai_frame_tree
| Name | Type | Req | Description |
|---|---|---|---|
| artboard | integer | yes | – |
| limit | integer | – | – |
| max_depth | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | – |
| ok | boolean | yes | – |
No examples provided.
ai_get_selection Describe the current selection ~19
Describe the current Illustrator selection (typename + name).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_group_items Group items in place ~29
Group items into a single GroupItem.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| name | – | – | – |
No output schema declared.
No examples provided.
ai_inspect_document Document overview ~32
Overview of the open document: artboards, color space, item counts by type, fonts, linked images.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_inspect_item Inspect one item ~31
One item in full detail: bounds, fill, stroke, text, children.
| Name | Type | Req | Description |
|---|---|---|---|
| item | – | yes | – |
No output schema declared.
No examples provided.
ai_layer_from_selection New layer from the selection ~26
Move the current selection onto a new layer.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
No output schema declared.
No examples provided.
ai_layers_from_artboards One layer per artboard ~62
Give each artboard its own layer and move its artwork into it. Full notes: docs://tools/ai_layers_from_artboards
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | – |
| name_from_artboard | boolean | – | – |
| prefix | string | – | – |
No output schema declared.
No examples provided.
ai_list_artboards List artboards ~27
List artboards with size and position -- what each After Effects comp needs to match.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_list_items List items in a layer or group ~90
List page items, filterable by layer and typename (PathItem, GroupItem, TextFrame, PlacedItem...). Full notes: docs://tools/ai_list_items
| Name | Type | Req | Description |
|---|---|---|---|
| container | – | – | – |
| include_hidden | boolean | – | – |
| kind | – | – | – |
| layer | – | – | – |
| limit | integer | – | – |
| recursive | boolean | – | – |
| with_style | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| data | – | yes | – |
| ok | boolean | yes | – |
No examples provided.
ai_list_layers List layers ~17
List layers in the active Illustrator document.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_list_layers_tree Layer tree ~40
The full layer tree including sublayers, with per-layer item counts.
| Name | Type | Req | Description |
|---|---|---|---|
| include_items | boolean | – | – |
| max_items | integer | – | – |
No output schema declared.
No examples provided.
ai_merge_layers Merge layers ~37
Move the contents of several layers into one and delete the emptied ones.
| Name | Type | Req | Description |
|---|---|---|---|
| into | string | yes | – |
| layers | array | yes | – |
No output schema declared.
No examples provided.
ai_move_to_layer Move items to a layer ~37
Move items into a layer, creating it if it doesn't exist.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | – |
| layer | string | yes | – |
No output schema declared.
No examples provided.
ai_new_document New Illustrator document ~44
Create a new Illustrator document.
| Name | Type | Req | Description |
|---|---|---|---|
| color_space | string | – | – |
| height | number | – | – |
| name | string | – | – |
| width | number | – | – |
No output schema declared.
No examples provided.
ai_open_document Open Illustrator file ~34
Open an existing Illustrator file (.ai / .pdf / .psd / .svg).
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | – |
No output schema declared.
No examples provided.
ai_optimize Get a delivered file ready to produce from ~109
Get a delivered file into a state you can actually produce from, in one call. Runs the passes that are deterministic and reports the ones that need a judgement call. **Proposes by default** -- `apply=False` runs only the reads and tells you what it would do. Full notes: docs://tools/ai_optimize
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | – |
| artboards_to_layers | boolean | – | – |
| audit_frames | – | – | – |
| checkpoint | boolean | – | – |
No output schema declared.
No examples provided.
ai_prepare Run the preparation passes a delivered file needs ~59
Run the preparation passes a delivered file needs, in the right order. Full notes: docs://tools/ai_prepare
| Name | Type | Req | Description |
|---|---|---|---|
| items | boolean | – | – |
| layers | boolean | – | – |
| ops | – | – | – |
| unhide | boolean | – | – |
No output schema declared.
No examples provided.
ai_propagate_names Carry names across frames along the match chains ~107
Carry the names of ONE named frame to its neighbours, matching by geometry. Full notes: docs://tools/ai_propagate_names
| Name | Type | Req | Description |
|---|---|---|---|
| apply | boolean | – | – |
| first | integer | yes | – |
| last | integer | yes | – |
| max_hops | integer | – | – |
| max_size_ratio | number | – | – |
| overwrite | boolean | – | – |
| source | integer | yes | – |
| threshold | number | – | – |
| tree_depth | integer | – | – |
No output schema declared.
No examples provided.
ai_reframe_layout Plan a reframe (does not apply it) ~108
Propose how the composition moves into another format (e.g. ratio='9:16'). Nothing is modified. Full notes: docs://tools/ai_reframe_layout
| Name | Type | Req | Description |
|---|---|---|---|
| artboard | integer | – | – |
| cluster_strategy | string | – | – |
| height | – | – | – |
| layer | – | – | – |
| min_size | integer | – | – |
| ratio | – | – | – |
| roles | – | – | – |
| strategy | string | – | – |
| tolerance | number | – | – |
| width | – | – | – |
No output schema declared.
No examples provided.
ai_release_to_layers Release a group to layers ~71
Put each top-level item of a layer onto its own layer. The prep step before animating: one item per layer becomes one shape layer per element in After Effects instead of everything fused into one group.
| Name | Type | Req | Description |
|---|---|---|---|
| layer | – | yes | – |
| prefix | – | – | – |
| use_item_names | boolean | – | – |
No output schema declared.
No examples provided.
ai_rename_items Rename items ~71
Rename many items at once: [{"item": "2/0/5", "name": "cabeza"}, ...]. Item names become the shape layer names in After Effects, so this is what turns an unreadable timeline into a usable one.
| Name | Type | Req | Description |
|---|---|---|---|
| renames | array | yes | – |
No output schema declared.
No examples provided.
ai_reorder_layer Reorder a layer ~54
Move a layer in the stacking order. Give exactly one of to_index (0 = top), before, after.
| Name | Type | Req | Description |
|---|---|---|---|
| after | – | – | – |
| before | – | – | – |
| layer | – | yes | – |
| to_index | – | – | – |
No output schema declared.
No examples provided.
ai_run_script Run arbitrary ExtendScript in Illustrator ~47
Run arbitrary ExtendScript in Illustrator. The code receives (ok, fail, args) and must call ok(data)/fail(msg).
| Name | Type | Req | Description |
|---|---|---|---|
| args | – | – | – |
| code | string | yes | – |
No output schema declared.
No examples provided.
ai_save_document Save Illustrator document (saveAs rebinds) ~40
Save the active Illustrator document. Full notes: docs://tools/ai_save_document
| Name | Type | Req | Description |
|---|---|---|---|
| ai_compatible | boolean | – | – |
| path | – | – | – |
No output schema declared.
No examples provided.
ai_see_document Render document to PNG and look at it ~93
Render the document and return the image itself, so the artwork can be looked at. Full notes: docs://tools/ai_see_document
| Name | Type | Req | Description |
|---|---|---|---|
| annotate | boolean | – | – |
| artboard | – | – | – |
| layer | – | – | – |
| max_boxes | integer | – | – |
| max_dim | integer | – | – |
| min_pixels | number | – | – |
| path | – | – | – |
| scale | integer | – | – |
No output schema declared.
No examples provided.
ai_select Select items ~91
Select items by artboard, layer, type, name or explicit list. Filters combine with AND. Full notes: docs://tools/ai_select
| Name | Type | Req | Description |
|---|---|---|---|
| add_to_selection | boolean | – | – |
| all_items | boolean | – | – |
| artboard | – | – | – |
| artboard_mode | string | – | – |
| items | – | – | – |
| kind | – | – | – |
| layer | – | – | – |
| name_contains | – | – | – |
No output schema declared.
No examples provided.