After Effects MCP Custom
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@After Effects MCP CustomCreate a new composition called 'MyComp' and add a text layer with 'Hello'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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에서 다음을 설정합니다.
Settings/Preferences > Scripting & Expressions를 엽니다.Allow Scripts to Write Files and Access Network를 활성화합니다.After Effects를 재시작합니다.
Window > mcp-bridge-auto.jsx를 엽니다.패널의
Auto-run commands를 활성화합니다.
MCP 클라이언트별 설정과 수동 설치 경로는 전체 설치 가이드를 참고하세요.
주요 기능
영역 | 현재 기능 |
프로젝트·컴포지션 | 프로젝트 정보 조회, 컴포지션 조회·생성·속성 변경 |
레이어 생성 | 텍스트, 쉐이프, 솔리드·조정 레이어, 카메라 |
레이어 편집 | 위치·크기·회전·불투명도·타이밍·3D·블렌드·트랙 매트, 복제·삭제 |
애니메이션 | 키프레임 설정, Expression 설정·제거, 여러 레이어 일괄 속성 변경 |
마스크 | 마스크 생성·수정, feather·expansion·opacity 설정 |
이펙트 | 이름 또는 match name으로 적용, |
MCP 보조 기능 | 도움말, 결과 조회, 컴포지션 리소스, 브리지 테스트 |
MCP 도구
직접 노출되는 주요 도구는 다음과 같습니다.
run-scriptget-resultsget-helpcreate-compositionsetLayerKeyframesetLayerExpressionapply-effectapply-effect-templatemcp_aftereffects_applyEffectmcp_aftereffects_applyEffectTemplatemcp_aftereffects_get_effects_helprun-bridge-testtest-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 toolsapply-effectC
Apply an effect to a layer in After Effects
| Name | Required | Description | Default |
|---|---|---|---|
| compIndex | Yes | 1-based index of the target composition in the project panel. | |
| effectName | No | Display name of the effect to apply (e.g., 'Gaussian Blur'). | |
| layerIndex | Yes | 1-based index of the target layer within the composition. | |
| presetPath | No | Optional path to an effect preset file (.ffx). | |
| effectCategory | No | Optional category for filtering effects. | |
| effectSettings | No | Optional parameters for the effect (e.g., { 'Blurriness': 25 }). | |
| effectMatchName | No | After Effects internal name for the effect (more reliable, e.g., 'ADBE Gaussian Blur 2'). |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| compIndex | Yes | 1-based index of the target composition in the project panel. | |
| layerIndex | Yes | 1-based index of the target layer within the composition. | |
| templateName | Yes | Name of the effect template to apply. | |
| customSettings | No | Optional custom settings to override defaults. |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the composition | |
| width | Yes | Width of the composition in pixels | |
| height | Yes | Height of the composition in pixels | |
| duration | No | Duration in seconds (default: 10.0) | |
| frameRate | No | Frame rate in frames per second (default: 30.0) | |
| pixelAspect | No | Pixel aspect ratio (default: 1.0) | |
| backgroundColor | No | Background color of the composition (RGB values 0-255) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| compIndex | Yes | 1-based index of the target composition in the project panel. | |
| effectName | No | Display name of the effect to apply (e.g., 'Gaussian Blur'). | |
| layerIndex | Yes | 1-based index of the target layer within the composition. | |
| effectSettings | No | Optional parameters for the effect (e.g., { 'Blurriness': 25 }). | |
| effectMatchName | No | After Effects internal name for the effect (more reliable, e.g., 'ADBE Gaussian Blur 2'). |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| compIndex | Yes | 1-based index of the target composition in the project panel. | |
| layerIndex | Yes | 1-based index of the target layer within the composition. | |
| templateName | Yes | Name of the effect template to apply. | |
| customSettings | No | Optional custom settings to override defaults. |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | Name of the predefined script to run | |
| parameters | No | Optional parameters for the script |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| compIndex | Yes | 1-based index of the target composition in the project panel. | |
| layerIndex | Yes | 1-based index of the target layer within the composition. | |
| propertyName | Yes | Name of the property to apply the expression to (e.g., 'Position', 'Scale', 'Rotation', 'Opacity'). | |
| expressionString | Yes | The JavaScript expression string. Provide an empty string ("") to remove the expression. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | The value for the keyframe (e.g., [x,y] for Position, [w,h] for Scale, angle for Rotation, percentage for Opacity) | |
| compIndex | Yes | 1-based index of the target composition in the project panel. | |
| layerIndex | Yes | 1-based index of the target layer within the composition. | |
| propertyName | Yes | Name of the property to keyframe (e.g., 'Position', 'Scale', 'Rotation', 'Opacity'). | |
| timeInSeconds | Yes | The time (in seconds) for the keyframe. |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| compIndex | Yes | Composition index (usually 1) | |
| operation | Yes | The animation operation to test | |
| layerIndex | Yes | Layer index (usually 1) |
TDQS
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.
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.
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.
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.
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.
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.
13 tool updates
v1.0.0- First observed
apply-effect - First observed
apply-effect-template - First observed
create-composition - First observed
get-help - First observed
get-results - First observed
mcp_aftereffects_applyEffect - First observed
mcp_aftereffects_applyEffectTemplate - First observed
mcp_aftereffects_get_effects_help - First observed
run-bridge-test - First observed
run-script - First observed
setLayerExpression - First observed
setLayerKeyframe - First observed
test-animation
TDQS
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 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.
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.
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
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
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for Hailuo (MiniMax) AI video generation
Remote MCP server for AI.TV creators — delegate account operations to your AI agent over MCP.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn 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.922921MIT
- AlicenseAqualityCmaintenanceAn MCP server that allows AI agents to control Adobe After Effects, enabling project inspection, composition creation, layer addition, file import, ExtendScript execution, and rendering via aerender.11MIT
- AlicenseCqualityCmaintenanceMCP server for controlling Adobe After Effects, enabling AI assistants to create compositions, manage layers, and animate properties.1384MIT
- AlicenseNot gradedqualityBmaintenanceA 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,789MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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