Shaka Packager
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Shaka PackagerCommand (node, npx, python, etc.)/Users/username/.local/bin/uvArguments-
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.
-
Argument 1
- 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
> ⚠️ 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">
</a>
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"
}
}
}
}
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.






