Mux MCP server
{
"mcpServers": {
"mux": {
"command": "npx",
"args": [
"-y",
"@mux/mcp@latest"
],
"env": {
"MUX_TOKEN_ID": "<mux_token_id>",
"MUX_TOKEN_SECRET": "<mux_token_secret>",
"MUX_SIGNING_KEY": "<mux_signing_key>",
"MUX_PRIVATE_KEY": "<mux_private_key>",
"MUX_WEBHOOK_SECRET": "<mux_webhook_secret>",
"WEBHOOK_SECRET": "<webhook_secret>"
}
}
}
}{
"mcpServers": {
"mux": {
"command": "npx",
"args": [
"-y",
"@mux/mcp@latest"
],
"env": {
"MUX_TOKEN_ID": "<mux_token_id>",
"MUX_TOKEN_SECRET": "<mux_token_secret>",
"MUX_SIGNING_KEY": "<mux_signing_key>",
"MUX_PRIVATE_KEY": "<mux_private_key>",
"MUX_WEBHOOK_SECRET": "<mux_webhook_secret>",
"WEBHOOK_SECRET": "<webhook_secret>"
}
}
}
}{
"mcpServers": {
"mux": {
"command": "npx",
"args": [
"-y",
"@mux/mcp@latest"
],
"env": {
"MUX_TOKEN_ID": "<mux_token_id>",
"MUX_TOKEN_SECRET": "<mux_token_secret>",
"MUX_SIGNING_KEY": "<mux_signing_key>",
"MUX_PRIVATE_KEY": "<mux_private_key>",
"MUX_WEBHOOK_SECRET": "<mux_webhook_secret>",
"WEBHOOK_SECRET": "<webhook_secret>"
}
}
}
}{
"servers": {
"mux": {
"command": "npx",
"args": [
"-y",
"@mux/mcp@latest"
],
"env": {
"MUX_TOKEN_ID": "${input:mux_token_id}",
"MUX_TOKEN_SECRET": "${input:mux_token_secret}",
"MUX_SIGNING_KEY": "${input:mux_signing_key}",
"MUX_PRIVATE_KEY": "${input:mux_private_key}",
"MUX_WEBHOOK_SECRET": "${input:mux_webhook_secret}",
"WEBHOOK_SECRET": "${input:webhook_secret}"
}
}
},
"inputs": [
{
"id": "mux_token_id",
"type": "promptString",
"description": "Mux token id",
"password": true
},
{
"id": "mux_token_secret",
"type": "promptString",
"description": "Mux token secret",
"password": true
},
{
"id": "mux_signing_key",
"type": "promptString",
"description": "Mux signing key",
"password": true
},
{
"id": "mux_private_key",
"type": "promptString",
"description": "Mux private key",
"password": true
},
{
"id": "mux_webhook_secret",
"type": "promptString",
"description": "Mux webhook secret",
"password": true
},
{
"id": "webhook_secret",
"type": "promptString",
"description": "Webhook secret",
"password": true
}
]
}{
"mcpServers": {
"mux": {
"command": "npx",
"args": [
"-y",
"@mux/mcp@latest"
],
"env": {
"MUX_TOKEN_ID": "<mux_token_id>",
"MUX_TOKEN_SECRET": "<mux_token_secret>",
"MUX_SIGNING_KEY": "<mux_signing_key>",
"MUX_PRIVATE_KEY": "<mux_private_key>",
"MUX_WEBHOOK_SECRET": "<mux_webhook_secret>",
"WEBHOOK_SECRET": "<webhook_secret>"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y @mux/mcpversion 12.8.0
What it does
This MCP server exposes the Mux video API, allowing AI assistants to interact with Mux's video hosting and streaming services. It enables exploration of API endpoints, test requests, and integration assistance for developers building video applications.
- Create and manage video assets by uploading or linking video files to Mux.
- Generate signed JWT tokens for secure playback of videos, thumbnails, GIFs, and storyboards.
- Query video metadata and playback information through the Mux REST API.
Tools this server exposes
| Tool | Does |
|---|---|
| video_assets_create | Create a video asset by specifying input URLs and playback policies. |
| jwt_signPlaybackId | Generate a signed JWT token for a playback ID to enable secure video playback. |
| jwt_signViewerCounts | Generate a signed JWT token for accessing Mux Engagement Counts API. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.