Skip to main content
Glama

import_asset

Idempotent

Import local image files—one or up to 64 in a batch—into the workspace as immutable revisions; re-importing identical bytes returns the existing revision instead of a duplicate.

Instructions

Import a local image file into the workspace and issue an immutable revision. Pass either path (one file) or paths (a batch of up to 64; one bad file does not abort the batch, it lands in failed) - exactly one of the two. Idempotent: importing the same bytes again returns the existing revision. If the imported bytes are already the output of a recipe held in this workspace, the result carries a warning plus already_derived_from so the same recipe is not applied twice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo取り込むローカルファイルの絶対パス(または cwd からの相対パス)。 `paths` とは排他で、どちらか一方が必須。
pathsNo複数ファイルを1回で取り込む(1..=64 件)。`path` とは排他。 1件が失敗してもバッチは中断せず、`failed` に理由が入る。

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.6.4
    • addedOutput schema / $defs / ImportEntry / properties / font_families
      Added value: +{
      +  "description": "Font family names this asset provides, present only when the imported file is a\nfont. Use one of these verbatim in the SVG's `font-family` and reference this\nrevision from `svg_overlay.font_revision_ids`.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
    • addedOutput schema / $defs / ImportOutput / properties / font_families
      Added value: +{
      +  "description": "Font family names this asset provides, present only when the imported file is a\nfont. Use one of these verbatim in the SVG's `font-family` and reference this\nrevision from `svg_overlay.font_revision_ids`.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
  2. First observedv0.5.2

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, idempotent=true, destructive=false), the description discloses idempotency behavior ('same bytes returns the existing revision'), partial-batch failure behavior ('one bad file does not abort the batch, it lands in `failed`'), and a derived-output warning with `already_derived_from`. This is substantial behavioral context that the annotations alone do not convey.

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?

Four sentences, each carrying distinct information (purpose, selection rule, idempotency, derived-output warning), with the core purpose front-loaded. No filler or repetition of 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 an import tool with an output schema present, the description need not explain return values, yet it still flags the meaningful outcome fields (`failed`, `already_derived_from`). Combined with the safety annotations, an agent has everything needed to invoke it correctly.

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 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it resolves the ambiguity left by zero required parameters by asserting 'exactly one of the two' is required, and restates the 64-file batch cap and per-file failure model. That is genuine value over structured fields.

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 gives a specific verb and resource ('Import a local image file into the workspace') plus the notable side effect ('issue an immutable revision'). This is clearly distinct from siblings like export_asset and list_assets. An agent can identify the operation without opening the schema.

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

Usage Guidelines4/5

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

It states the operational context clearly: use `path` for one file or `paths` for a batch, exactly one of the two, and describes the batch-failure semantics. It does not name a sibling alternative or state when-not to use (e.g., directory vs file, remote URLs), so it stops short of a 5.

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