Shaka Packager

by coderjun

1 stars
311 downloads
Not rated
GitHub

About

Bridges AI with Google's Shaka Packager for video analysis, transcoding, and packaging operations, enabling media workflow automation and streaming content preparation without direct command-line interaction.

Details

Author
coderjun
Repository
coderjun/shaka-packager-mcp-server
GitHub stars
1
Downloads
311
License
MIT License
Categories
Productivity, Developer Tools, Design, File Management, AI, Media, Infrastructure, Frontend, Project Management, Security, Other

- Video Analysis: Analyze video files to extract detailed stream information, codecs, bitrates, and more
- Media Packaging: Convert videos for streaming in HLS and DASH formats with support for VOD and live streaming
- Advanced Options:
- Apply DRM encryption (Widevine, PlayReady, FairPlay)
- Configure ad insertion markers
- Convert between formats (MP4, TS, etc.)
- Intelligent Path Handling: Automatically translates paths between Docker and host environments
- Robust Error Management: Provides meaningful error analysis with suggestions for resolution
- Command Assistance: Helps correctly format Shaka Packager commands for optimal results
- Interactive Documentation: Built-in help and examples to guide users through complex operations
- Detailed Outputs: Comprehensive summaries and execution details for all operations

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Shaka Packager
    Command (node, npx, python, etc.) /Users/username/.local/bin/uv
    Arguments
    • Argument 1 run
    • Argument 2 --with
    • Argument 3 mcp[cli]
    • Argument 4 /Users/username/Development/shaka-packager-mcp/shaka_packager_mcp.py
    Environment
    • VIDEO_PATH /Users/username/Videos
    • SHAKA_PACKAGER_PATH /Users/username/.shaka/packager

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Locate your Claude Desktop configuration file:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json

If the file doesn't exist, create it.

Add the following configuration, making sure to use absolute paths:

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

analyze_video

Examines a video file and provides detailed stream information with intelligent error handling.

run_shaka_packager

Executes any Shaka Packager command with custom arguments and proper path handling.

get_shaka_options

Retrieves available command options and version information.

get_shaka_documentation

Provides comprehensive documentation and examples for using Shaka Packager.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "shaka packager": {
            "env": {
                "VIDEO_PATH": "/Users/username/Videos",
                "SHAKA_PACKAGER_PATH": "/Users/username/.shaka/packager"
            },
            "args": [
                "run",
                "--with",
                "mcp[cli]",
                "/Users/username/Development/shaka-packager-mcp/shaka_packager_mcp.py"
            ],
            "command": "/Users/username/.local/bin/uv"
        }
    }
}

Linux

{
    "env": {
        "VIDEO_PATH": "/PATH/TO/VIDEOS/DIRECTORY",
        "SHAKA_PACKAGER_PATH": "/PATH/TO/PACKAGER"
    },
    "args": [
        "run",
        "--with",
        "mcp[cli]",
        "/ABSOLUTE/PATH/TO/shaka_packager_mcp.py"
    ],
    "command": "/ABSOLUTE/PATH/TO/uv"
}

Macos

{
    "env": {
        "VIDEO_PATH": "/Users/username/Videos",
        "SHAKA_PACKAGER_PATH": "/Users/username/.shaka/packager"
    },
    "args": [
        "run",
        "--with",
        "mcp[cli]",
        "/Users/username/Development/shaka-packager-mcp/shaka_packager_mcp.py"
    ],
    "command": "/Users/username/.local/bin/uv"
}

Windows

{
    "env": {
        "VIDEO_PATH": "/PATH/TO/VIDEOS/DIRECTORY",
        "SHAKA_PACKAGER_PATH": "/PATH/TO/PACKAGER"
    },
    "args": [
        "run",
        "--with",
        "mcp[cli]",
        "/ABSOLUTE/PATH/TO/shaka_packager_mcp.py"
    ],
    "command": "/ABSOLUTE/PATH/TO/uv"
}

Shaka Packager MCP Server

License: MIT
Python Version
Status: Alpha

> ⚠️ EXPERIMENTAL STATUS DISCLAIMER
>
> This project is in early alpha stage and is highly experimental. It is not recommended for production use. It is also likely MESSY!
>
> Current limitations:
> - You may run into inconsistent behavior
> - Advanced features (packaging, conversion, etc.) are still under active development
> - Path translation between Docker and host environments may require manual configuration
> - Expect frequent breaking changes and potential instability
>
> Please report any issues you encounter to help improve the project.

<a href="https://glama.ai/mcp/servers/@coderjun/shaka-packager-mcp-server">
Shaka Packager Server MCP server
</a>

MseeP.ai Security Assessment Badge
Verified on MseeP

An MCP (Model Context Protocol) server that integrates Shaka Packager with Claude AI applications for video transcoding, packaging, and analysis.

This server works with the Filesystem MCP Server to enable Claude Desktop to access and process video files on your computer, turning Claude into a powerful assistant for media processing tasks.

Features

- Video Analysis: Analyze video files to extract detailed stream information, codecs, bitrates, and more
- Media Packaging: Convert videos for streaming in HLS and DASH formats with support for VOD and live streaming
- Advanced Options:
- Apply DRM encryption (Widevine, PlayReady, FairPlay)
- Configure ad insertion markers
- Convert between formats (MP4, TS, etc.)
- Intelligent Path Handling: Automatically translates paths between Docker and host environments
- Robust Error Management: Provides meaningful error analysis with suggestions for resolution
- Command Assistance: Helps correctly format Shaka Packager commands for optimal results
- Interactive Documentation: Built-in help and examples to guide users through complex operations
- Detailed Outputs: Comprehensive summaries and execution details for all operations

Prerequisites

- Python 3.10 or higher
- Shaka Packager installed and available in your PATH
- Download from GitHub
- Or build from source following these instructions
- An MCP-compatible client (like Claude Desktop)

Installation

Using pip or uv (coming soon)

Install the package with pip:

pip install shaka-packager-mcp

Or with uv:

uv pip install shaka-packager-mcp

From source (recommended)

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

Or with uv:

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

Claude Desktop Integration

Since Claude Desktop doesn't directly support uploading video files, we'll use a two-server approach:
1. A simplified filesystem MCP server to access video files on your computer
2. The Shaka Packager MCP server to analyze and process those videos

Step 1: Set Up the MCP Filesystem Server

Use the official MCP filesystem server to allow Claude to access your video files:

1. Install the official filesystem server with Docker:

   docker pull mcp/filesystem

2. Alternatively, you can build it from source following the instructions in the Filesystem MCP Server repository

Step 2: Find the Configuration File

Locate your Claude Desktop configuration file:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json

If the file doesn't exist, create it.

Step 3: Add Both Servers to the Configuration

Add the following configuration, making sure to use absolute paths:

{
  "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"
      }
    }
  }
}
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.