Skip to main content
Glama

Import video from URL

import_video_from_url

Add a video to a channel from a direct media URL. THIS IS THE MAIN WAY TO ADD CONTENT over MCP — you cannot upload local file bytes through this interface, so if the owner has local files, ask them to host them somewhere reachable or upload via the app. The URL must be a direct, public, unauthenticated link to mp4/mov/m4v/mpeg/mpg/avi, or a FINITE .m3u8 (VOD, not a live stream) — not a web page, not behind a login, not a YouTube/Vimeo watch page. The server downloads it. Returns immediately; the asset then goes downloading -> pending -> transcoding -> ready. Duration counts against the weekly upload quota. Re-submitting the same URL to the same channel returns the original asset instead of importing twice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesDirect, public media URL
tagsNo
titleNo
weightNoHow often it plays, 0-10 (default 5). Set it here rather than after — see set_asset_weight.
channel_idYes

TDQS

A4.1/5.0
Behavior1/5

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

The description is rich in behavioral detail (server downloads, immediate return, asset lifecycle, quota, idempotent re-submission), but it contradicts the idempotentHint annotation. The annotation says idempotentHint: false, yet the description states 'Re-submitting the same URL to the same channel returns the original asset instead of importing twice,' which is idempotent behavior. This direct contradiction triggers a score of 1 per the rules.

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?

The description is dense but every sentence provides necessary constraints or behavioral context. It is front-loaded with purpose, then details usage limits, process, quota, and idempotency. No wasted words; structure is logical and appropriately sized for the tool's complexity.

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?

Given the tool's complexity and lack of output schema, the description covers return behavior ('Returns immediately; asset then goes downloading -> pending -> transcoding -> ready'), quota impact, and edge cases like re-submission. It also references set_asset_weight for weight adjustments, providing a complete picture for effective use.

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 description adds significant meaning for the url parameter by detailing acceptable formats and exclusions, far beyond the schema's 'Direct, public media URL.' It also clarifies the weight parameter's purpose and timing ('Set it here rather than after'). However, channel_id, tags, and title remain undocumented beyond their schema entries, and schema coverage is only 40%, so the description does not fully compensate for all parameters.

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 clearly states the tool's function: 'Add a video to a channel from a direct media URL.' It also specifies this is the main way to add content over MCP, distinguishing it from local file uploads and other tools. The verb and resource are specific, and the mention of 'not a YouTube/Vimeo watch page' helps differentiate from import_youtube_video.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use and when-not-to-use guidance. It states the URL must be a direct, public, unauthenticated link to specific formats, not a web page, not behind a login, and not a YouTube/Vimeo watch page. It also advises on handling local files and mentions the quota. This clearly defines the tool's intended use versus alternatives.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools are clearly distinct: channel lifecycle (create/get/update/archive/list), asset management (import/delete/list/set_asset_weight), schedule management (get/set/validate/regenerate), and transcode (get status/retry). Minor overlap exists between archive_channel and delete_asset, but descriptions clarify the scope (whole channel vs single video). import_video_from_url and import_youtube_video are distinct in source and ownership requirements.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: archive_channel, create_channel, delete_asset, get_channel, list_assets, set_asset_weight, validate_schedule_rules, etc. Verbs are action-oriented (create, get, list, update, archive, delete, import, set, regenerate, retry) and nouns are resource names (channel, asset, schedule, transcode). No mixed conventions or vague verbs like 'process' or 'do_thing'.

Tool Count5/5

19 tools is well-scoped for a TV channel management server covering channel lifecycle, asset ingestion, scheduling, and transcode monitoring. Each tool addresses a distinct need and the count feels proportional to the complexity of managing a 24/7 linear TV channel. Not bloated with redundant tools, and each has a clear purpose.

Completeness4/5

The surface covers the core domain comprehensively: channel CRUD (create, get, update, archive, list), asset management (import, delete, list, weight), scheduling (set rules, validate, regenerate, get schedule), and transcode monitoring (status, retry). Minor gaps: no direct way to upload local files (stated as a limitation), no channel deletion (only archive), and no ability to manage playlists explicitly. However, these are acknowledged design constraints or edge cases, so the surface is largely complete for the stated purpose.

Resources