Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ae_project_infoA

Project-level info: file path, dirty flag, all items with type/summary, active item. Start here.

ae_comp_infoA

Detailed comp info: size, fps, duration, work area, motion blur, layer summaries. Pass a comp name or item id — or an ARRAY of them to fetch several comps in one call.

ae_layer_infoA

Full layer info: transform, effects, masks, text, shape contents, keyframes (incl. interpolation names and bezier ease speed/influence). layerIndex accepts one index, an ARRAY of indices, or 'all' — auditing a whole comp is one call. detail:'summary' drops properties still at their default value (unkeyed, no expression) — start there for audits; the full tree is often 100KB+ per comp. Set includeProperties=false to skip the property tree walk entirely.

ae_render_frameA

Render one or more frames to PNG. Use to visually verify edits. The agent's 'eyes' — pair with mutations for a visual feedback loop. Experimental preview requests half or quarter resolution for up to 6 frames; inspect returned dimensions and warnings. Headless and deterministic. Pass time for one frame, or times for several in ONE call (motion checks): files land at _.png and are listed in frames. contactSheet tiles every frame into one labelled PNG (_sheet.png) so a motion check is one image; analyze measures each capture (uniform edge bands = black bars / transparent margins, content bounds, coverage) so off-frame elements and letterboxing are caught numerically. In color-managed projects (workingSpace != None) the capture applies AE's own display transform via a transient OCIO Display Transform adjustment layer, and the PNG comes back viewer-accurate and sRGB-tagged. Where that layer cannot be used — read-only mode, an AE without the OCIO effect, or a failed capture calibration — the result falls back to a pure-math ACES conversion or to raw values with an explicit colorWarning; check colorPipeline / colorWarning on the response.

ae_save_projectB

Save the project. Pass path for Save As.

ae_project_export_jsonA

Serialize the entire project to JSON (folders, comps, layers, keyframes, effects, shapes, markers, time remap, solids, file refs). Write to outPath or return inline.

ae_project_import_jsonA

Rebuild the project from JSON (produced by ae_project_export_json). Supports clearFirst, dryRun (validate-only), skipValidation.

ae_version_infoA

AE version, build, capabilities (saveFrameToPng, app.effects, Socket). Call at session start to know what APIs are available.

ae_catalogA

Discover available atomic operations for ae_do. Without args: all categories with their operation names. With a category: detailed params per operation. Use detail: summary to browse names and descriptions without params, or operations: [exact names] to fetch only the schemas needed. Only operations this server will execute are listed.

ae_motion_planA

Offline motion planner for typography, panels, icons, and bars. Prepare pivots, reread positions, then request reveal ops. Audit phase checks camera samples without proposing edits. It never contacts After Effects or applies edits. Supply real readback and render before/after.

ae_workflow_planA

Offline recipe for retiming several inspected property tracks in one AE batch. It validates whole-frame timing and returns typed operations plus a readback plan. It never contacts After Effects or applies edits.

ae_workflowA

Prepare a typed retime or text/logo variants recipe against an existing active managed .aep copy and persist a guarded job. Apply only after reviewing the job, or read its status. Apply edits only that copy. No production render is started automatically.

ae_editA

Apply up to 12 typed, registered edits to the active managed .aep copy in one AE call. A UUID requestId prevents repeat execution after a retry or timeout. The call captures pre-edit values, saves a checkpoint, edits, reads back values and saves the project. Use action=status with the same requestId to inspect a delayed receipt. This does not render frames.

ae_inspect_targetsA

Inspect up to 16 explicit layer or property targets in one read. Returns compact current values, key counts, and reusable opaque references. Requires a numeric composition ID and 1-based layer indices; property paths use canonical match names. Repeated sibling match names cannot receive reusable property references.

ae_doA

Execute an atomic operation by name (from ae_catalog). Arguments are validated against the operation's declared parameters before anything reaches AE. Have more than one operation to run? Wrap them in ONE batch.run instead of several ae_do calls — read/verify steps (comp.info, layer.info, render.frame) can ride in the same batch. Every call is automatically wrapped in ONE undo group: a single Ctrl+Z (or project.undo) reverts the entire call, and a batch.run counts as one call. Never call app.beginUndoGroup/endUndoGroup in eval.run code — the wrapper already did. The exception is undo/redo itself (project.undo, command.execute id 16/2035): those run outside the group and cannot ride inside a batch.run. Response includes ambient context (active comp, selected layers, project state) at zero extra round trips. Example: ae_do({ operation: 'keyframe.add', args: { comp: 'Main', layer: 1, property: ['Transform','Position'], time: 2, value: [960,540] } })

ae_contextA

Ambient context: project state, active comp, selected layers, and resident readiness. Compact output is the default; request detail:'full' for the item list, AE.* helpers, ES3 rules, tips, and undo contract. Call at session start; then rely on ae_do response context.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 16 tools

Disambiguation3/5

Several tool pairs overlap: ae_do vs ae_edit (both perform batched mutations), ae_motion_plan/ae_workflow_plan/ae_workflow (offline planning and retiming recipes), and ae_layer_info vs ae_inspect_targets (reading layer/property data). The detailed descriptions help differentiate them, but an agent must read carefully to avoid misselection.

Naming Consistency4/5

All tools use a consistent ae_ snake_case prefix and are highly readable, giving a predictable pattern. However, the pattern is not strictly verb_noun throughout: ae_catalog, ae_context, and ae_do are noun-only or verb-only deviations.

Tool Count4/5

At 16 tools, the set sits slightly above the ideal 3-15 range, but each tool covers a distinct phase (version/context, planning, inspection, mutation, rendering, export/import) so the surface feels purposeful rather than bloated. For a rich After Effects automation domain, this count is reasonable.

Completeness4/5

The surface covers version discovery, planning, project/comp/layer inspection, atomic and batched edits, save, render-frame capture, and full JSON export/import. Gaps remain for full render-queue output and explicit undo/redo, but these are reachable through ae_do and ae_catalog, so there are no severe dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues