# import_asset MCP tool

Bring media into the project.

{/* Generated by landing/scripts/generate-mcp-docs.ts. Do not edit. */}

MCP name `import_asset` dispatches to renderer `importAsset`.

Does not use hosted quota. Local editor operation.

Bring media into the project. action web downloads a direct URL. action local imports absolute file paths. action vectorize converts a raster image or URL to SVG. Editor must be open. Does not use hosted quota. Local editor operation.

## Advertised MCP input

This tool is registered with **passthrough**. The fields below are what `listTools` advertises. The renderer still validates the child fields for the chosen action or kind. Extra advertised-only values are documented under Reachable behavior.

| Field | Type | Required | Constraints | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `action` | enum("web", "local", "vectorize") | yes | — | — | action for import_asset |
| `resultStart` | integer | no | min 0; max 9007199254740991 | 0 | First character offset to return. Use 0 for the first call. |
| `resultEnd` | integer | no | min 1; max 9007199254740991 | 8000 | Exclusive end offset. resultEnd - resultStart must be at most 8000. Increment resultStart by 8000 to page through large results. |

## Reachable behavior

Advertised action values match the renderer children: `web`, `local`, `vectorize`.

## Renderer child fields

These are the authoritative fields for each `action`. Send them on the same MCP call. Grouped MCP tools use passthrough, so these fields are not all listed in the advertised schema.

### `action=web`

Renderer tool: `importWebAsset`.

Download a direct web URL into the current project Assets panel (local import — no Firebase sign-in required). Supports images, videos, audio, and 3D models. Returns an assetId for timelineEdit action addClip. Prefer import_local_assets when the file is already on disk.

| Field | Type | Required | Constraints | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `url` | string | yes | — | — | Direct URL to an image, video, audio, 3D model, or other supported asset file. |
| `fileName` | string | no | minLength 1; maxLength 180 | — | Optional filename to use in the project assets panel. |

### `action=local`

Renderer tool: `importLocalAssets`.

Import one or more local files into the current project Assets panel by absolute path. No Firebase sign-in required. Prefer this over import_web_asset when files are already on disk. Returns assetIds for timelineEdit action addClip.

| Field | Type | Required | Constraints | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `paths` | string[] | yes | minItems 1; maxItems 50 | — | Absolute local file paths to import into the open project. |

### `action=vectorize`

Renderer tool: `vectorizeImage`.

Convert a project image asset or direct image URL into an SVG vector asset. Use this for logos, icons, flat illustrations, screenshots with simple shapes, or any raster image the AI should reuse as scalable SVG. Returns the new SVG assetId.

| Field | Type | Required | Constraints | Default | Description |
| --- | --- | --- | --- | --- | --- |
| `assetId` | string | no | minLength 1 | — | Project image asset ID to vectorize. Provide either assetId or imageUrl, not both. |
| `imageUrl` | string | no | — | — | Direct public image URL to vectorize. Provide either imageUrl or assetId, not both. |
| `outputName` | string | no | minLength 1; maxLength 180 | — | Optional SVG filename to create in project assets. |
| `preset` | enum("logo", "default", "detailed", "smooth", "sharp", "grayscale") | no | — | "logo" | Tracing preset. Use logo for icons/logos, detailed for illustrations, grayscale for monochrome art. |
| `numberOfColors` | number | no | min 2; max 32 | 8 | Palette size for color tracing. Lower values create cleaner, smaller SVGs. |
| `maxDimension` | number | no | min 128; max 2048 | 1024 | Longest side, in pixels, used for tracing before SVG generation. |
| `blurRadius` | number | no | min 0; max 5 | 0 | Optional pre-trace blur radius to smooth noisy images. |
| `minShapeOutline` | number | no | min 0; max 64 | 4 | Discard tiny traced regions. Increase this to simplify noisy SVGs. |

## Result window

Every local MCP tool accepts `resultStart` and `resultEnd` so large payloads can be paged.

- `resultStart` — first character offset. Default `0`.
- `resultEnd` — exclusive end offset. Default `8000`.
- `resultEnd - resultStart` must be at most **8000** characters.
- Increment `resultStart` by 8000 to read the next window.
