encodr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ENCODR_MCP_ROOT | No | By default the server can read and write anywhere your user can. To confine all input/output paths to one directory tree, set this environment variable to the allowed root directory. Any path outside that root is rejected. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| probe_mediaB | Inspect a media file and return a compact summary of its format and streams. |
| list_codecsA | List the supported video/audio codecs and image formats with their quality defaults. |
| transcode_videoA | Transcode a video. Quality is CRF-based (lower crf = higher quality). Codecs: h264 (default, universal), h265, av1 (best compression), vp9. Optionally downscale with scale_height (e.g. 1080) or change fps. |
| remux_videoB | Change a video's container (e.g. .mkv -> .mp4) with no re-encode. Lossless and fast. |
| transcode_audioC | Transcode audio. Codecs: opus (default), aac, mp3, flac (lossless), wav. Set normalize=true for EBU R128 loudness normalization (-16 LUFS). |
| extract_audioB | Extract the audio track from a video losslessly (stream copy). |
| convert_imageC | Convert/resize an image. Formats: webp, avif, jpeg, png (lossless). For webp/jpeg, quality is 0-100; for avif, quality is a CRF-like value. |
| thumbnailC | Grab a single high-quality frame from a video at timestamp |
| burn_subtitlesC | Burn (hardcode) a subtitle file into the video. Audio is copied unchanged. |
| extract_streamA | Extract a single stream (by absolute index from probe_media) losslessly. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool has a largely distinct action: probe vs. list, transcode vs. remux, audio vs. video. The only real overlap is extract_audio versus extract_stream (which can also pull an audio stream by index), and thumbnail vs. extract_stream for frame grabbing, but the descriptions make the intended boundaries clear enough.
Nine of ten tools follow a clean snake_case verb_noun pattern (probe_media, transcode_video, extract_audio, convert_image, burn_subtitles). 'thumbnail' is the lone bare noun, a minor deviation from an otherwise predictable convention.
Ten tools is well-scoped for a media encoding server, covering inspection, listing, video/audio transcoding, remuxing, extraction, image conversion, thumbnails, and subtitles without padding. Each tool maps to a concrete operation a user would need.
The core encode/convert lifecycle is well covered, including probe, codec discovery, transcode, remux, extract, and subtitle burn-in. Minor gaps exist around trimming/cutting to a time range, concatenating files, and extracting subtitle streams, but none are dead ends for typical workflows.