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

Related MCP server: Botverse

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.

Related MCP Connectors

Related MCP Servers