shaka-packager
Experimenting with MCP
claude mcp add --transport stdio coderjun-shaka-packager-mcp-server /ABSOLUTE/PATH/TO/uv run --with mcp[cli] /ABSOLUTE/PATH/TO/shaka_packager_mcp.py \ --env VIDEO_PATH="/PATH/TO/Videos" \ --env SHAKA_PACKAGER_PATH="/PATH/TO/Packager"
How to use
This MCP server integrates Shaka Packager capabilities with Claude-based workflows to analyze, package, and prepare video content for streaming. It exposes a CLI-driven interface via the MCP framework that leverages Shaka Packager for detailed stream analysis (codecs, bitrates, and container information) and for packaging into HLS/DASH formats, with options for DRM and ad insertion metadata. The server is designed to work in concert with the Filesystem MCP Server, enabling Claude Desktop to access local video files and perform end-to-end processing with accurate path translation between Docker and host environments. Typical usage involves pointing the server at a local video directory, then issuing commands to analyze a file or to package it for streaming, and inspecting the resulting manifests, segments, and metadata outputs.
You can use the Shaka Packager MCP tools to perform: 1) video analysis to extract stream information and metadata, 2) packaging into HLS or DASH formats, including VOD and live scenarios, and 3) applying advanced options such as DRM, ad insertion markers, and format conversions. The built-in help and examples guide you through constructing properly formatted Shaka Packager commands and interpreting the detailed execution output that the MCP server provides.
How to install
Prerequisites:\n- Python 3.10 or higher\n- Shaka Packager installed and accessible in your PATH\n- An MCP-compatible client (like Claude Desktop)\n\nInstall from PyPI (recommended for quick start):\nbash\npip install shaka-packager-mcp\n\n\nInstall from source (recommended for development or customization):\nbash\ngit clone https://github.com/coderjun/shaka-packager-mcp.git\ncd shaka-packager-mcp\npip install -e .\n\n\nIf you prefer to run using uv directly (from source):\nbash\nuv pip install -e .\n\n\nConfigure Claude Desktop to include the MCP server configuration (see the example in the readme) and ensure the paths to uv, the shaka_packager_mcp.py script, and the Shaka Packager executable are correctly set.
Additional notes
Notes and tips:\n- Ensure absolute paths are used in your configuration, especially for the shaka-packager command and script path.\n- The environment variables VIDEO_PATH and SHAKA_PACKAGER_PATH help the MCP server locate media files and the packager binary; adjust these as needed for your environment.\n- Path translation between Docker and host can be tricky; verify that the Filesystem MCP Server has access to the target video directory.\n- If you encounter issues, check Claude Desktop logs for MCP-related errors, and confirm that Shaka Packager is installed and accessible from the environment where the MCP server runs.\n- The server is labeled experimental; plan for potential breaking changes during development cycles.\n- For DRM-related workflows, ensure you have the appropriate license and toolchain configured for your target DRM (Widevine, PlayReady, FairPlay).
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP