Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoHost address for streamable-http transport. Default: 0.0.0.00.0.0.0
PORTNoPort for streamable-http transport. Default: 80008000
TRANSPORTNoTransport protocol (stdio or streamable-http). Default: stdiostdio
YT_DLP_PATHYesPath to yt-dlp executable
BREW_INSTALL_CMDYesCommand to install via brew (if needed)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": false,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
download_mediaC

Download video or audio from supported sites (YouTube, Rumble, etc.).

watch_mediaA

Watch a video: download it with captions and extract key frames.

Returns a manifest describing a bundle on disk - the caption transcript plus scene-change key frames whose filenames carry their timestamp, so what was on screen can be lined up against what was said. Use this to analyse a tutorial, demo, talk, or screen recording rather than merely archive it.

Check status before trusting the bundle: partial means the captions or the frames are missing, and captions.fallback then names the audio-transcriber skill to recover a transcript.

build_watch_skillA

Write a video-built skill, or append another video's findings to one.

You supply the body - reading the transcript and frames is your job, not this tool's. It owns the mechanics: frontmatter, the provenance table every claim stays traceable to, the version bump, and WORKFLOW.md.

Appending a video the skill already lists is refused rather than duplicated, so re-running a pipeline is safe. Call list_watch_skills first to see which skill a new video belongs to.

Default to append. Use replace when the new source contradicts the skill, changes a conclusion, supersedes rather than extends it, leaves the body no longer reading as one document, or outgrows the description. A create or replace without a "What would change this skill" section is refused.

list_watch_skillsA

List video-built skills under a root and the videos each already has.

Use it before building: it says whether a new video extends an existing skill and whether that skill already covers it.

media_downloader_download_allC

Invoke the download_all operation.

media_downloader_download_videoD

Invoke the download_video operation.

media_downloader_get_channel_videosC

Find a channel's video links; queue them on self.links and return them.

media_downloader_open_fileD

Invoke the open_file operation.

media_downloader_progress_hookD

Invoke the progress_hook operation.

media_downloader_set_progress_callbackD

Invoke the set_progress_callback operation.

media_downloader_watchB

Download a video with its captions and extract scene-change key frames.

Returns the bundle manifest: the media, the transcript, the key frames, and whatever could not be obtained. status is success only when both captions and frames are present, so a caller can surface a partial result before reasoning over an incomplete bundle. A degraded run never raises.

Prompts

Interactive templates invoked by user choice

NameDescription
connector-statusAsk for this connector server's current operational status.
download_videoGenerates a prompt for downloading a video.
download_audioGenerates a prompt for downloading audio.

Resources

Contextual data attached and managed by the client

NameDescription
_connector_status_resourceNative resource exposing this server's static status payload.
ontology://media-downloader-mcp/media.ttl
connector-resourcesData sources, ontology mappings and resources of this connector.
media-download/SKILL.mdDownload video (or audio) from YouTube, Rumble, and other yt-dlp-supported sites via the media-downloader MCP server, and natively store the downloaded media into the epistemic-graph knowledge graph as a content-addressed blob + :MediaAsset. Use when the agent must fetch a video by URL and optionally persist the raw bytes + metadata into the KG. Do NOT use for audio-only extraction to MP3 (media-audio) or for querying already-ingested media (query the KG :MediaAsset nodes directly).
media-download/_manifestFile listing for media-download
media-watch/SKILL.mdWatch a video by URL through the media-downloader MCP server and turn it into a reusable skill: pull the captions, extract scene-change key frames whose filenames carry their timestamp, then read both and write down what the video teaches, the steps, and the warnings. Works on tutorials, demos, talks, Loom and TikTok clips, podcasts, and screen recordings of something broken. Use when the agent must understand or reproduce what a video shows rather than merely archive it. Do NOT use for plain video download (media-download), audio-only MP3 extraction (media-audio), or transcribing a file that is already on disk (audio-transcriber-transcription).
media-watch/_manifestFile listing for media-watch
media-downloader-operations/SKILL.mdOperate media-downloader through its governed MCP and Arbora capabilities, including media audio, media download, media watch. Use when a request requires this provider's read, change, automation, ingestion, troubleshooting, or evidence workflows.
media-downloader-operations/_manifestFile listing for media-downloader-operations
media-audio/SKILL.mdExtract audio as MP3 from a video/media URL via the media-downloader MCP server, natively storing the resulting audio into epistemic-graph as a content-addressed blob + :MediaAsset. Use when the agent needs the audio track (podcast, music, lecture) rather than the full video. Do NOT use for full-video download (media-download) or for transcription (use the audio-transcriber package).
media-audio/_manifestFile listing for media-audio
media-downloader-development/SKILL.mdDevelop, test, gate, and release the media-downloader connector. Use this skill when changing the connector's API mappings, MCP tools, packaging, documentation, or repository gates.
media-downloader-development/_manifestFile listing for media-downloader-development

TDQS

C2.2/5.0

Scored across 11 tools

Disambiguation2/5

There are near-duplicate pairs: watch_media and media_downloader_watch have essentially identical descriptions, and download_media overlaps with media_downloader_download_video/download_all. The two progress tools (set_progress_callback, progress_hook) are internal callbacks with no distinguishing description, so an agent cannot tell which to call or when.

Naming Consistency2/5

Names mix a `media_downloader_` prefix (set_progress_callback, download_all, open_file, watch) with bare snake_case (download_media, watch_media, build_watch_skill), and equivalent actions appear under both conventions. Several delegated names are also opaque stubs ('Invoke the download_all operation') that don't follow the descriptive verb_noun style of the others.

Tool Count3/5

11 tools is a reasonable count for the domain, but several slots are wasted on duplicated or internal-only operations (watch vs watch_media, download_all/download_video, progress_hook, open_file). Trimming the redundant entries would leave a tighter, clearer core.

Completeness3/5

The core loop is covered: list skills, download, watch, build/append skill, plus channel video discovery. However there is no way to delete or remove a skill, no way to inspect a stored skill's contents, and progress/callback plumbing is exposed as tools rather than handled internally.

Maintenance

ActivityActive
ResponsivenessSlow