Skip to main content
Glama

After Effects MCP Custom

Adobe After Effects를 Codex, Claude, Cursor 같은 MCP 클라이언트에서 제어하기 위한 로컬 MCP 서버입니다. Dakkshin/after-effects-mcp를 기반으로 하며, 현재 설치본을 다른 컴퓨터에서도 재현할 수 있도록 Codex 연결 방식과 한국어 설치·운영 문서를 정리한 커스텀 저장소입니다.

현재 커스텀 범위는 설치·연결·운영 문서, 배포 설정, After Effects ScriptUI 패널 호환성 수정입니다. 다른 After Effects MCP의 추가 기능은 아직 소스에 병합하지 않았습니다. 실제 반영 내역과 다음 후보는 커스텀 내역에 구분해 기록합니다.

지원 환경

  • Adobe After Effects 2022~2026

  • macOS 또는 Windows

  • Node.js 18 이상과 npm

  • 로컬 STDIO MCP를 지원하는 클라이언트

Related MCP server: After Effects MCP

빠른 설치

git clone https://github.com/tkstjd82-cloud/aftereffect_mcp_custom.git
cd aftereffect_mcp_custom
npm install
npm run build
npm run install-bridge

그다음 After Effects에서 다음을 설정합니다.

  1. Settings/Preferences > Scripting & Expressions를 엽니다.

  2. Allow Scripts to Write Files and Access Network를 활성화합니다.

  3. After Effects를 재시작합니다.

  4. Window > mcp-bridge-auto.jsx를 엽니다.

  5. 패널의 Auto-run commands를 활성화합니다.

MCP 클라이언트별 설정과 수동 설치 경로는 전체 설치 가이드를 참고하세요.

주요 기능

영역

현재 기능

프로젝트·컴포지션

프로젝트 정보 조회, 컴포지션 조회·생성·속성 변경

레이어 생성

텍스트, 쉐이프, 솔리드·조정 레이어, 카메라

레이어 편집

위치·크기·회전·불투명도·타이밍·3D·블렌드·트랙 매트, 복제·삭제

애니메이션

키프레임 설정, Expression 설정·제거, 여러 레이어 일괄 속성 변경

마스크

마스크 생성·수정, feather·expansion·opacity 설정

이펙트

이름 또는 match name으로 적용, .ffx 프리셋 적용, 기본 효과 템플릿

MCP 보조 기능

도움말, 결과 조회, 컴포지션 리소스, 브리지 테스트

MCP 도구

직접 노출되는 주요 도구는 다음과 같습니다.

  • run-script

  • get-results

  • get-help

  • create-composition

  • setLayerKeyframe

  • setLayerExpression

  • apply-effect

  • apply-effect-template

  • mcp_aftereffects_applyEffect

  • mcp_aftereffects_applyEffectTemplate

  • mcp_aftereffects_get_effects_help

  • run-bridge-test

  • test-animation

run-script를 통해 getProjectInfo, listCompositions, getLayerInfo, 레이어 생성·수정·복제·삭제, 마스크와 배치 작업 같은 브리지 명령도 호출할 수 있습니다.

동작 구조

Codex / Claude / Cursor
        │ STDIO MCP
        ▼
build/index.js
        │ JSON 명령·결과 파일
        ▼
~/Documents/ae-mcp-bridge/
        │ 주기적 폴링
        ▼
mcp-bridge-auto.jsx 패널
        │ ExtendScript
        ▼
Adobe After Effects

브리지는 다음 두 파일을 사용합니다.

~/Documents/ae-mcp-bridge/ae_command.json
~/Documents/ae-mcp-bridge/ae_mcp_result.json

문서

개발 및 검증

npm ci
npm test
npm run build
npx tsc --noEmit

빌드 결과는 Git에서 제외되며 아래 파일이 생성됩니다.

build/index.js
build/scripts/mcp-bridge-auto.jsx

현재 제약

  • After Effects에서 브리지 패널이 열려 있어야 합니다.

  • 단일 명령·단일 결과 파일을 사용하는 구조라 동시 명령 처리에는 적합하지 않습니다.

  • 미디어 가져오기·교체, 고급 키프레임 이징, 마커·오디오 분석, 렌더 큐 자동화, 프레임 프리뷰는 아직 구현되지 않았습니다.

  • test-animation은 테스트 JSX를 생성하고 사용자가 After Effects에서 직접 실행하는 보조 도구입니다.

라이선스와 출처

MIT License. 원본 프로젝트는 Dakkshin/after-effects-mcp이며, 원본 저작권과 라이선스 고지를 유지합니다.

Available Tools

13 tools
apply-effectC

Apply an effect to a layer in After Effects

ParametersJSON Schema
NameRequiredDescriptionDefault
compIndexYes1-based index of the target composition in the project panel.
effectNameNoDisplay name of the effect to apply (e.g., 'Gaussian Blur').
layerIndexYes1-based index of the target layer within the composition.
presetPathNoOptional path to an effect preset file (.ffx).
effectCategoryNoOptional category for filtering effects.
effectSettingsNoOptional parameters for the effect (e.g., { 'Blurriness': 25 }).
effectMatchNameNoAfter Effects internal name for the effect (more reliable, e.g., 'ADBE Gaussian Blur 2').

TDQS

C2.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It does not mention any side effects, prerequisites (e.g., layer selection), or potential destructive behavior. The agent gets no insight into what happens beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it omits crucial information for a tool with 7 parameters. Conciseness is achieved at the expense of completeness, making it less useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 params, required 2, nested objects, no output schema), the description is inadequate. It does not explain return values, error states, or how to effectively combine parameters. The agent is left with many unknowns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 7 parameters, so the baseline is 3. The description itself adds no extra meaning beyond the schema, failing to explain how parameters like 'effectMatchName' and 'effectName' relate or when to use 'presetPath' vs 'effectSettings'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'apply' and the resource 'effect to a layer', indicating the main action. However, it does not distinguish this tool from the sibling 'apply-effect-template', which may apply a template. The purpose is clear but lacks differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as when to use 'apply-effect' vs 'apply-effect-template'. There is no mention of prerequisites or context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

apply-effect-templateC

Apply a predefined effect template to a layer in After Effects

ParametersJSON Schema
NameRequiredDescriptionDefault
compIndexYes1-based index of the target composition in the project panel.
layerIndexYes1-based index of the target layer within the composition.
templateNameYesName of the effect template to apply.
customSettingsNoOptional custom settings to override defaults.

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as whether the operation is destructive, requires authentication, or has side effects. The single sentence is insufficient for transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is front-loaded and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks completeness. It does not explain what happens after applying the template, or provide any context about return values or errors. The presence of a nested object (customSettings) further warrants more explanatory text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters are documented in the input schema (100% coverage), so the description does not need to add much. However, it adds no additional context beyond the schema, e.g., explaining the purpose of customSettings or how template names map to effects. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'apply' and the resource 'predefined effect template' and target 'layer in After Effects'. It is specific, but does not explicitly differentiate from sibling tools like 'apply-effect' or 'mcp_aftereffects_applyEffectTemplate'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or usage conditions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-compositionB

Create a new composition in After Effects with specified parameters

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the composition
widthYesWidth of the composition in pixels
heightYesHeight of the composition in pixels
durationNoDuration in seconds (default: 10.0)
frameRateNoFrame rate in frames per second (default: 30.0)
pixelAspectNoPixel aspect ratio (default: 1.0)
backgroundColorNoBackground color of the composition (RGB values 0-255)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states a generic action. It does not disclose key behavioral traits such as what happens on naming conflicts, whether it overwrites existing compositions, or if any permissions are needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at 12 words. However, it lacks a structured front-loading of critical information. It is efficient but minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 parameters including a nested object and no output schema, the description is too brief. It omits important context such as return value, side effects, or prerequisites like After Effects being open. Incomplete for a create operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema, simply saying 'with specified parameters'. It does not enhance understanding of the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create', the resource 'composition', and the context 'After Effects with specified parameters'. It is specific and distinguishable from sibling tools like 'apply-effect' and 'run-script'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-helpB

Get help on using the After Effects MCP integration

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It indicates this is a read-only help operation, but does not describe what the response looks like (e.g., text, list) or if there are any limitations. For a simple help tool, this is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no superfluous words. It is front-loaded and every word contributes to the purpose. This is an excellent example of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (0 parameters, no output schema), the description is minimally sufficient. However, it could be more complete by indicating what the help output contains, such as 'returns a list of available commands and usage tips.' Without this, the agent may not know what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and the input schema has 100% coverage (no params). Per guidelines, a baseline of 4 is appropriate. The description does not need to add parameter details. It correctly implies no inputs are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get help on using the After Effects MCP integration', which specifies the verb 'get help' and the resource being the integration. It distinguishes from sibling tools like 'apply-effect' and 'run-script'. However, it lacks specificity about the type of help provided, e.g., listing available tools or detailed documentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention context or explicitly rule out other tools like 'get-results' or 'test-animation'. The agent is left to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-resultsB

Get results from the last script executed in After Effects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It fails to mention what happens if no script was executed (e.g., returns empty vs. error), whether the operation is idempotent, or if it consumes or clears the results. The description only states the basic action, leaving significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the tool's purpose. While concise, it could be slightly expanded to include critical context without becoming verbose. The current length is appropriate but borderline too brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, the description should explain the nature of the return value (e.g., text, JSON, file). It also lacks any info on prerequisites (e.g., script must have been run) or side effects. The description is incomplete for a tool that retrieves potentially dynamic data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (empty properties). With no parameters, the description is not required to add parameter-level detail; the baseline of 4 applies as the description does not need to compensate for missing parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves results from the last script executed in After Effects. It identifies the resource ('results') and action ('get'), but does not elaborate on what constitutes 'results' (e.g., output text, error logs). This is sufficient to differentiate from siblings like run-script.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not mention that a script must have been executed previously, nor does it specify that the tool returns empty or errors if no script has run. Sibling tools like run-script are mentioned but not explicitly contrasted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_aftereffects_applyEffectC

Apply an effect to a layer in After Effects

ParametersJSON Schema
NameRequiredDescriptionDefault
compIndexYes1-based index of the target composition in the project panel.
effectNameNoDisplay name of the effect to apply (e.g., 'Gaussian Blur').
layerIndexYes1-based index of the target layer within the composition.
effectSettingsNoOptional parameters for the effect (e.g., { 'Blurriness': 25 }).
effectMatchNameNoAfter Effects internal name for the effect (more reliable, e.g., 'ADBE Gaussian Blur 2').

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits but only states the basic action. It does not mention that it modifies the project, potential destructive effects, undo capability, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded and concise with no unnecessary words. However, it may be too brief given the tool's complexity and number of parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and multiple parameters, the description is insufficient. It does not explain return behavior, prerequisites, or how effect conflicts are resolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, earning a baseline of 3. The description adds no extra meaning beyond the schema; it does not clarify the relationship between effectName and effectMatchName or provide usage hints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action and resource ('Apply an effect to a layer in After Effects'), but does not differentiate from siblings like 'apply-effect' or 'apply-effect-template' that likely have similar purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., when to prefer effectName over effectMatchName, or when to use apply-effect-template instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_aftereffects_applyEffectTemplateC

Apply a predefined effect template to a layer in After Effects

ParametersJSON Schema
NameRequiredDescriptionDefault
compIndexYes1-based index of the target composition in the project panel.
layerIndexYes1-based index of the target layer within the composition.
templateNameYesName of the effect template to apply.
customSettingsNoOptional custom settings to override defaults.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only states 'apply' but does not explain side effects, mutation risks, required permissions, or what happens to existing effects on the layer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loading the purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and includes an optional nested object parameter, the description is too minimal. It fails to explain what effect templates are, how they work, or what the outcome looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter has a description, including enum values. However, the description adds no extra meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'apply' and the resource 'predefined effect template' to 'a layer in After Effects'. However, it does not differentiate from the sibling tool 'apply-effect-template', which has an identical name pattern.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'apply-effect' or other sibling tools. The description lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_aftereffects_get_effects_helpB

Get help on using After Effects effects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description is minimal. It does not disclose whether the tool returns text, a list, or requires any special permissions. For a zero-parameter read-only tool, the lack of behavioral context is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no parameters, the description fails to specify what kind of help is provided (e.g., listing effects, usage syntax). No output schema exists, so the description should explain the return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and 100% schema coverage, the description adds no parameter info, but baseline for 0 params is 4. No additional value needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get help on using After Effects effects' clearly indicates the tool provides help information about After Effects effects. It distinguishes from siblings like apply-effect and apply-effect-template which are for applying effects, and get-help which is likely more general.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. alternatives like get-help. The description does not mention prerequisites or scenarios where this tool is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run-bridge-testB

Run the bridge test effects script to verify communication and apply test effects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states it 'verify[ies] communication' and 'applies test effects' but lacks detail on potential side effects, destructiveness, or safety. With no annotations, the description should disclose more behavioral traits, such as whether it modifies state or is safe to run multiple times.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It could benefit from slightly more context, but as is, it is efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and no annotations, the description is minimally adequate but leaves questions unanswered (e.g., what is a bridge test? what effects are applied? is it reversible?). It covers the basic action but lacks completeness for an agent to understand full implications.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is 100%. The description appropriately adds no parameter information since none exist. According to guidelines, baseline score is 4 for 0 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a 'bridge test effects script' to verify communication and apply test effects. The verb 'Run' and specific resource distinguish it from sibling tools like 'run-script' which may run general scripts, but it could further clarify the unique purpose of bridge testing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'apply-effect' or 'run-script'. There are no prerequisites, conditions, or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run-scriptB

Run a read-only script in After Effects

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYesName of the predefined script to run
parametersNoOptional parameters for the script

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states 'read-only', but lacks disclosure of side effects, permissions, error behavior, or result format. For a script runner, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no waste, but it could benefit from slightly more detail without being verbose. Still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and a nested parameters object, the description should clarify return values, script resolution, and error handling. It is incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond the schema, such as how parameters are used or script execution details. Baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'run', the resource 'script', and the read-only nature. It effectively distinguishes this tool from siblings like apply-effect or create-composition by specifying a different operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for read-only operations via the 'read-only' qualifier, but it provides no explicit when-to-use, when-not-to-use, or alternative tool guidance. Context is minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setLayerExpressionA

Set or remove an expression for a specific layer property.

ParametersJSON Schema
NameRequiredDescriptionDefault
compIndexYes1-based index of the target composition in the project panel.
layerIndexYes1-based index of the target layer within the composition.
propertyNameYesName of the property to apply the expression to (e.g., 'Position', 'Scale', 'Rotation', 'Opacity').
expressionStringYesThe JavaScript expression string. Provide an empty string ("") to remove the expression.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. It transparently explains that an empty string removes the expression, but does not mention potential side effects or error conditions. Still, it provides clear behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, well-structured sentence that is front-loaded and contains zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with no output schema, the description is minimal but covers the key operation. It lacks details about input validation, valid property names, or expected result, making it slightly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and descriptions are detailed. The tool description adds little beyond the schema, just restates the empty string case. Baseline 3 is appropriate as schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sets or removes an expression for a layer property, with a specific verb and resource. It distinguishes from sibling tools like apply-effect and setLayerKeyframe, which deal with effects and keyframes respectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives or when not to use it. It implies usage via context but lacks explicit guidance on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setLayerKeyframeB

Set a keyframe for a specific layer property at a given time.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNoThe value for the keyframe (e.g., [x,y] for Position, [w,h] for Scale, angle for Rotation, percentage for Opacity)
compIndexYes1-based index of the target composition in the project panel.
layerIndexYes1-based index of the target layer within the composition.
propertyNameYesName of the property to keyframe (e.g., 'Position', 'Scale', 'Rotation', 'Opacity').
timeInSecondsYesThe time (in seconds) for the keyframe.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full transparency burden. It only states the mutation ('set keyframe') but does not disclose whether existing keyframes are overwritten, if the property must already be keyframeable, or the effect of setting multiple keyframes at the same time.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. Every part is essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five parameters, no output schema, and no annotations, the description lacks crucial details: return value, behavior on duplicate keyframes, value formatting nuances, and error conditions. The tool's complexity demands more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all five parameters documented). The description adds no additional meaning beyond the schema; it restates 'property' and 'time'. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Set') and resource ('keyframe for a specific layer property at a given time'), clearly distinguishing it from sibling tools like 'setLayerExpression' (which sets expressions) or 'apply-effect' (which applies effects).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use (to set a keyframe for a property at a time) but provides no explicit guidance on when not to use, prerequisites (e.g., layer must exist, property must be keyframeable), or alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test-animationC

Test animation functionality in After Effects

ParametersJSON Schema
NameRequiredDescriptionDefault
compIndexYesComposition index (usually 1)
operationYesThe animation operation to test
layerIndexYesLayer index (usually 1)

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It only states 'test', implying no permanent changes, but does not confirm side effects, permissions, or whether the operation is destructive. This lack of clarity is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, but it is under-specified rather than concise. It lacks detail about the tool's operation, making it information-poor and not earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description fails to explain return values or results of 'testing'. For a tool with 3 required parameters, the description is wholly inadequate, lacking context about expected outcomes or errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear per-parameter descriptions (e.g., 'Composition index (usually 1)'). The tool description adds no additional meaning beyond the schema, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description 'Test animation functionality in After Effects' is vague and nearly a tautology with the tool name. It does not specify what 'test' means (e.g., validation, preview, or dry run) nor the specific animation aspects being tested, failing to distinguish it from siblings like setLayerKeyframe or setLayerExpression.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Sibling tools like setLayerKeyframe and setLayerExpression exist for directly setting animation properties, but the description provides no context for when 'testing' is appropriate or what prerequisites exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv1.0.0
    • First observedapply-effect
    • First observedapply-effect-template
    • First observedcreate-composition
    • First observedget-help
    • First observedget-results
    • First observedmcp_aftereffects_applyEffect
    • First observedmcp_aftereffects_applyEffectTemplate
    • First observedmcp_aftereffects_get_effects_help
    • First observedrun-bridge-test
    • First observedrun-script
    • First observedsetLayerExpression
    • First observedsetLayerKeyframe
    • First observedtest-animation

TDQS

C2.5/5.0
Disambiguation2/5

There are clear duplicates: apply-effect/mcp_aftereffects_applyEffect and apply-effect-template/mcp_aftereffects_applyEffectTemplate do the same thing. Also get-help vs mcp_aftereffects_get_effects_help overlap in purpose, making it hard for an agent to choose correctly.

Naming Consistency1/5

Naming is highly inconsistent: some tools use kebab-case (apply-effect), some camelCase (setLayerExpression), and some have a long prefix 'mcp_aftereffects_' followed by mixed styles (mcp_aftereffects_applyEffect). No predictable pattern.

Tool Count3/5

13 tools is reasonable for an After Effects MCP server, but the presence of 4 redundant tools (duplicates and overlapping help) inflates the count without adding value. Could be consolidated to about 9-10 tools.

Completeness3/5

Covers creation, effect application, keyframes, expressions, and script execution. However, missing basic operations like composition deletion, modification, import, or rendering. Some gaps exist but core animation tasks are possible.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that enables AI assistants to control Adobe After Effects through a file-based communication bridge. It supports various operations including project and composition management, layer and keyframe manipulation, rendering, and batch processing.
    92
    29
    21
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A local MCP server that connects AI agents to Adobe After Effects, enabling reliable project inspection, reasoning, and controlled mutations through structured tools and typed patches.
    68,789
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tkstjd82-cloud/aftereffect_mcp_custom'

If you have feedback or need assistance with the MCP directory API, please join our Discord server