YouTube MCP Server
Read-only YouTube lookups: videos, channels, playlists and transcripts via the Data API
Run Mux Video and Mux Data tasks by having an agent write and execute code against the Mux SDK
Official · Mux TypeScript Remote (hosted) · Streamable HTTPLocal · stdio MediaData and analytics
62 popularity score ★ 182 ↓ 2.5k/wk
Opens the app, which asks before it adds the server.
https://mcp.mux.comclaude mcp add --transport http mux https://mcp.mux.comhttps://mcp.mux.com{
"mcpServers": {
"mux": {
"url": "https://mcp.mux.com"
}
}
}{
"servers": {
"mux": {
"type": "http",
"url": "https://mcp.mux.com"
}
}
}Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs MUX_TOKEN_ID, MUX_TOKEN_SECRET. Replace each <NAME> with your value.
claude mcp add mux -e MUX_TOKEN_ID=<MUX_TOKEN_ID> -e MUX_TOKEN_SECRET=<MUX_TOKEN_SECRET> -- npx -y -p @mux/mcp mcp-server{
"mcpServers": {
"mux": {
"command": "npx",
"args": [
"-y",
"-p",
"@mux/mcp",
"mcp-server"
],
"env": {
"MUX_TOKEN_ID": "<MUX_TOKEN_ID>",
"MUX_TOKEN_SECRET": "<MUX_TOKEN_SECRET>"
}
}
}
}{
"mcpServers": {
"mux": {
"command": "npx",
"args": [
"-y",
"-p",
"@mux/mcp",
"mcp-server"
],
"env": {
"MUX_TOKEN_ID": "<MUX_TOKEN_ID>",
"MUX_TOKEN_SECRET": "<MUX_TOKEN_SECRET>"
}
}
}
}{
"servers": {
"mux": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"-p",
"@mux/mcp",
"mcp-server"
],
"env": {
"MUX_TOKEN_ID": "<MUX_TOKEN_ID>",
"MUX_TOKEN_SECRET": "<MUX_TOKEN_SECRET>"
}
}
}
}[mcp_servers.mux]
command = "npx"
args = ["-y", "-p", "@mux/mcp", "mcp-server"]
[mcp_servers.mux.env]
MUX_TOKEN_ID = "<MUX_TOKEN_ID>"
MUX_TOKEN_SECRET = "<MUX_TOKEN_SECRET>"gemini mcp add --scope user -e MUX_TOKEN_ID=<MUX_TOKEN_ID> -e MUX_TOKEN_SECRET=<MUX_TOKEN_SECRET> mux npx -- -y -p @mux/mcp mcp-serverMUX_TOKEN_ID |
Required: ID of a Mux access token; with MUX_TOKEN_SECRET it decides the environment and permissions. MUX_AUTHORIZATION_TOKEN is the alternative. |
|---|---|
MUX_TOKEN_SECRET |
Required: Secret of the same Mux access token. |
MUX_AUTHORIZATION_TOKEN |
Optional: Bearer authorization token, an alternative to the token ID and secret. |
MUX_WEBHOOK_SECRET |
Optional: Secret used when verifying webhook payloads. |
MUX_SIGNING_KEY |
Optional: Signing key ID for creating signed playback JWTs. |
MUX_PRIVATE_KEY |
Optional: Private key for creating signed playback JWTs. |
MUX_BASE_URL |
Optional: Overrides the Mux API base URL. |
DENO_PATH |
Optional: Path to a Deno 2.9+ executable when the bundled optional Deno cannot install. |
MCP_SERVER_CODE_EXECUTION_MODE |
Optional: local (default, Deno sandbox) or remote (sends code to a sandbox service). |
CODE_SANDBOX_URL |
Optional: URL of the sandbox service; needed in remote execution mode. |
CODE_SANDBOX_API_KEY |
Optional: Bearer key for the sandbox service; needed in remote execution mode. |
Mux's own MCP server gives an assistant access to a Mux account: video assets, direct uploads, playback IDs, subtitle and audio tracks, live streams, Mux Data metrics and views, Mux Robots jobs, signing keys and webhook verification. Instead of one tool per API endpoint it offers just two. search_docs looks up the Mux API and SDK reference, and execute takes a TypeScript snippet written against the @mux/ts SDK, runs it in a sandbox and returns whatever the snippet returns or prints. Because the snippet can call any SDK method, the whole Mux API is reachable through that one tool.
There are two ways to use it. Mux hosts it at https://mcp.mux.com, where clients sign in with OAuth through the Mux dashboard and pick an environment, or send an access token as Basic credentials; there each execute call runs in a Mux-owned sandbox whose network is limited to Mux API hosts. Or you run the npm package @mux/mcp yourself over stdio (or Streamable HTTP with --transport=http, port 3000 by default), passing an access token's ID and secret as environment variables. Run locally, snippets execute in a Deno sandbox on your machine with no file system access, or in a remote sandbox service you name with --code-execution-mode=remote.
The local server can be narrowed: --tools and --no-tools pick between the code and docs tools, and --code-allowed-methods, --code-blocked-methods and --code-allow-http-gets limit which SDK methods a snippet may call. If none of the allow flags is set, every method is allowed (options.ts). The method block is a plain text match on the snippet, and the source itself warns it can be evaded by obfuscated code, so real limits belong on the access token (code-tool.ts).
| To run it yourself | Node.js |
|---|
A Mux account. For the hosted endpoint, a client that supports remote MCP servers; OAuth sign-in through dashboard.mux.com, or a Mux access token sent as Basic credentials. For a local install, Node.js with npx and a Mux access token (MUX_TOKEN_ID and MUX_TOKEN_SECRET, made under Settings > Access Tokens). Local execution uses Deno, fetched through an optional npm dependency; where that cannot install (npm install --omit=optional, Alpine, blocked downloads) set DENO_PATH to Deno 2.9 or newer.
Its scope is set by the Mux token or OAuth grant, and Mux's docs say it does not treat destructive operations specially; a Read-only token stops changes. Locally, method blocking is a text match its own source says is not a security boundary. Remote sandbox calls time out after 300 seconds. Over HTTP, callers can override credentials and code permissions via x-stainless-mcp-client-* headers unless started with --no-client-header-overrides. The .mcpb bundle lacks Deno. The package has two programs (mcp-server, mcp-code-runner), so the docs' npx -y @mux/mcp may not pick one; name mcp-server.
Suits developers who build on Mux and want an assistant to inspect assets, set up uploads or live streams, run Robots jobs, or pull Mux Data numbers without writing scripts by hand. The hosted endpoint is the easy start for clients with OAuth and keeps code execution on Mux's side. Pick a local install when your client lacks remote MCP support, when you want to restrict which SDK methods run, or when you prefer a read-only token kept on your own machine. It is of no use without a Mux account, and since the agent writes code that can create and delete resources, a read-only token is the safer choice for exploring.
search_docsexecute