Skip to main content
Glama

Add an element to the current project

add_element

Append a single element to an existing project — a TWEAK, e.g. dropping in one more caption or shape. By default it is added at the top level; pass parent_id to add it INTO a group (nested). The element is any valid schema element: video, image, text, shape, audio, group, caption, or particles. To create a composition or add several elements at once, build the JSON and use set_project instead. The new element is validated as part of the project as a whole before being added. Call get_schema(element_type) for the exact per-type fields; unrecognized keys are flagged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
elementYesA Clipkit element object. Must include `type`.
parent_idNoOptional id of a group to add this element INTO (nested). Omit to add at the top level.
project_idNoWhich project to act on — the id returned by create_project / set_project / create_promo / load_project. ALWAYS pass it once a project exists in this conversation; omitting it on a build tool creates a brand-new project. (Omit only on the local stdio server working a single project.)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
parent_idNo
element_typeNo
added_element_idNo
top_level_element_countYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already flag readOnlyHint=false and destructiveHint=false. The description adds meaningful behavioral context: the element is validated as part of the whole project before being added, unrecognized keys are flagged, and default placement vs nested behavior is disclosed. This goes beyond the structured fields.

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 four sentences, front-loaded with the core action and scope. Every sentence provides either usage guidance or parameter context, with no filler or redundancy. It is appropriately sized for the tool's complexity.

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

Completeness5/5

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

Given the rich input schema, three parameters, and existing output schema, the description covers purpose, usage boundaries, and validation behavior. It even directs the user to get_schema for type-specific details, filling potential gaps. This is complete for the tool's complexity.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds value by enumerating valid element types and pointing to get_schema for per-type fields, enriching the element parameter's semantics. It also clarifies parent_id behavior, complementing the schema description.

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 appends a single element to an existing project using the verb 'Append' plus the resource. It distinguishes from set_project by explicitly advising use of set_project for bulk or composition, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: it says to use set_project instead when creating a composition or bulk-adding elements. It also instructs calling get_schema(element_type) for exact fields, and explains the parent_id option for nesting versus top-level default placement.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: project lifecycle (create, set, load, get, describe, validate), element manipulation (add, edit, delete), asset ingestion, preview, promo creation, schema access, and documentation. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern, e.g., create_project, add_element, describe_project. No deviations or mixed conventions.

Tool Count5/5

15 tools is well-scoped for a video editing server, covering project management, element editing, asset handling, preview, validation, and promo generation without being excessive or sparse.

Completeness4/5

Core CRUD operations for projects and elements are covered, along with asset ingestion, schema access, and preview. However, the critical render_video tool is mentioned in descriptions but missing from the tool list, creating a notable gap in the workflow.