ae-mcp-server
v1.0.7
Published
MCP Server for Agentic After Effects Control - Cinema-Quality Motion Graphics Director
Downloads
135
Maintainers
Readme
After Effects MCP Server
Cinema-Quality Motion Graphics Director - MCP Server for Agentic After Effects Control
Overview
This MCP server exposes 50+ After Effects tools through the Model Context Protocol, enabling Kiro to act as a senior motion graphics director through conversational commands.
Features
- 50+ Professional Tools: Composition management, layer creation, animation, effects, particles, cameras, export
- Cinema-Quality Templates: Logo reveals, text animations, kinetic typography, transitions
- Professional Animation Library: Disney's 12 principles, physics-based motion, professional easing curves
- WebSocket Bridge: Real-time communication with After Effects extension
- Conversational Control: Multi-step workflow orchestration through natural language
Installation
cd mcp-server
npm installConfiguration
Edit config/default.json to configure:
- WebSocket port and host
- Execution timeouts and queue sizes
- Logging levels and file rotation
- Security settings (safe directories, allowed extensions)
Usage
Start the Server
npm startDevelopment Mode (with auto-reload)
npm devConfigure in Kiro
Add to your ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"after-effects": {
"command": "node",
"args": ["/path/to/mcp-server/src/server.js"],
"disabled": false
}
}
}Architecture
Kiro (Chat) → MCP Protocol → MCP Server → WebSocket → AE Extension → After EffectsAvailable Tools
Composition Management
ae_create_composition- Create new compositionae_get_composition_info- Get active composition detailsae_set_composition_settings- Update composition settings
Layer Management
ae_create_layer- Create solid, shape, text, or null layersae_import_file- Import assetsae_duplicate_layer- Duplicate layersae_delete_layer- Remove layersae_get_layer_info- Get layer propertiesae_select_layers- Select layersae_parent_layer- Set up parenting
Animation
ae_add_keyframe- Add keyframesae_set_keyframe_easing- Apply easing curvesae_animate_property- Complete property animationae_add_expression- Add expressionsae_create_null_controller- Create animation rigs
Effects
ae_apply_effect- Apply effects (blur, glow, color correction)ae_set_effect_parameters- Configure effect parametersae_remove_effect- Remove effects
Advanced
ae_create_particle_system- Generate particle animationsae_animate_camera- Camera movementae_add_text_animator- Kinetic typography
Professional Polish
ae_enable_motion_blur- Enable motion blurae_apply_color_grading- Cinematic color looksae_add_audio_markers- Audio synchronization markers
Export
ae_render_preview- Render RAM previewae_export_video- Export final videoae_save_project- Save AE project
Example Workflows
Logo Reveal
User: "Create a cinematic logo reveal"
Kiro: *Uses ae_create_composition, ae_import_file, ae_animate_property (scale, rotation),
ae_apply_effect (glow), ae_enable_motion_blur*Kinetic Typography
User: "Create kinetic typography animation"
Kiro: *Uses ae_create_composition, ae_create_layer (text), ae_add_text_animator,
ae_animate_property (position, opacity)*Development
Project Structure
mcp-server/
├── src/
│ ├── server.js # MCP server initialization
│ ├── websocket.js # WebSocket server management
│ ├── tools/ # Tool implementations
│ ├── codegen/ # ExtendScript generation
│ ├── validation/ # Parameter validation
│ ├── library/ # Animation library
│ └── utils/ # Utilities (logging, errors, config)
├── config/
│ └── default.json # Configuration
└── package.jsonAdding New Tools
- Create tool handler in
src/tools/ - Define JSON schema in
src/validation/schemas.js - Register tool in
src/tools/registry.js - Add ExtendScript template in
src/codegen/templates.js
License
MIT
