Skip to main content
Glama

Upload or Import Media from a local file

upload_media_file
Destructive

Upload a local media file or import one from a web URL into Wistia. This adds media to a project or contact, requiring explicit confirmation.

Instructions

Endpoint to upload media files from a local system or import from a web URL.

  • Use multipart/form-data with a file parameter to upload from local system

  • Use application/x-www-form-urlencoded with a url parameter to import from web URL Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

Input Schema

NameRequiredDescriptionDefault
fileNoAbsolute regular local file, no symlinks, at most 250 MiB locally. Bytes are sent after explicit confirmation.
nameNoA display name to use for the media in Wistia.
accountNoNamed private Wistia account; selects credentials, not a remote account ID.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete JSON request body instead of body flags. Supports current nested customization, caption and nullable values.
contact_idNoA Wistia contact id.
project_idNoThe hashed id of the project to upload media into.
descriptionNoA description to use for the media in Wistia.
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. Changed1 schema field changedv3.0.0
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for the specific user-requested write."New value: +"Set true only when the user asked for exactly this action."
  2. First observedv2.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint/openWorldHint/idempotentHint=false, and the description adds genuinely new behavioral context the annotations do not: the confirm=true gate and side effects ('may share access, notify people or incur provider charges'). Some ambiguity remains about what confirmation protects against (it is described only in the `confirm` schema field).

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?

Four short lines, front-loaded with the endpoint purpose before the mode-specific instructions and the confirmation caveat. No padding, though the two bullet lines could be tightened slightly.

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?

With 9 parameters, a nested `payload` object, and three mutually exclusive ways to supply the body (flags, `payload`, `payload_file`), the description covers the confirmation requirement but not the crucial body-shape selection. No output schema exists, so the description is not obliged to describe returns, but the parameter-model ambiguity is a real completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds transport semantics (content type per mode), but it also references a `url` parameter that does not exist anywhere in the schema and never explains the `payload` / body-flags / `payload_file` alternatives, so it neither compensates nor confuses usefully beyond baseline.

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?

States a specific verb+resource set ('upload media files from a local system or import from a web URL') and distinguishes the two operating modes. It does not name or differentiate from the very similar siblings upload_media and import_media_from_url, which is the main gap.

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 concrete operational conditions: multipart/form-data with `file` for local uploads vs x-www-form-urlencoded with `url` for URL imports, plus the hard requirement 'Requires confirm=true for the requested mutation.' No explicit when-not or alternative-sibling guidance, 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.

Deploy Server

Other Tools