Skip to main content
Glama

asset_import_folder

Import every image and video in a local folder into the GravityPort library with a shared prompt and source metadata. Supports recursive reads, skips symlinks, and reports duplicates.

Instructions

Import every image and video found in a local folder into the GravityPort library, applying the same prompt/sourceType/source to each file. The folder path must be an absolute path on this machine. Symbolic links are skipped; with recursive: true the folder itself is level 1 and its contents are read down to level 5 (at most four subfolder levels below it), and deeper subfolders are skipped; a single call imports at most 1000 files, otherwise it fails and asks for batches. Identical bytes already in the library are reported as deduplicated. Files import one by one; a failed file is reported and does not stop the rest. Files already in the library are listed in duplicates with the existing assetId.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "folderPath": "<folderPath>"
    },
    "name": "asset_import_folder"
  }
}

Input Schema

NameRequiredDescriptionDefault
promptNo
sourceNoOptional generation provenance applied to every imported file, such as generation_tool, model, or codex_session_id.
recursiveNoAlso read subfolders (default false; the folder itself is level 1, contents are read down to level 5, deeper subfolders are skipped).
folderPathYesAbsolute path of the folder to import.
sourceTypeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.11

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations: symlinks skipped, recursive depth capped at level 5, hard 1000-file limit that fails the call, byte-identical dedup, per-file failure isolation that does not abort the run, and duplicates reported with existing assetId. This is exactly the operational detail an agent needs before committing to a bulk write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool does, then layers constraints in a logical order (path rules, recursion, size cap, dedup, failure handling). It is dense with semicolons but nearly every clause carries operational value; only the repeated recursion-depth explanation overlaps the schema.

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?

For a bulk mutation tool with no output schema, it covers the outcomes an agent must anticipate: deduplicated files, failed files, and duplicates with existing assetId. Nothing essential to a correct invocation appears missing.

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 coverage is 60%; sourceType has no schema description at all, and the description clarifies that prompt/sourceType/source are applied uniformly to every imported file, which is meaningful. It also restates the absolute-path and recursion-depth rules that are partly in the schema, adding some redundancy but confirming intent.

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?

States a specific verb and resource ('Import every image and video found in a local folder into the GravityPort library') and makes the bulk, whole-folder scope explicit, which separates it from single-asset siblings like asset_create.

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

Usage Guidelines3/5

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

Usage conditions are implied through constraints (absolute path required, 1000-file cap with batching, recursion flag semantics), but the description never states when to prefer this over asset_create or asset_version_create for a single file. The bulk-only nature is inferable but not routed explicitly.

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