Skip to main content
Glama
thenavidm
by thenavidm

Fetch Source

ingest_source
Destructive

Queue a video, image, audio, or font URL for Shotstack to fetch and store, enabling new output renditions from the ingested source.

Instructions

Queue a source file to be fetched from a URL and stored by Shotstack. Source files can be videos, images, audio files and fonts. Once ingested, new output renditions can be created from the source file.

Base URL: https://api.shotstack.io/ingest/{version} Explicit confirmation is required for this exact action; provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoThe URL of the file to be ingested. The URL must be publicly accessible or include credentials.
accountNoNamed private Shotstack account; selects private credentials and stage/v1 environment.
confirmNoMust be true for this exact requested render, generation, mutation, upload URL or deletion.
outputsNo
payloadNoComplete JSON request body instead of body flags. Preserves current endpoint fields and values.
callbackNoAn optional webhook callback URL used to receive status notifications when sources are uploaded and renditions processed.
destinationsNo
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.9/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and openWorldHint=true, and the description adds critical behavioral context: 'Explicit confirmation is required... provider charges, hosting, sharing or deletion may apply. Never automatically resubmit unknown outcomes.' This goes well beyond the annotations, warning about financial and operational risks, and advising against retries on unknown outcomes.

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?

The description is concise and front-loaded: it states the action, lists supported file types, and then adds the critical warning. The base URL inclusion is extraneous for an agent and the markdown link formatting is odd, but overall the text is efficient and structured.

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

Completeness3/5

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

The tool is complex (8 parameters, nested objects, no output schema) and the description covers the core action and a critical warning, but it does not explain the outputs, destinations, or callback parameters, nor does it clarify the difference between using the flat parameters versus the nested payload. An agent would need to rely heavily on the schema.

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?

The schema has 75% description coverage and nests complex objects. The description does not detail parameters, but the schema covers most of them. The description adds the URL requirement implicitly and the confirmation requirement explicitly, which is a key parameter (confirm). However, it does not explain the outputs, destinations, or payload structure, leaving some gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: 'Queue a source file to be fetched from a URL and stored by Shotstack.' It specifies the supported file types (videos, images, audio, fonts) and the outcome (new renditions can be created). It does not explicitly differentiate from siblings like create_upload_url_file or transfer_asset, which also handle assets.

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?

The description provides some context (what can be ingested, where it goes) but offers no explicit guidance on when to use this tool versus alternatives like create_upload_url_file or transfer_asset. The warning about confirmation and unknown outcomes is useful but not a usage guideline per se.

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