Skip to main content
Glama

mux-mcp

License: MIT Python MCP

MCP server for Mux, the video infrastructure platform. 5 tools for fetching assets, clipping videos into shorts, monitoring live streams, pulling viewer analytics, and triggering auto-captions. Built for AI agents working with video content.

As of May 2026, Mux has an official Node SDK MCP and there are a few small community attempts, but no production-ready Python MCP server lives at this address. This is the community-built rail to fill that gap on the Python side.

The 5 tools

Tool

Purpose

get_asset

Fetch a video asset's metadata, duration, status, and playback URLs

create_clip

Clip a long video at start and end timestamps to make a short

list_live_streams

List live streams with their current state (active, idle, disconnected)

get_video_metrics

Pull engagement and quality metrics from Mux Data (views, error rate, rebuffer percentage)

trigger_transcription

Generate auto-captions for a video asset in a target language

Install

pip install mux-mcp

Configure

export MUX_TOKEN_ID="your-mux-token-id"
export MUX_TOKEN_SECRET="your-mux-token-secret"

Get a Mux Token ID + Secret at dashboard.mux.com. Tokens scope to Video, Data, or both. The MCP server uses HTTP Basic Auth: it base64-encodes MUX_TOKEN_ID:MUX_TOKEN_SECRET and sends it as the Authorization header on every request.

Use with Claude Desktop

{
  "mcpServers": {
    "mux": {
      "command": "mux-mcp",
      "env": {
        "MUX_TOKEN_ID": "your-mux-token-id",
        "MUX_TOKEN_SECRET": "your-mux-token-secret"
      }
    }
  }
}

Restart Claude Desktop. The 5 Mux tools are now available.

Use case: AI video editor + analytics assistant

Typical agent flow:

  1. Call get_asset(asset_id) to pull a long-form video's metadata + duration

  2. Call create_clip(source_asset_id, start_time, end_time) to cut a short from the source at specific timestamps

  3. Call trigger_transcription(asset_id, language_code) to auto-generate captions on the new clip

  4. For live operations: list_live_streams(status="active") to find active broadcasts

  5. For analytics: get_video_metrics(metric_id="video_views", video_id=...) to pull engagement on a specific video

Architecture

  • Public MIT-licensed wrapper around the Mux REST API

  • Async HTTP via httpx

  • pydantic v2 input validation

  • HTTP Basic Auth (base64-encoded token ID + secret), server-side only

  • Separates Mux Video endpoints (assets, live streams, tracks) from Mux Data endpoints (metrics)

  • Rate-limit aware (429 returns a clean error, agent retries upstream)

Security note

Mux API endpoints do not support CORS. Requests must run server-side. This MCP keeps the token secret vaulted in environment variables and never exposes them to client code or agent context.

Development

git clone https://github.com/NoBanks/mux-mcp.git
cd mux-mcp
pip install -e ".[dev]"
pytest

License

MIT. See LICENSE.

Author

Ryan Hammer (NoBanks). Solo founder + engineer. Built this and 7 other MCP servers as part of a sprint to expose AI agent rails for the products and platforms shipping daily.

Open to AI engineering roles, contract or full-time, remote-only.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NoBanks/mux-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server