# 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.

Agent View of the PolicyLayer registry record for `add_element`. HTML page: https://policylayer.com/tools/dev-clipkit-clipkit/add-element

## Facts

- Tool: `add_element`
- Server: Clipkit (`https://www.clipkit.dev/mcp`) — https://policylayer.com/tools/dev-clipkit-clipkit.md
- Homepage: https://github.com/clipkit-video/clipkit
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 3 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `element` | object | yes | A Clipkit element object. Must include `type`. |
| `parent_id` | string | no | Optional id of a group to add this element INTO (nested). Omit to add at the top level. |
| `project_id` | string | no | Which project to act on — the id returned by create_project / set_project / create_promo / load_project. Omit when working on a single local project. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "add_element",
    "arguments": {
      "element": {}
    }
  }
}
```

## Why add_element is rated Medium

This tool creates and adds new elements (video, image, text, shape, audio, group, caption, or particles) to an existing project structure. It modifies the project state reversibly through element insertion. While it affects project composition, the change is not destructive (elements can be removed) and does not execute arbitrary code or trigger external operations.

From the tool's own definition: "Tool description states it will 'Append a single element to an existing project' and 'The new element is validated as part of the project as a whole before being added.' This is a create/modify operation on project data."

## Use case

AI agents use add_element to create or update resources in Clipkit, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Clipkit environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Clipkit:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "add_element": {
      "limits": [
        {
          "counter": "add_element_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Clipkit (14)

- `delete_element` — Destructive — https://policylayer.com/tools/dev-clipkit-clipkit/delete-element.md
- `describe_project` — Read — https://policylayer.com/tools/dev-clipkit-clipkit/describe-project.md
- `get_project` — Read — https://policylayer.com/tools/dev-clipkit-clipkit/get-project.md
- `get_schema` — Read — https://policylayer.com/tools/dev-clipkit-clipkit/get-schema.md
- `open_in_editor` — Read — https://policylayer.com/tools/dev-clipkit-clipkit/open-in-editor.md
- `preview_still` — Read — https://policylayer.com/tools/dev-clipkit-clipkit/preview-still.md
- `read_docs` — Read — https://policylayer.com/tools/dev-clipkit-clipkit/read-docs.md
- `validate_project` — Read — https://policylayer.com/tools/dev-clipkit-clipkit/validate-project.md
- `create_project` — Write — https://policylayer.com/tools/dev-clipkit-clipkit/create-project.md
- `create_promo` — Write — https://policylayer.com/tools/dev-clipkit-clipkit/create-promo.md
- `edit_element` — Write — https://policylayer.com/tools/dev-clipkit-clipkit/edit-element.md
- `ingest_asset` — Write — https://policylayer.com/tools/dev-clipkit-clipkit/ingest-asset.md
- `load_project` — Write — https://policylayer.com/tools/dev-clipkit-clipkit/load-project.md
- `set_project` — Write — https://policylayer.com/tools/dev-clipkit-clipkit/set-project.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=dev-clipkit-clipkit · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/dev-clipkit-clipkit
