An MCP (Model Context Protocol) server that provides tools for analyzing and processing multimedia content using GPAC.
You can build the MCP server either using Docker or manually with Node.js.
Build the Docker image from the project root:
cd /path/to/gpac_public
docker build -t gpac-mcp-server -f share/mcp/Dockerfile share/mcpThe Docker image includes both the MCP server and GPAC binaries (MP4Box).
Prerequisites:
- Node.js (v20 or higher)
- GPAC installed and available in your PATH (MP4Box command)
Build steps:
- Install dependencies:
cd share/mcp
npm install- Build the TypeScript code:
npm run buildThis will compile the TypeScript files to the dist/ directory.
Add this configuration to your VS Code settings. For workspace-specific settings, add to .vscode/mcp.json:
{
"github.copilot.chat.mcp": {
"servers": {
"gpac-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${workspaceFolder}:${workspaceFolder}",
"gpac-mcp-server"
]
}
}
}
}{
"github.copilot.chat.mcp": {
"servers": {
"gpac-mcp-server": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/share/mcp/dist/index.js"],
"dev": {
"watch": "${workspaceFolder}/share/mcp/dist/index.js",
"debug": { "type": "node" }
}
}
}
}
}Once configured, the MCP server provides tools for:
- Analyzing ISOBMFF (MP4/MOV) file structures
- Inspecting media files for errors and format details
- Processing multimedia content with GPAC
Refer to the tool descriptions in your LLM client for specific capabilities and usage.