Shaka Packager

Experimenting with MCP
  • python

4

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "coderjun-shaka-packager-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount",
        "type=bind,src=/PATH/TO/VIDEOS/DIRECTORY,dst=/projects/video-drop",
        "mcp/filesystem",
        "/projects"
      ],
      "env": {
        "TEMP_DIR": "/tmp/mcp",
        "LOG_LEVEL": "INFO",
        "VIDEO_PATH": "PLACEHOLDER",
        "DOCKER_PATH": "PLACEHOLDER",
        "COMMAND_TIMEOUT": "300",
        "SHAKA_PACKAGER_PATH": "/usr/local/bin/packager"
      }
    }
  }
}

You are setting up a dedicated MCP server that combines a filesystem access layer with Shaka Packager capabilities. This server lets your Claude AI workflows analyze and package video files stored on your computer, enabling streaming formats like HLS and DASH, along with helpful error guidance and command formatting. It uses a two-server approach so Claude Desktop can access local videos and then process them through Shaka Packager with MCP tooling.

How to use

Use this MCP server with an MCP client to browse your local video library, select a file, and perform analysis or packaging tasks. The two-server setup consists of a filesystem access component and the Shaka Packager processor. Follow the practical flow below to work with your video files from analysis through packaging.

Step-by-step usage pattern:

  • Launch the Filesystem MCP server to expose your local video directory to Claude Desktop.
  • Open Claude Desktop and load the MCP configuration that includes both the filesystem server and the Shaka Packager server.
  • Browse and locate your video file through Claude to obtain its absolute path or a file:// URI.
  • Ask Claude to analyze the video to retrieve detailed stream information and metadata.
  • Request packaging for HLS or DASH to generate streaming-friendly outputs, optionally enabling advanced options like DRM or ad insertion markers.
  • Review the detailed outputs and summaries provided by the server to verify results and adjust command parameters if needed.

Tip: Ensure you use absolute paths for video locations to avoid path translation issues between Docker and your host system. When possible, start with listing files in your video directory and then select the target file for subsequent analysis or packaging.

How to install

Prerequisites you need before installation:

  • Python 3.10 or higher
  • Shaka Packager installed and available in your PATH
  • An MCP-compatible client such as Claude Desktop

Option 1: Install the MCP package with Python’s package manager

pip install shaka-packager-mcp

Option 2: Install the MCP package using uv (upcoming option)

uv pip install shaka-packager-mcp

Option 3: Install from source (recommended for development)

git clone https://github.com/coderjun/shaka-packager-mcp.git
cd shaka-packager-mcp
pip install -e .

Option 4: From source using uv (development workflow)

git clone https://github.com/coderjun/shaka-packager-mcp.git
cd shaka-packager-mcp
uv pip install -e .

Configuration and setup notes

You will configure Claude Desktop to run two MCP servers: a filesystem server and the Shaka Packager MCP server. Both servers require absolute paths and explicit commands for execution. After configuring, restart Claude Desktop to apply changes.

Example configuration structure used by Claude Desktop combines both servers under a single mcpServers key. Use absolute paths for all host-dependent locations.

{
  "mcpServers": {
    "filesystem": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--mount", "type=bind,src=/PATH/TO/VIDEOS/DIRECTORY,dst=/projects/video-drop",
        "mcp/filesystem",
        "/projects"
      ]
    },
    "shaka-packager": {
      "command": "/ABSOLUTE/PATH/TO/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "/ABSOLUTE/PATH/TO/shaka_packager_mcp.py"
      ],
      "env": {
        "VIDEO_PATH": "/PATH/TO/VIDEOS/DIRECTORY",
        "SHAKA_PACKAGER_PATH": "/PATH/TO/PACKAGER"
      }
    }
  }
}

Available tools

analyze_video

Examines a video file and returns detailed stream information, codecs, bitrates, and metadata with robust error handling.

run_shaka_packager

Executes a Shaka Packager command with proper path handling and MCP integration to produce packaging outputs.

get_shaka_options

Retrieves available Shaka Packager command options and version information.

get_shaka_documentation

Provides comprehensive documentation and examples for using Shaka Packager

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational