Skip to main content
Glama

Bulk Tag Media

bulk_tag
Destructive

Add tags to multiple Wistia media files at once without replacing existing tags, returning a background job status for asynchronous processing.

Instructions

This method accepts a list of medias to tag. It processes requests asynchronously and will return a background_job_status object rather than the typical Media response object.

The tags will be added to the existing tags on each media file, not replaced.

Requires api token with one of the following permissions

Read, update & delete anything

Tokens with the "Act with a team member's permissions" permission (all:delegate_to_contact_permissions scope) can also be used. Requests made with such a token are authorized using the permissions of the contact assigned to the token. Requires confirm=true for the requested mutation. May share access, notify people or incur provider charges.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountNoNamed private Wistia account; selects credentials, not a remote account ID.
confirmNoMust be true for the specific user-requested write.
payloadNoComplete JSON request body instead of body flags. Supports current nested customization, caption and nullable values.
tag_namesNoAn array of tag names to add to each media.
hashed_idsNoAn array of the media hashed IDs to be tagged.
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.7/5.0
Behavior4/5

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

Goes beyond the annotations (which already declare destructiveHint=true, idempotentHint=false, openWorldHint=true) by disclosing that processing is asynchronous and returns a background_job_status object rather than a Media object, that tags are ADDED not replaced, and that a permissioned token plus confirm=true is required. This is meaningful behavioral context the structured fields do not carry.

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 most important details (async behavior, return type, additive semantics) are front-loaded in the first two short paragraphs. The permissions section is somewhat boilerplate-heavy but still earns its place by stating required scope and the confirm requirement.

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 an async mutation with no output schema, the description adequately covers the return object type, additive tag behavior, and authorization/confirm needs. It could go further by pointing to get_job_status for polling, but the essential information to call it correctly is present.

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 the schema already documents each parameter, setting the baseline at 3. The description does not help disambiguate the competing input shapes (top-level tag_names/hashed_ids vs. payload vs. payload_file), which is a real source of confusion the text leaves unaddressed.

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 and resource: 'accepts a list of medias to tag', making the bulk nature explicit. It is clear what the tool does, though it does not name an alternative sibling (e.g., create_tags) to distinguish the tagging path from other tag operations.

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 is implied by 'list of medias' and the confirm requirement, but there is no explicit when-to-use/when-not guidance or comparison to siblings like create_tags or update_media. The agent must infer that this is the batch path for applying tags.

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