Skip to main content
Glama

Import content

import_items

Imports items found with list_import_items into a workspace library (the per-call cap is max_per_import from the source list, usually 20; Canva and Descript cap at 10). Sources that render first (opusclip, klap, descript, canva mp4) can take up to 2.5 minutes. Pass container_id for sources with projects, and import options in options (e.g. { format: "landscape" } for twitch, { version: "captioned" } for heygen, { format: "mp4" } for canva). Returns per item: video_upload_id (pass to create_post_drafts or create_carousel), caption and title (use the title as the YouTube title; shorten the caption for X and Bluesky), or ok: false with an error. Items that fail don't stop the others.

Input Schema

NameRequiredDescriptionDefault
sourceYes
optionsNoImport options for the source.
item_idsYesItem ids from list_import_items, all from one container when the source has them.
container_idNoThe project id, for sources with projects.
workspace_idYesWorkspace to import into. Get it from list_workspaces.
idempotency_keyNoOptional client-generated key (e.g., a UUID) to make retries safe. Identical calls with the same key within 10 minutes return the original result instead of running the write twice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / source / enum
      Previous value: -[
      -  "canva",
      -  "opusclip",
      -  "klap",
      -  "twitch",
      -  "heygen",
      -  "descript",
      -  "onedrive",
      -  "box"
      -]New value: +[
      +  "canva",
      +  "opusclip",
      +  "klap",
      +  "twitch",
      +  "heygen",
      +  "descript",
      +  "onedrive",
      +  "box",
      +  "frameio"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / source / enum
      Previous value: -[
      -  "canva",
      -  "opusclip",
      -  "klap",
      -  "twitch",
      -  "heygen"
      -]New value: +[
      +  "canva",
      +  "opusclip",
      +  "klap",
      +  "twitch",
      +  "heygen",
      +  "descript",
      +  "onedrive",
      +  "box"
      +]
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnly=false, destructive=false, openWorld=true) by disclosing the per-call cap (20, or 10 for Canva/Descript), that render-first sources can take up to 2.5 minutes, and that failures are partial ('Items that fail don't stop the others'). It also describes the per-item return shape (video_upload_id, caption, title, or ok:false with an error), which is exactly the behavior an agent needs before a slow mutation.

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-loaded with the core action, then caps, then options, then returns — a sensible order with no filler sentences. The nested parenthetical '(the per-call cap is max_per_import from the source list, usually 20; Canva and Descript cap at 10)' is information-dense but awkwardly embedded mid-sentence.

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

Completeness4/5

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

For a 6-parameter, nested-object, open-world mutation with no output schema, the definition covers caps, latency, partial-failure semantics, and return fields, which is close to sufficient. It omits any permission or connection prerequisite (e.g. whether the source account must be linked to the workspace) and whether the call blocks for the full 2.5 minutes.

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?

With 83% schema coverage the schema already documents most fields, but the description adds real meaning the schema lacks: container_id's purpose for project-based sources and concrete `options` payloads per source ({ format: "landscape" } for twitch, { version: "captioned" } for heygen, { format: "mp4" } for canva) for an otherwise free-form additionalProperties object. It says nothing extra about workspace_id or idempotency_key, so 4 rather than 5.

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 ('Imports items ... into a workspace library') and ties the input to a named producer ('items found with list_import_items'), which immediately separates it from upload tools like create_video_upload. An agent knows what entity it moves and where it lands 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?

Gives explicit routing context: call list_import_items first, pass container_id for sources with projects, and send create_post_drafts/create_carousel the returned video_upload_id, so downstream usage is clear. It never states a when-not condition and does not disambiguate against the overlapping sibling import_opusclip_clips, which keeps it from a 5.

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.