Shaka Packager

Provides video analysis and packaging capabilities through MCP to analyze and package local videos for streaming.
  • python

0

GitHub Stars

python

Language

5 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": {
    "mcp-mirror-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",
        "LOG_LEVEL": "DEBUG",
        "VIDEO_PATH": "/PATH/TO/VIDEOS/DIRECTORY",
        "DOCKER_PATH": "/projects/video-drop",
        "COMMAND_TIMEOUT": "300",
        "SHAKA_PACKAGER_PATH": "/usr/local/bin/packager"
      }
    }
  }
}

You are using an MCP server that bridges Shaka Packager with Claude AI applications for video transcoding, packaging, and analysis. This setup lets you access local video files, analyze their streams, and package them for streaming formats like HLS and DASH, all through an MCP client you control. It includes path translation between environments and helpful guidance to build robust media processing workflows.

How to use

You will run two MCP servers in parallel: a Filesystem MCP server to access video files on your computer and the Shaka Packager MCP server to analyze and process those videos. From your MCP client (for example Claude Desktop), you can browse your local videos, select a file, and issue tasks such as analysis or packaging. The system translates local file paths to the appropriate paths inside containers and returns detailed results, including stream information, codecs, and packaging options.

How to install

Prerequisites you need before starting:

  • Python 3.10 or higher
  • Shaka Packager installed and available in your PATH
  • An MCP-compatible client (like Claude Desktop)
# Install the MCP server package
pip install shaka-packager-mcp

# Or install via uv (if you prefer uv tooling)
uv pip install shaka-packager-mcp

Additional sections

Configuration notes and practical setup details follow. You’ll configure two MCP servers in your Claude Desktop setup: a filesystem server and the Shaka Packager server. Use absolute paths for all host paths to ensure reliable operation across environments. When running from Docker or other containers, the system translates paths automatically for you.

{
  "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"
      }
    }
  }
}

Configuration and environment

Set environment variables to tailor the MCP behavior and allow path translation between host and container environments. Common variables include:

  • SHAKA_PACKAGER_PATH: Path to the Shaka Packager executable
  • VIDEO_PATH: Path to your local video directory used for translating paths
  • DOCKER_PATH: Docker container mount path (default: "/projects/video-drop")
  • TEMP_DIR: Custom temporary directory for file uploads
  • LOG_LEVEL: Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
  • COMMAND_TIMEOUT: Timeout in seconds for Shaka Packager commands (default: 300)

Usage

You can browse and access your video files through the filesystem MCP server, then request operations on a chosen video. For example, ask to analyze a file or package it for HLS/DASH streaming. The two-server setup enables Claude Desktop to fetch the file list and then pass a file path to the Shaka Packager MCP server for processing, returning a detailed summary of results.

Troubleshooting

If you encounter issues, verify the following:

  • Both servers are configured with absolute paths
  • Shaka Packager is installed and accessible from the environment running the MCP servers
  • The video directory exists and contains files
  • Claude Desktop logs contain relevant MCP errors (macOS: ~/Library/Logs/Claude/mcp*.log, Windows: %APPDATA%\Claude\logs\mcp*.log)

Available tools

analyze_video

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

run_shaka_packager

Executes a Shaka Packager command with proper path handling and integration with MCP prompts and documentation.

get_shaka_options

Retrieves available options and version information for Shaka Packager.

get_shaka_documentation

Provides comprehensive documentation and examples for using Shaka Packager within MCP workflows.

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