After Effects MCP (tomaslefever/after-effects-mcp) is an MCP server listed on the M8ven Trust Index. It scores 32 out of 100, grade F. It declares 30 tools. No publisher has claimed this listing.
MCP server that enables controlling Adobe After Effects through a bridge panel, supporting composition, layers, effects, presets, markers, and audio automation.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
tomaslefever
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
run-scriptRun a read-only script in After Effects
get-resultsGet results from the last script executed in After Effects
get-helpGet help on using the After Effects MCP integration
create-compositionCreate a new composition in After Effects with specified parameters
create-adjustment-layerCreate an adjustment layer in the specified composition (or active comp).
center-layersCenter one layer, selected layers, or all layers in a composition.
get-layer-clip-framesGet a layer's clip start/end frames, source frame range, and duration in frames.
setLayerKeyframeSet a keyframe for a specific layer property at a given time.
setLayerExpressionSet or remove an expression for a specific layer property.
test-animationTest animation functionality in After Effects
apply-effectApply an effect to a layer in After Effects
add-any-effectAdd any After Effects effect to a layer by matchName or display name.
apply-effect-templateApply a predefined effect template to a layer in After Effects
list-layer-effectsList effects on a layer, with optional recursive property details.
list-available-effectsList all effects available in this After Effects installation, with optional text filter.
set-effect-propertySet or keyframe any property on an existing layer effect using name/index/path.
set-effect-keyframeSet an effect property keyframe with optional graph interpolation and easy-ease controls.
list-presetsList available After Effects .ffx presets from common or provided folders.
search-presetsSearch After Effects .ffx presets by name or path.
apply-presetApply an After Effects .ffx preset file to a layer.
mcp_aftereffects_applyEffectApply an effect to a layer in After Effects
mcp_aftereffects_applyEffectTemplateApply a predefined effect template to a layer in After Effects
mcp_aftereffects_get_effects_helpGet help on using After Effects effects
run-bridge-testRun the bridge test effects script to verify communication and apply test effects
remove-effectRemove one specific effect (or all effects) from a layer.
add-markerAdd a marker to a layer or composition at a specified time. Markers can include a comment, label color, chapter name, URL and duration.
set-audio-levelsSet the audio levels (in dB) for an audio or AV layer. Supports per-channel control and optional keyframing.
get-audio-infoGet audio metadata, source file path, existing markers, and audio level keyframes for a layer in After Effects.
analyze-audio-waveformAnalyze a WAV audio file to extract waveform amplitude data and detect peaks/transients. First call get-audio-info to retrieve the sourceFilePath, then pass it here. Returns normalized amplitude values (0-1) at evenly spaced time intervals plus an array of peak times where transients are detected.
add-markers-bulkAdd multiple layer or composition markers at once. Use this after analyze-audio-waveform to place markers at detected peaks, or to add any set of markers in a single call.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
ProgramFilesTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
30/30 tools missing one or more hints — run-script (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get-results (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get-help (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +27 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Descriptions match behaviour
4 tools describe read intent but their handlers mutate — get-results (line 31: fs.mkdirSync(bridgeDir, { recursive: true })); list-layer-effects (line 31: fs.mkdirSync(bridgeDir, { recursive: true })); list-available-effects (line 31: fs.mkdirSync(bridgeDir, { recursive: true }))
Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.
Tests exist
No test files found
Add tests that exercise each declared tool.
No eval / new Function
2 eval() or new Function() calls — dynamic code execution
Replace eval / Function with explicit parsing or safer alternatives.
Shell command execution
2 calls in production code run through a shell (install-bridge.js:109, install-bridge.js:138)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
No arbitrary install scripts
Has postinstall/preinstall script — runs arbitrary code on npm install
Remove postinstall/preinstall hooks unless they’re essential.
Production dependencies are patched
0 critical, 2 high severity in production deps — @modelcontextprotocol/sdk@1.9.0 (high), @modelcontextprotocol/sdk@1.9.0 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dependency freshness
1/3 production deps stale: node-fetch@2023-11-30 (2.8y)
Tool description accuracy
5 tools have description/behavior mismatches: get-results: description implies read-only but handler writes/deletes/executes; get-layer-clip-frames: description implies read-only but handler writes/deletes/executes; list-layer-effects: description implies read-only but handler writes/deletes/executes
Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/tomaslefever/after-effects-mcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check