# com.mux/mcp (npm · @mux/mcp)

The official MCP Server for the Mux API

- Trust score: 62/100 (medium)
- Change this week: +22
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.mux.com`: 63/100, [markdown](https://verifymcp.io/servers/com-mux-mcp/mcp.md), [page](https://verifymcp.io/servers/com-mux-mcp/mcp)
- npm · `@mux/mcp`: 62/100 (this document), [markdown](https://verifymcp.io/servers/com-mux-mcp/mux-mcp.md), [page](https://verifymcp.io/servers/com-mux-mcp/mux-mcp)

## Channel facts

- Registry: `npm`
- Package: `@mux/mcp`
- Version: `12.8.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 88/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (141 of 143), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (141 of 143), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 66 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 43/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 47756 tokens (~487/item across 98 items; 98 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 92/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 76% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add com-mux-mcp -- npx -y @mux/mcp
```

### Codex

```bash
codex mcp add com-mux-mcp -- npx -y @mux/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mux-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@mux/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-mux-mcp --command npx --arg -y --arg @mux/mcp
```

### Hermes

```yaml
mcp_servers:
  com-mux-mcp:
    command: "npx"
    args: ["-y", "@mux/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "com-mux-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mux/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 62, +57)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Schema quality: unverified → good
- [functional improvement] License: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 5, −17)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 22, −2)

- [security regression] Malware scan: pass → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-30 (score 24, −16)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 40)

First indexed and scored.

## MCP tools (98)

### `create_video_assets` (~1228 tokens)

Create a new Mux Video asset.

Input parameters:

- `advanced_playback_policies` (array): An array of playback policy objects that you want applied to this asset and available through `playback_ids`. `advanced_playback_policies` must be used instead of `playback_policies` when creating a…
- `copy_overlays` (boolean): If the created asset is a clip, this controls whether overlays are copied from the source asset.
- `encoding_tier` (string): This field is deprecated. Please use `video_quality` instead. The encoding tier informs the cost, quality, and available platform features for the asset. The default encoding tier for an account can…
- `input` (array): Deprecated. Use `inputs` instead, which accepts an identical type.
- `inputs` (array, required): An array of objects that each describe an input file to be used to create the asset. As a shortcut, input can also be a string URL for a file when only one input file is used. See `input[].url` for r…
- `master_access` (string): Specify what level (if any) of support for master access. Master access can be enabled temporarily for your asset to be downloaded. See the [Download your videos guide](https://docs.mux.com/guides/en…
- `max_resolution_tier` (string): Max resolution tier can be used to control the maximum `resolution_tier` your asset is encoded, stored, and streamed at. If not set, this defaults to `1080p`.
- `meta` (object): Customer provided metadata about this asset. Note: This metadata may be publicly available via the video player. Do not include PII or sensitive information.
- `mp4_support` (string): Deprecated. See the [Static Renditions API](https://www.mux.com/docs/guides/enable-static-mp4-renditions) for the updated API. Specify what level of support for mp4 playback. You may not enable both…
- `normalize_audio` (boolean): Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.
- `passthrough` (string): You can set this field to anything you want. It will be included in the asset details and related webhooks. If you're looking for more structured metadata, such as `title` or `external_id`, you can u…
- `per_title_encode` (boolean)
- `playback_policies` (array): An array of playback policy names that you want applied to this asset and available through `playback_ids`. Options include: * `"public"` (anyone with the playback URL can stream the asset). * `"sig…
- `playback_policy` (array): Deprecated. Use `playback_policies` instead, which accepts an identical type.
- `static_renditions` (array): An array of static renditions to create for this asset. You may not enable both `static_renditions` and `mp4_support (the latter being deprecated)`
- `test` (boolean): Marks the asset as a test asset when the value is set to true. A Test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test a…
- `video_quality` (string): The video quality controls the cost, quality, and available platform features for the asset. The default video quality for an account can be set in the Mux Dashboard. This field replaces the deprecat…

### `retrieve_video_assets` (~63 tokens)

Retrieves the details of an asset that has previously been created. Supply the unique asset ID that was returned from your previous request, and Mux will return the corresponding asset information. The same information is returned when creating an asset.

Input parameters:

- `ASSET_ID` (string, required)

### `update_video_assets` (~165 tokens)

Updates the details of an already-created Asset with the provided Asset ID. This currently supports only the `passthrough` field.

Input parameters:

- `ASSET_ID` (string, required)
- `meta` (object): Customer provided metadata about this asset. Note: This metadata may be publicly available via the video player. Do not include PII or sensitive information.
- `passthrough` (string): You can set this field to anything you want. It will be included in the asset details and related webhooks. If you're looking for more structured metadata, such as `title` or `external_id` , you can…

### `list_video_assets` (~125 tokens)

List all Mux assets.

Input parameters:

- `cursor` (string): This parameter is used to request pages beyond the first. You can find the cursor value in the `next_cursor` field of paginated responses.
- `limit` (integer): Number of items to include in the response
- `live_stream_id` (string): Filter response to return all the assets for this live stream only
- `page` (integer): Offset by this many pages, of the size of `limit`
- `upload_id` (string): Filter response to return an asset created from this direct upload only

### `create_playback_id_video_assets` (~523 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Creates a playback ID that can be used to stream the asset to a viewer.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/playback_id'
    }
  },
  required: [    'data'
  ],
  $defs: {
    playback_id: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the PlaybackID'
        },
        policy: {
          $ref: '#/$defs/playback_policy'
        },
        drm_configuration_id: {
          type: 'string',
          description: 'The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.'
        }
      },
      required: [        'id',
        'policy'
      ]
    },
    playback_policy: {
      type: 'string',
      description: '* `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}`\n\n* `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens.\n\n* `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).',
      enum: [        'public',
        'signed',
        'drm'
      ]
    }
  }
}
\```

Input parameters:

- `ASSET_ID` (string, required)
- `drm_configuration_id` (string): The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `policy`

### `create_static_rendition_video_assets` (~1028 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Creates a static rendition (i.e. MP4) for an asset

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'The ID of this static rendition, used in managing this static rendition. This field is only valid for `static_renditions`, not for `mp4_support`.'
        },
        bitrate: {
          type: 'integer',
          description: 'The bitrate in bits per second'
        },
        ext: {
          type: 'string',
          description: 'Extension of the static rendition file',
          enum: [            'mp4',
            'm4a'
          ]
        },
        filesize: {
          type: 'string',
          description: 'The file size in bytes'
        },
        height: {
          type: 'integer',
          description: 'The height of the static rendition\'s file in pixels'
        },
        name: {
          type: 'string',
          description: 'Name of the static rendition file',
          enum: [            'low.mp4',
            'medium.mp4',
            'high.mp4',
            'highest.mp4',
            'audio.m4a',
            'capped-1080p.mp4',
            '2160p.mp4',
            '1440p.mp4',
            '1080p.mp4',
            '720p.mp4',
            '540p.mp4',
            '480p.mp4',
            '360p.mp4',
            '270p.mp4'
          ]
        },
        passthrough: {
          type: 'string',
          description: 'Arbitrary user-supplied metadata set for the static rendition. Max 255 characters.'
        },
        resolution: {
          type: 'string',
          description: 'Indicates the resolution of this specific MP4 version of this asset. This field is only valid for `static_renditions`, not for `mp4_support`.',
          enum: [            'hig…

Input parameters:

- `ASSET_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `passthrough` (string): Arbitrary user-supplied metadata set for the static rendition. Max 255 characters.
- `resolution` (string, required)

### `create_track_video_assets` (~1663 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Adds an asset track (for example, subtitles, or an alternate audio track) to an asset. Assets must be in the `ready` state before tracks can be added.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/track'
    }
  },
  required: [    'data'
  ],
  $defs: {
    track: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Track'
        },
        closed_captions: {
          type: 'boolean',
          description: 'Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH). This parameter is only set tracks where `type` is `text` and `text_type` is `subtitles`.'
        },
        duration: {
          type: 'number',
          description: 'The duration in seconds of the track media. This parameter is not set for `text` type tracks. This field is optional and may not be set. The top level `duration` field of an asset will always be set.'
        },
        language_code: {
          type: 'string',
          description: 'The language code value represents [BCP 47](https://tools.ietf.org/html/bcp47) specification compliant value. For example, `en` for English or `en-US` for the US version of English. This parameter is only set for `text` and `audio` track types.'
        },
        max_channel_layout: {
          type: 'string',
          description: 'Only set for the `audio` type track.'
        },
        max_channels: {
          type: 'integer',
          description: 'The maximum number of audio channels the track supports. Only set for the `audio` type track.'
        },
        max_frame_rate: {
          type: 'number',
          description: 'The maximum frame rate available for the track. Only set for the `video` type track. This field may return `-1…

Input parameters:

- `ASSET_ID` (string, required)
- `closed_captions` (boolean): Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH).
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `language_code` (string, required): The language code value must be a valid BCP 47 specification compliant value. For example, en for English or en-US for the US version of English.
- `name` (string): The name of the track containing a human-readable description. This value must be unique within each group of `text` or `audio` track types. The HLS manifest will associate the `text` or `audio` trac…
- `passthrough` (string): Arbitrary user-supplied metadata set for the track either when creating the asset or track.
- `text_type` (string)
- `type` (string, required)
- `url` (string, required): The URL of the file that Mux should download and use. * For `audio` tracks, the URL is the location of the audio file for Mux to download, for example an M4A, WAV, or MP3 file. Mux supports most audi…

### `delete_playback_id_video_assets` (~85 tokens)

Deletes a playback ID, rendering it nonfunctional for viewing an asset's video content. Please note that deleting the playback ID removes access to the underlying asset; a viewer who started playback before the playback ID was deleted may be able to watch the entire video for a limited duration.

Input parameters:

- `ASSET_ID` (string, required)
- `PLAYBACK_ID` (string, required)

### `delete_static_rendition_video_assets` (~42 tokens)

Deletes a single static rendition for an asset

Input parameters:

- `ASSET_ID` (string, required)
- `STATIC_RENDITION_ID` (string, required)

### `delete_track_video_assets` (~49 tokens)

Removes a text or additional audio track from an asset. Neither video nor the primary audio track can be removed.

Input parameters:

- `ASSET_ID` (string, required)
- `TRACK_ID` (string, required)

### `generate_subtitles_video_assets` (~1325 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Generates subtitles (captions) for a given audio track. This API can be used for up to 7 days after an asset is created.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/track'
      }
    }
  },
  required: [    'data'
  ],
  $defs: {
    track: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Track'
        },
        closed_captions: {
          type: 'boolean',
          description: 'Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH). This parameter is only set tracks where `type` is `text` and `text_type` is `subtitles`.'
        },
        duration: {
          type: 'number',
          description: 'The duration in seconds of the track media. This parameter is not set for `text` type tracks. This field is optional and may not be set. The top level `duration` field of an asset will always be set.'
        },
        language_code: {
          type: 'string',
          description: 'The language code value represents [BCP 47](https://tools.ietf.org/html/bcp47) specification compliant value. For example, `en` for English or `en-US` for the US version of English. This parameter is only set for `text` and `audio` track types.'
        },
        max_channel_layout: {
          type: 'string',
          description: 'Only set for the `audio` type track.'
        },
        max_channels: {
          type: 'integer',
          description: 'The maximum number of audio channels the track supports. Only set for the `audio` type track.'
        },
        max_frame_rate: {
          type: 'number',
          description: 'The maximum frame rate available for the track. Only set for the `video` type track. This fiel…

Input parameters:

- `ASSET_ID` (string, required)
- `TRACK_ID` (string, required)
- `generated_subtitles` (array, required): Generate subtitle tracks using automatic speech recognition with this configuration.
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `retrieve_input_info_video_assets` (~45 tokens)

Returns a list of the input objects that were used to create the asset along with any settings that were applied to each input.

Input parameters:

- `ASSET_ID` (string, required)

### `retrieve_playback_id_video_assets` (~488 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieves information about the specified playback ID.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/playback_id'
    }
  },
  required: [    'data'
  ],
  $defs: {
    playback_id: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the PlaybackID'
        },
        policy: {
          $ref: '#/$defs/playback_policy'
        },
        drm_configuration_id: {
          type: 'string',
          description: 'The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.'
        }
      },
      required: [        'id',
        'policy'
      ]
    },
    playback_policy: {
      type: 'string',
      description: '* `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}`\n\n* `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens.\n\n* `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).',
      enum: [        'public',
        'signed',
        'drm'
      ]
    }
  }
}
\```

Input parameters:

- `ASSET_ID` (string, required)
- `PLAYBACK_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `update_master_access_video_assets` (~120 tokens)

Allows you to add temporary access to the master (highest-quality) version of the asset in MP4 format. A URL will be created that can be used to download the master version for 24 hours. After 24 hours Master Access will revert to "none".
This master version is not optimized for web and not meant to be streamed, only downloaded for purposes like archiving or editing the video offline.

Input parameters:

- `ASSET_ID` (string, required)
- `master_access` (string, required): Add or remove access to the master version of the video.

### `update_mp4_support_video_assets` (~418 tokens)

This method has been deprecated. Please see the [Static Rendition API](https://www.mux.com/docs/guides/enable-static-mp4-renditions#after-asset-creation).
Allows you to add or remove mp4 support for assets that were created without it. The values supported are `capped-1080p`, `audio-only`, `audio-only,capped-1080p`, `standard`(deprecated),  and `none`. `none` means that an asset *does not* have mp4 support, so submitting a request with `mp4_support` set to `none` will delete the mp4 assets from the asset in question.

Input parameters:

- `ASSET_ID` (string, required)
- `mp4_support` (string, required): Specify what level of support for mp4 playback. * The `capped-1080p` option produces a single MP4 file, called `capped-1080p.mp4`, with the video resolution capped at 1080p. This option produces an…

### `list_video_delivery_usage` (~1362 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of delivery usage records and their associated Asset IDs or Live Stream IDs.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/delivery_report'
      }
    },
    limit: {
      type: 'integer',
      description: 'Number of assets returned in this response. Default value is 100.'
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'limit',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    delivery_report: {
      type: 'object',
      properties: {
        asset_duration: {
          type: 'number',
          description: 'The duration of the asset in seconds.'
        },
        asset_encoding_tier: {
          type: 'string',
          description: 'This field is deprecated. Please use `asset_video_quality` instead. The encoding tier that the asset was ingested at. [See the video quality guide for more details.](https://docs.mux.com/guides/use-video-quality-levels)',
          enum: [            'smart',
            'baseline',
            'premium'
          ]
        },
        asset_id: {
          type: 'string',
          description: 'Unique identifier for the asset.'
        },
        asset_resolution_tier: {
          type: 'string',
          description: 'The resolution tier that the asset was ingested at, affecting billing for ingest & storage',
          enum: [            'audio-only',
            '720p',
            '1080p',
            '1440p',
            '2160p'
          ]
        },
        asset_state: {
          type: 'string',
          description: 'The state of the asset.',
          enum: [            'ready',
            'errored',…

Input parameters:

- `asset_id` (string): Filter response to return delivery usage for this asset only. You cannot specify both the `asset_id` and `live_stream_id` parameters together.
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `live_stream_id` (string): Filter response to return delivery usage for assets for this live stream. You cannot specify both the `asset_id` and `live_stream_id` parameters together.
- `page` (integer): Offset by this many pages, of the size of `limit`
- `timeframe` (array): Time window to get delivery usage information. timeframe[0] indicates the start time, timeframe[1] indicates the end time in seconds since the Unix epoch. Default time window is 1 hour representing u…

### `create_video_live_streams` (~1183 tokens)

Creates a new live stream. Once created, an encoder can connect to Mux via the specified stream key and begin streaming to an audience.

Input parameters:

- `advanced_playback_policies` (array): An array of playback policy objects that you want applied on this live stream and available through `playback_ids`. `advanced_playback_policies` must be used instead of `playback_policies` when creat…
- `audio_only` (boolean): Force the live stream to only process the audio track when the value is set to true. Mux drops the video track if broadcasted.
- `embedded_subtitles` (array): Describe the embedded closed caption contents of the incoming live stream.
- `generated_subtitles` (array): Configure the incoming live stream to include subtitles created with automatic speech recognition. Each Asset created from a live stream with `generated_subtitles` configured will automatically recei…
- `latency_mode` (string): Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this as an alternative to setting low latency or reduced latency flags.
- `low_latency` (boolean): This field is deprecated. Please use `latency_mode` instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Setting this option will enable co…
- `max_continuous_duration` (integer): The time in seconds a live stream may be continuously active before being disconnected. Defaults to 12 hours.
- `meta` (object): Customer provided metadata about this live stream. Note: This metadata may be publicly available via the video player. Do not include PII or sensitive information.
- `new_asset_settings`
- `passthrough` (string)
- `playback_policies` (array): An array of playback policy names that you want applied to this live stream and available through `playback_ids`. Options include: * `"public"` (anyone with the playback URL can stream the live stre…
- `playback_policy` (array): Deprecated. Use `playback_policies` instead, which accepts an identical type.
- `reconnect_slate_url` (string): The URL of the image file that Mux should download and use as slate media during interruptions of the live stream media. This file will be downloaded each time a new recorded asset is created from th…
- `reconnect_window` (number): When live streaming software disconnects from Mux, either intentionally or due to a drop in the network, the Reconnect Window is the time in seconds that Mux should wait for the streaming software to…
- `reduced_latency` (boolean): This field is deprecated. Please use `latency_mode` instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this if you want lower latency…
- `simulcast_targets` (array)
- `test` (boolean): Marks the live stream as a test live stream when the value is set to true. A test live stream can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test live…
- `use_slate_for_standard_latency` (boolean): By default, Standard Latency live streams do not have slate media inserted while waiting for live streaming software to reconnect to Mux. Setting this to true enables slate insertion on a Standard La…

### `retrieve_video_live_streams` (~69 tokens)

Retrieves the details of a live stream that has previously been created. Supply the unique live stream ID that was returned from your previous request, and Mux will return the corresponding live stream information. The same information is returned when creating a live stream.

Input parameters:

- `LIVE_STREAM_ID` (string, required)

### `update_video_live_streams` (~596 tokens)

Updates the parameters of a previously-created live stream. This currently supports a subset of variables. Supply the live stream ID and the updated parameters and Mux will return the corresponding live stream information. The information returned will be the same after update as for subsequent get live stream requests.

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `latency_mode` (string): Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this as an alternative to setting low latency or reduced latency flags.
- `max_continuous_duration` (integer): The time in seconds a live stream may be continuously active before being disconnected. Defaults to 12 hours.
- `meta` (object): Customer provided metadata about this live stream. Note: This metadata may be publicly available via the video player. Do not include PII or sensitive information.
- `new_asset_settings` (object): Updates the new asset settings to use to generate a new asset for this live stream. Only the `mp4_support`, `master_access`, and `video_quality` settings may be updated.
- `passthrough` (string): Arbitrary user-supplied metadata set for the live stream. Max 255 characters. In order to clear this value, the field should be included with an empty-string value.
- `reconnect_slate_url` (string): The URL of the image file that Mux should download and use as slate media during interruptions of the live stream media. This file will be downloaded each time a new recorded asset is created from th…
- `reconnect_window` (number): When live streaming software disconnects from Mux, either intentionally or due to a drop in the network, the Reconnect Window is the time in seconds that Mux should wait for the streaming software to…
- `use_slate_for_standard_latency` (boolean): By default, Standard Latency live streams do not have slate media inserted while waiting for live streaming software to reconnect to Mux. Setting this to true enables slate insertion on a Standard La…

### `list_video_live_streams` (~94 tokens)

Lists the live streams that currently exist in the current environment.

Input parameters:

- `limit` (integer): Number of items to include in the response
- `page` (integer): Offset by this many pages, of the size of `limit`
- `status` (string): Filter response to return live streams with the specified status only
- `stream_key` (string): Filter response to return live stream for this stream key only

### `complete_video_live_streams` (~130 tokens)

(Optional) End the live stream recording immediately instead of waiting for the reconnect_window. `EXT-X-ENDLIST` tag is added to the HLS manifest which notifies the player that this live stream is over.

Mux does not close the encoder connection immediately. Encoders are often configured to re-establish connections immediately which would result in a new recorded asset. For this reason, Mux waits for 60s before closing the connection with the encoder. This 60s timeframe is meant to give encoder operators a chance to disconnect from their end.

Input parameters:

- `LIVE_STREAM_ID` (string, required)

### `create_playback_id_video_live_streams` (~533 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Create a new playback ID for this live stream, through which a viewer can watch the streamed content of the live stream.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/playback_id'
    }
  },
  required: [    'data'
  ],
  $defs: {
    playback_id: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the PlaybackID'
        },
        policy: {
          $ref: '#/$defs/playback_policy'
        },
        drm_configuration_id: {
          type: 'string',
          description: 'The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.'
        }
      },
      required: [        'id',
        'policy'
      ]
    },
    playback_policy: {
      type: 'string',
      description: '* `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}`\n\n* `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens.\n\n* `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).',
      enum: [        'public',
        'signed',
        'drm'
      ]
    }
  }
}
\```

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `drm_configuration_id` (string): The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `policy`

### `create_simulcast_target_video_live_streams` (~1076 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Create a simulcast target for the parent live stream. Simulcast target can only be created when the parent live stream is in idle state. Only one simulcast target can be created at a time with this API.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/simulcast_target'
    }
  },
  required: [    'data'
  ],
  $defs: {
    simulcast_target: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'ID of the Simulcast Target'
        },
        status: {
          type: 'string',
          description: 'The current status of the simulcast target. See Statuses below for detailed description.\n  * `idle`: Default status. When the parent live stream is in disconnected status, simulcast targets will be idle state.\n  * `starting`: The simulcast target transitions into this state when the parent live stream transition into connected state.\n  * `broadcasting`: The simulcast target has successfully connected to the third party live streaming service and is pushing video to that service.\n  * `errored`: The simulcast target encountered an error either while attempting to connect to the third party live streaming service, or mid-broadcasting. When a simulcast target has this status it will have an `error_severity` field with more details about the error.',
          enum: [            'idle',
            'starting',
            'broadcasting',
            'errored'
          ]
        },
        url: {
          type: 'string',
          description: 'The RTMP(s) or SRT endpoint for a simulcast destination.\n* For RTMP(s) destinations, this should include the application name for the third party live streaming service, for example: `rtmp://live.example.com/app`.\n* For SRT destinations, this should be a fully formed S…

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `passthrough` (string): Arbitrary user-supplied metadata set by you when creating a simulcast target.
- `stream_key` (string): Stream Key represents a stream identifier on the third party live streaming service to send the parent live stream to. Only used for RTMP(s) simulcast destinations.
- `url` (string, required): The RTMP(s) or SRT endpoint for a simulcast destination. * For RTMP(s) destinations, this should include the application name for the third party live streaming service, for example: `rtmp://live.exa…

### `delete_new_asset_settings_static_renditions_video_live_streams` (~57 tokens)

Deletes a live stream's static renditions settings for new assets. Further assets made via this live stream will not create static renditions unless re-added.

Input parameters:

- `LIVE_STREAM_ID` (string, required)

### `delete_playback_id_video_live_streams` (~84 tokens)

Deletes the playback ID for the live stream. This will not disable ingest (as the live stream still exists). New attempts to play back the live stream will fail immediately. However, current viewers will be able to continue watching the stream for some period of time.

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `PLAYBACK_ID` (string, required)

### `delete_simulcast_target_video_live_streams` (~72 tokens)

Delete the simulcast target using the simulcast target ID returned when creating the simulcast target. Simulcast Target can only be deleted when the parent live stream is in idle state.

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `SIMULCAST_TARGET_ID` (string, required)

### `disable_video_live_streams` (~108 tokens)

Disables a live stream, making it reject incoming RTMP streams until re-enabled. The API also ends the live stream recording immediately when active. Ending the live stream recording adds the `EXT-X-ENDLIST` tag to the HLS manifest which notifies the player that this live stream is over.

Mux also closes the encoder connection immediately. Any attempt from the encoder to re-establish connection will fail till the live stream is re-enabled.

Input parameters:

- `LIVE_STREAM_ID` (string, required)

### `enable_video_live_streams` (~35 tokens)

Enables a live stream, allowing it to accept an incoming RTMP stream.

Input parameters:

- `LIVE_STREAM_ID` (string, required)

### `reset_stream_key_video_live_streams` (~53 tokens)

Reset a live stream key if you want to immediately stop the current stream key from working and create a new stream key that can be used for future broadcasts.

Input parameters:

- `LIVE_STREAM_ID` (string, required)

### `retrieve_playback_id_video_live_streams` (~506 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Fetches information about a live stream's playback ID, through which a viewer can watch the streamed content from this live stream.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/playback_id'
    }
  },
  required: [    'data'
  ],
  $defs: {
    playback_id: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the PlaybackID'
        },
        policy: {
          $ref: '#/$defs/playback_policy'
        },
        drm_configuration_id: {
          type: 'string',
          description: 'The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.'
        }
      },
      required: [        'id',
        'policy'
      ]
    },
    playback_policy: {
      type: 'string',
      description: '* `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}`\n\n* `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens.\n\n* `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).',
      enum: [        'public',
        'signed',
        'drm'
      ]
    }
  }
}
\```

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `PLAYBACK_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `retrieve_simulcast_target_video_live_streams` (~905 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieves the details of the simulcast target created for the parent live stream. Supply the unique live stream ID and simulcast target ID that was returned in the response of create simulcast target request, and Mux will return the corresponding information.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/simulcast_target'
    }
  },
  required: [    'data'
  ],
  $defs: {
    simulcast_target: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'ID of the Simulcast Target'
        },
        status: {
          type: 'string',
          description: 'The current status of the simulcast target. See Statuses below for detailed description.\n  * `idle`: Default status. When the parent live stream is in disconnected status, simulcast targets will be idle state.\n  * `starting`: The simulcast target transitions into this state when the parent live stream transition into connected state.\n  * `broadcasting`: The simulcast target has successfully connected to the third party live streaming service and is pushing video to that service.\n  * `errored`: The simulcast target encountered an error either while attempting to connect to the third party live streaming service, or mid-broadcasting. When a simulcast target has this status it will have an `error_severity` field with more details about the error.',
          enum: [            'idle',
            'starting',
            'broadcasting',
            'errored'
          ]
        },
        url: {
          type: 'string',
          description: 'The RTMP(s) or SRT endpoint for a simulcast destination.\n* For RTMP(s) destinations, this should include the application name for the third party live streaming service, for example: `rtmp://live.example.com/app`.…

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `SIMULCAST_TARGET_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `update_embedded_subtitles_video_live_streams` (~74 tokens)

Configures a live stream to receive embedded closed captions.
The resulting Asset's subtitle text track will have `closed_captions: true` set.

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `embedded_subtitles` (array): Describe the embedded closed caption contents of the incoming live stream.

### `update_generated_subtitles_video_live_streams` (~82 tokens)

Updates a live stream's automatic-speech-recognition-generated subtitle configuration.
Automatic speech recognition subtitles can be removed by sending an empty array in the
request payload.

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `generated_subtitles` (array): Update automated speech recognition subtitle configuration for a live stream. At most one subtitle track is allowed.

### `update_new_asset_settings_static_renditions_video_live_streams` (~76 tokens)

Updates a live stream's static renditions settings for new assets. Further assets made via this live stream will create static renditions per the settings provided. You must provide all static renditions desired.

Input parameters:

- `LIVE_STREAM_ID` (string, required)
- `static_renditions` (array, required)

### `retrieve_video_playback_ids` (~550 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieves the Identifier of the Asset or Live Stream associated with the Playback ID.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'The Playback ID used to retrieve the corresponding asset or the live stream ID'
        },
        object: {
          type: 'object',
          description: 'Describes the Asset or LiveStream object associated with the playback ID.',
          properties: {
            id: {
              type: 'string',
              description: 'The identifier of the object.'
            },
            type: {
              type: 'string',
              description: 'Identifies the object type associated with the playback ID.',
              enum: [                'asset',
                'live_stream'
              ]
            }
          },
          required: [            'id',
            'type'
          ]
        },
        policy: {
          $ref: '#/$defs/playback_policy'
        }
      },
      required: [        'id',
        'object',
        'policy'
      ]
    }
  },
  required: [    'data'
  ],
  $defs: {
    playback_policy: {
      type: 'string',
      description: '* `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}`\n\n* `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens.\n\n* `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).',
      enum: [        'public',
        'signed',
        'drm'
      ]
    }
  }
}
\```

Input parameters:

- `PLAYBACK_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `create_video_playback_restrictions` (~825 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Create a new Playback Restriction.

\# Response Schema
\```json
{
  $ref: '#/$defs/playback_restriction_response',
  $defs: {
    playback_restriction_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/playback_restriction'
        }
      },
      required: [        'data'
      ]
    },
    playback_restriction: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Playback Restriction. Max 255 characters.'
        },
        created_at: {
          type: 'string',
          description: 'Time the Playback Restriction was created, defined as a Unix timestamp (seconds since epoch).'
        },
        referrer: {
          type: 'object',
          description: 'A list of domains allowed to play your videos.',
          properties: {
            allow_no_referrer: {
              type: 'boolean',
              description: 'A boolean to determine whether to allow or deny HTTP requests without `Referer` HTTP request header. Playback requests coming from non-web/native applications like iOS, Android or smart TVs will not have a `Referer` HTTP header. Set this value to `true` to allow these playback requests.'
            },
            allowed_domains: {
              type: 'array',
              description: 'List of domains allowed to play videos. Possible values are\n  * `[]` Empty Array indicates deny video playback requests for all domains\n  * `["*"]` A Single Wildcard `*` entry means allow video playback requests from any domain\n  * `["*.example.com", "foo.com"]` A list of up to 10 domains or valid dns-style wildcards\n',
              items: {
                type: 'string'
              }
            }
          }
        },
        updated_at: {
          type: 'string',…

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `referrer` (object, required): A list of domains allowed to play your videos.
- `user_agent` (object, required): Rules that control what user agents are allowed to play your videos. Please see [Using User-Agent HTTP header for validation](https://docs.mux.com/guides/secure-video-playback#using-user-agent-http-h…

### `retrieve_video_playback_restrictions` (~765 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieves a Playback Restriction associated with the unique identifier.

\# Response Schema
\```json
{
  $ref: '#/$defs/playback_restriction_response',
  $defs: {
    playback_restriction_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/playback_restriction'
        }
      },
      required: [        'data'
      ]
    },
    playback_restriction: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Playback Restriction. Max 255 characters.'
        },
        created_at: {
          type: 'string',
          description: 'Time the Playback Restriction was created, defined as a Unix timestamp (seconds since epoch).'
        },
        referrer: {
          type: 'object',
          description: 'A list of domains allowed to play your videos.',
          properties: {
            allow_no_referrer: {
              type: 'boolean',
              description: 'A boolean to determine whether to allow or deny HTTP requests without `Referer` HTTP request header. Playback requests coming from non-web/native applications like iOS, Android or smart TVs will not have a `Referer` HTTP header. Set this value to `true` to allow these playback requests.'
            },
            allowed_domains: {
              type: 'array',
              description: 'List of domains allowed to play videos. Possible values are\n  * `[]` Empty Array indicates deny video playback requests for all domains\n  * `["*"]` A Single Wildcard `*` entry means allow video playback requests from any domain\n  * `["*.example.com", "foo.com"]` A list of up to 10 domains or valid dns-style wildcards\n',
              items: {
                type: 'string'
              }
            }
          }
        },
        update…

Input parameters:

- `PLAYBACK_RESTRICTION_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_video_playback_restrictions` (~770 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of all Playback Restrictions.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/playback_restriction'
      }
    }
  },
  required: [    'data'
  ],
  $defs: {
    playback_restriction: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Playback Restriction. Max 255 characters.'
        },
        created_at: {
          type: 'string',
          description: 'Time the Playback Restriction was created, defined as a Unix timestamp (seconds since epoch).'
        },
        referrer: {
          type: 'object',
          description: 'A list of domains allowed to play your videos.',
          properties: {
            allow_no_referrer: {
              type: 'boolean',
              description: 'A boolean to determine whether to allow or deny HTTP requests without `Referer` HTTP request header. Playback requests coming from non-web/native applications like iOS, Android or smart TVs will not have a `Referer` HTTP header. Set this value to `true` to allow these playback requests.'
            },
            allowed_domains: {
              type: 'array',
              description: 'List of domains allowed to play videos. Possible values are\n  * `[]` Empty Array indicates deny video playback requests for all domains\n  * `["*"]` A Single Wildcard `*` entry means allow video playback requests from any domain\n  * `["*.example.com", "foo.com"]` A list of up to 10 domains or valid dns-style wildcards\n',
              items: {
                type: 'string'
              }
            }
          }
        },
        updated_at: {
          type: 'string',
          description: 'Time the Playback Restriction was last updated, def…

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `page` (integer): Offset by this many pages, of the size of `limit`

### `delete_video_playback_restrictions` (~33 tokens)

Deletes a single Playback Restriction.

Input parameters:

- `PLAYBACK_RESTRICTION_ID` (string, required)

### `update_referrer_video_playback_restrictions` (~952 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Allows you to modify the list of domains or change how Mux validates playback requests without the `Referer` HTTP header. The Referrer restriction fully replaces the old list with this new list of domains.

\# Response Schema
\```json
{
  $ref: '#/$defs/playback_restriction_response',
  $defs: {
    playback_restriction_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/playback_restriction'
        }
      },
      required: [        'data'
      ]
    },
    playback_restriction: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Playback Restriction. Max 255 characters.'
        },
        created_at: {
          type: 'string',
          description: 'Time the Playback Restriction was created, defined as a Unix timestamp (seconds since epoch).'
        },
        referrer: {
          type: 'object',
          description: 'A list of domains allowed to play your videos.',
          properties: {
            allow_no_referrer: {
              type: 'boolean',
              description: 'A boolean to determine whether to allow or deny HTTP requests without `Referer` HTTP request header. Playback requests coming from non-web/native applications like iOS, Android or smart TVs will not have a `Referer` HTTP header. Set this value to `true` to allow these playback requests.'
            },
            allowed_domains: {
              type: 'array',
              description: 'List of domains allowed to play videos. Possible values are\n  * `[]` Empty Array indicates deny video playback requests for all domains\n  * `["*"]` A Single Wildcard `*` entry means allow video playback requests from any domain\n  * `["*.example.com", "foo.com"]` A list of up to 10 domains or valid dns-style w…

Input parameters:

- `PLAYBACK_RESTRICTION_ID` (string, required)
- `allow_no_referrer` (boolean): A boolean to determine whether to allow or deny HTTP requests without `Referer` HTTP request header. Playback requests coming from non-web/native applications like iOS, Android or smart TVs will not…
- `allowed_domains` (array, required): List of domains allowed to play videos. Possible values are   * `[]` Empty Array indicates deny video playback requests for all domains   * `["*"]` A Single Wildcard `*` entry means allow video playb…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `update_user_agent_video_playback_restrictions` (~869 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Allows you to modify how Mux validates playback requests with different user agents.  Please see [Using User-Agent HTTP header for validation](https://docs.mux.com/guides/secure-video-playback#using-user-agent-http-header-for-validation) for more details on this feature.

\# Response Schema
\```json
{
  $ref: '#/$defs/playback_restriction_response',
  $defs: {
    playback_restriction_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/playback_restriction'
        }
      },
      required: [        'data'
      ]
    },
    playback_restriction: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Playback Restriction. Max 255 characters.'
        },
        created_at: {
          type: 'string',
          description: 'Time the Playback Restriction was created, defined as a Unix timestamp (seconds since epoch).'
        },
        referrer: {
          type: 'object',
          description: 'A list of domains allowed to play your videos.',
          properties: {
            allow_no_referrer: {
              type: 'boolean',
              description: 'A boolean to determine whether to allow or deny HTTP requests without `Referer` HTTP request header. Playback requests coming from non-web/native applications like iOS, Android or smart TVs will not have a `Referer` HTTP header. Set this value to `true` to allow these playback requests.'
            },
            allowed_domains: {
              type: 'array',
              description: 'List of domains allowed to play videos. Possible values are\n  * `[]` Empty Array indicates deny video playback requests for all domains\n  * `["*"]` A Single Wildcard `*` entry means allow video playback requests from any domain\n  * `["*.example…

Input parameters:

- `PLAYBACK_RESTRICTION_ID` (string, required)
- `allow_high_risk_user_agent` (boolean, required): Whether or not to allow high risk user agents. The high risk user agents are defined by Mux.
- `allow_no_user_agent` (boolean, required): Whether or not to allow views without a `User-Agent` HTTP request header.
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `create_video_transcription_vocabularies` (~609 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Create a new Transcription Vocabulary.

\# Response Schema
\```json
{
  $ref: '#/$defs/transcription_vocabulary_response',
  $defs: {
    transcription_vocabulary_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/transcription_vocabulary'
        }
      },
      required: [        'data'
      ]
    },
    transcription_vocabulary: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Transcription Vocabulary'
        },
        created_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was created, defined as a Unix timestamp (seconds since epoch).'
        },
        updated_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was updated, defined as a Unix timestamp (seconds since epoch).'
        },
        name: {
          type: 'string',
          description: 'The user-supplied name of the Transcription Vocabulary.'
        },
        passthrough: {
          type: 'string',
          description: 'Arbitrary user-supplied metadata set for the Transcription Vocabulary. Max 255 characters.'
        },
        phrases: {
          type: 'array',
          description: 'Phrases, individual words, or proper names to include in the Transcription Vocabulary. When the Transcription Vocabulary is attached to a live stream\'s `generated_subtitles` configuration, the probability of successful speech recognition for these words or phrases is boosted.',
          items: {
            type: 'string',
            description: 'A phrase or word belonging to a Transcription Vocabulary.'
          }
        }
      },
      required: [        'id',
        'created_at',
        'updated_at'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `name` (string): The user-supplied name of the Transcription Vocabulary.
- `passthrough` (string): Arbitrary user-supplied metadata set for the Transcription Vocabulary. Max 255 characters.
- `phrases` (array, required): Phrases, individual words, or proper names to include in the Transcription Vocabulary. When the Transcription Vocabulary is attached to a live stream's `generated_subtitles`, the probability of succe…

### `retrieve_video_transcription_vocabularies` (~563 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieves the details of a Transcription Vocabulary that has previously been created. Supply the unique Transcription Vocabulary ID and Mux will return the corresponding Transcription Vocabulary information. The same information is returned when creating a Transcription Vocabulary.

\# Response Schema
\```json
{
  $ref: '#/$defs/transcription_vocabulary_response',
  $defs: {
    transcription_vocabulary_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/transcription_vocabulary'
        }
      },
      required: [        'data'
      ]
    },
    transcription_vocabulary: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Transcription Vocabulary'
        },
        created_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was created, defined as a Unix timestamp (seconds since epoch).'
        },
        updated_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was updated, defined as a Unix timestamp (seconds since epoch).'
        },
        name: {
          type: 'string',
          description: 'The user-supplied name of the Transcription Vocabulary.'
        },
        passthrough: {
          type: 'string',
          description: 'Arbitrary user-supplied metadata set for the Transcription Vocabulary. Max 255 characters.'
        },
        phrases: {
          type: 'array',
          description: 'Phrases, individual words, or proper names to include in the Transcription Vocabulary. When the Transcription Vocabulary is attached to a live stream\'s `generated_subtitles` configuration, the probability of successful speech recognition for these words or phrases is boosted.',
          items: {…

Input parameters:

- `TRANSCRIPTION_VOCABULARY_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `update_video_transcription_vocabularies` (~659 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Updates the details of a previously-created Transcription Vocabulary. Updates to Transcription Vocabularies are allowed while associated live streams are active. However, updates will not be applied to those streams while they are active.

\# Response Schema
\```json
{
  $ref: '#/$defs/transcription_vocabulary_response',
  $defs: {
    transcription_vocabulary_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/transcription_vocabulary'
        }
      },
      required: [        'data'
      ]
    },
    transcription_vocabulary: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Transcription Vocabulary'
        },
        created_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was created, defined as a Unix timestamp (seconds since epoch).'
        },
        updated_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was updated, defined as a Unix timestamp (seconds since epoch).'
        },
        name: {
          type: 'string',
          description: 'The user-supplied name of the Transcription Vocabulary.'
        },
        passthrough: {
          type: 'string',
          description: 'Arbitrary user-supplied metadata set for the Transcription Vocabulary. Max 255 characters.'
        },
        phrases: {
          type: 'array',
          description: 'Phrases, individual words, or proper names to include in the Transcription Vocabulary. When the Transcription Vocabulary is attached to a live stream\'s `generated_subtitles` configuration, the probability of successful speech recognition for these words or phrases is boosted.',
          items: {
            type: 'string',
            descr…

Input parameters:

- `TRANSCRIPTION_VOCABULARY_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `name` (string): The user-supplied name of the Transcription Vocabulary.
- `passthrough` (string): Arbitrary user-supplied metadata set for the Transcription Vocabulary. Max 255 characters.
- `phrases` (array, required): Phrases, individual words, or proper names to include in the Transcription Vocabulary. When the Transcription Vocabulary is attached to a live stream's `generated_subtitles`, the probability of succe…

### `list_video_transcription_vocabularies` (~526 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

List all Transcription Vocabularies.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/transcription_vocabulary'
      }
    }
  },
  $defs: {
    transcription_vocabulary: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Transcription Vocabulary'
        },
        created_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was created, defined as a Unix timestamp (seconds since epoch).'
        },
        updated_at: {
          type: 'string',
          description: 'Time the Transcription Vocabulary was updated, defined as a Unix timestamp (seconds since epoch).'
        },
        name: {
          type: 'string',
          description: 'The user-supplied name of the Transcription Vocabulary.'
        },
        passthrough: {
          type: 'string',
          description: 'Arbitrary user-supplied metadata set for the Transcription Vocabulary. Max 255 characters.'
        },
        phrases: {
          type: 'array',
          description: 'Phrases, individual words, or proper names to include in the Transcription Vocabulary. When the Transcription Vocabulary is attached to a live stream\'s `generated_subtitles` configuration, the probability of successful speech recognition for these words or phrases is boosted.',
          items: {
            type: 'string',
            description: 'A phrase or word belonging to a Transcription Vocabulary.'
          }
        }
      },
      required: [        'id',
        'created_at',
        'updated_at'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `page` (integer): Offset by this many pages, of the size of `limit`

### `delete_video_transcription_vocabularies` (~89 tokens)

Deletes a Transcription Vocabulary. The Transcription Vocabulary's ID will be disassociated from any live streams using it. Transcription Vocabularies can be deleted while associated live streams are active. However, the words and phrases in the deleted Transcription Vocabulary will remain attached to those streams while they are active.

Input parameters:

- `TRANSCRIPTION_VOCABULARY_ID` (string, required)

### `create_video_uploads` (~145 tokens)

Creates a new direct upload, through which video content can be uploaded for ingest to Mux.

Input parameters:

- `cors_origin` (string, required): If the upload URL will be used in a browser, you must specify the origin in order for the signed URL to have the correct CORS headers.
- `new_asset_settings`
- `test` (boolean): Indicates if this is a test Direct Upload, in which case the Asset that gets created will be a `test` Asset.
- `timeout` (integer): Max time in seconds for the signed upload URL to be valid. If a successful upload has not occurred before the timeout limit, the direct upload is marked `timed_out`

### `retrieve_video_uploads` (~32 tokens)

Fetches information about a single direct upload in the current environment.

Input parameters:

- `UPLOAD_ID` (string, required)

### `list_video_uploads` (~52 tokens)

Lists direct uploads in the current environment.

Input parameters:

- `limit` (integer): Number of items to include in the response
- `page` (integer): Offset by this many pages, of the size of `limit`

### `cancel_video_uploads` (~64 tokens)

Cancels a direct upload and marks it as cancelled. If a pending upload finishes after this
request, no asset will be created. This request will only succeed if the upload is still in
the `waiting` state.

Input parameters:

- `UPLOAD_ID` (string, required)

### `retrieve_video_drm_configurations` (~257 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieves a single DRM Configuration.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      $ref: '#/$defs/drm_configuration'
    }
  },
  required: [    'data'
  ],
  $defs: {
    drm_configuration: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the DRM Configuration. Max 255 characters.'
        }
      },
      required: [        'id'
      ]
    }
  }
}
\```

Input parameters:

- `DRM_CONFIGURATION_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_video_drm_configurations` (~295 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of DRM Configurations

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/drm_configuration'
      }
    }
  },
  required: [    'data'
  ],
  $defs: {
    drm_configuration: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the DRM Configuration. Max 255 characters.'
        }
      },
      required: [        'id'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `page` (integer): Offset by this many pages, of the size of `limit`

### `animated_video_playback` (~288 tokens)

[Fetch an animated GIF or WebP image](https://docs.mux.com/guides/get-images-from-a-video#get-an-animated-gif-from-a-video) from a video segment with optional transformations.

Input parameters:

- `EXTENSION` (string, required)
- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `end` (number): The time (in seconds) of the video timeline where the GIF ends. Defaults to 5 seconds after the start. Maximum total duration of GIF is limited to 10 seconds; minimum total duration of GIF is 250ms.
- `fps` (integer): The frame rate of the generated GIF. Defaults to 15 fps. Max 30 fps.
- `height` (integer): The height in pixels of the animated GIF. The default height is determined by preserving aspect ratio with the width provided. Maximum height is 640px.
- `start` (number): The time (in seconds) of the video timeline where the animated GIF should begin. Defaults to 0.
- `width` (integer): The width in pixels of the animated GIF. Default is 320px, or if height is provided, the width is determined by preserving aspect ratio with the height. Max width is 640px.

### `hls_video_playback` (~631 tokens)

Fetch an HLS (HTTP Live Streaming) playlist for the specified video asset, with optional query parameters to [modify playback behavior](https://docs.mux.com/guides/modify-playback-behavior).

Input parameters:

- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `asset_end_time` (number): Set the relative end time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `asset_start_time` (number): Set the relative start time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `default_subtitles_lang` (string): Set the [default subtitles/captions language](https://docs.mux.com/guides/add-subtitles-to-your-videos#showing-subtitles-by-default) (BCP47 compliant language code).
- `exclude_pdt` (boolean): If set to true, EXT-X-PROGRAM-DATE-TIME tags will be omitted from HLS manifests for assets from live streams.
- `max_resolution` (string): Set the [maximum resolution](https://docs.mux.com/guides/control-playback-resolution#specify-maximum-resolution) of renditions included in the manifest.
- `min_resolution` (string): Set the [minimum resolution](https://docs.mux.com/guides/control-playback-resolution#specify-minimum-resolution) of renditions included in the manifest.
- `program_end_time` (integer): Set the end time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch inte…
- `program_start_time` (integer): Set the start time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch in…
- `redundant_streams` (boolean): Include [HLS redundant streams](https://docs.mux.com/guides/play-your-videos#add-delivery-redundancy-with-redundant-streams) in the manifest.
- `rendition_order` (string): Set the logic to [order renditions in the HLS manifest](https://www.mux.com/blog/more-tools-to-control-playback-behavior-min-resolution-and-rendition-order#rendition_order).
- `roku_trick_play` (boolean): Add support for [timeline hover previews on Roku devices](https://docs.mux.com/guides/create-timeline-hover-previews#roku-trick-play).

### `static_rendition_video_playback` (~118 tokens)

Fetch a static rendition (usually an MP4 or M4A file) of the specified video asset. [MP4 Support](https://docs.mux.com/guides/enable-static-mp4-renditions) must be enabled on the asset before using these URLs.

Input parameters:

- `FILENAME` (string, required)
- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).

### `storyboard_video_playback` (~319 tokens)

Fetch a storyboard image composed of multiple thumbnails for use in [timeline hover previews](https://docs.mux.com/guides/create-timeline-hover-previews).

Input parameters:

- `EXTENSION` (string, required)
- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `asset_end_time` (number): Set the relative end time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `asset_start_time` (number): Set the relative start time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `program_end_time` (integer): Set the end time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch inte…
- `program_start_time` (integer): Set the start time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch in…

### `storyboard_meta_video_playback` (~488 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Fetch metadata for the [storyboard image in JSON format](https://docs.mux.com/guides/create-timeline-hover-previews#json), detailing the coordinates and time ranges of each thumbnail.

\# Response Schema
\```json
{
  type: 'string'
}
\```

Input parameters:

- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `asset_end_time` (number): Set the relative end time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `asset_start_time` (number): Set the relative start time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `format` (string): The format of the storyboard image URL in the response. Can be either 'jpg', 'png', or 'webp'. Defaults to 'jpg'.
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `program_end_time` (integer): Set the end time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch inte…
- `program_start_time` (integer): Set the start time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch in…

### `storyboard_vtt_video_playback` (~457 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Fetch metadata for the [storyboard image in WebVTT format](https://docs.mux.com/guides/create-timeline-hover-previews#webvtt), detailing the coordinates and time ranges of each thumbnail.

\# Response Schema
\```json
{
  type: 'string'
}
\```

Input parameters:

- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `asset_end_time` (number): Set the relative end time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `asset_start_time` (number): Set the relative start time of the asset (in seconds) when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips).
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `program_end_time` (integer): Set the end time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch inte…
- `program_start_time` (integer): Set the start time of the asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as an epoch in…

### `thumbnail_video_playback` (~390 tokens)

[Fetch a thumbnail image from a video](https://docs.mux.com/guides/get-images-from-a-video) at a specified time with optional transformations.

Input parameters:

- `EXTENSION` (string, required)
- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `fit_mode` (string): How to fit a thumbnail within the specified width + height.
- `flip_h` (boolean): Flip the image left-right after performing all other transformations.
- `flip_v` (boolean): Flip the image top-bottom after performing all other transformations.
- `height` (integer): The height of the thumbnail (in pixels). Defaults to the height of the original video.
- `latest` (boolean): When set to `true`, pulls the latest thumbnail from the playback ID of an ongoing live stream. Can only be used with live streams. Can be used to build moderation and classification workflows, [see d…
- `program_time` (integer): Set the time of the thumbnail for an asset created from a live stream when using the [instant clipping feature](https://docs.mux.com/guides/create-instant-clips). The timestamp should be provided as…
- `rotate` (string): Rotate the image clockwise by the given number of degrees.
- `time` (number): The time (in seconds) of the video timeline where the image should be pulled. Defaults to the middle of the original video.
- `width` (integer): The width of the thumbnail (in pixels). Defaults to the width of the original video.

### `track_video_playback` (~206 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Fetch a standalone WebVTT version of a text track from an asset.

\# Response Schema
\```json
{
  type: 'string'
}
\```

Input parameters:

- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `TRACK_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `transcript_video_playback` (~265 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Fetch a [transcript of an asset](https://docs.mux.com/guides/add-autogenerated-captions-and-use-transcripts#retrieve-a-transcript). This is only possible for assets with a text track generated using the [VOD generated captions feature](https://docs.mux.com/guides/add-autogenerated-captions-and-use-transcripts).

\# Response Schema
\```json
{
  type: 'string'
}
\```

Input parameters:

- `PLAYBACK_ID` (string, required)
- `TOKEN` (string): Signed token (JWT) for [secure video playback](https://docs.mux.com/guides/secure-video-playback).
- `TRACK_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_data_dimensions` (~329 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

List all available dimensions.

Note: This API replaces the list-filters API call.


\# Response Schema
\```json
{
  $ref: '#/$defs/dimensions_response',
  $defs: {
    dimensions_response: {
      type: 'object',
      properties: {
        data: {
          type: 'object',
          properties: {
            advanced: {
              type: 'array',
              items: {
                type: 'string'
              }
            },
            basic: {
              type: 'array',
              items: {
                type: 'string'
              }
            }
          },
          required: [            'advanced',
            'basic'
          ]
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_trace_elements_data_dimensions` (~741 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Lists the elements (values) for a trace dimension along with their total counts.
This endpoint is specifically designed for trace dimensions like video_cdn_trace
that contain arrays of values.


\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/dimension_value'
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    dimension_value: {
      type: 'object',
      properties: {
        total_count: {
          type: 'integer'
        },
        value: {
          type: 'string'
        }
      },
      required: [        'total_count',
        'value'
      ]
    }
  }
}
\```

Input parameters:

- `DIMENSION_ID` (string, required)
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `order_by` (string): Value to order the results by
- `order_direction` (string): Sort order.
- `page` (integer): Offset by this many pages, of the size of `limit`
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `list_values_data_dimensions` (~707 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Lists the values for a dimension along with a total count of related views.

Note: This API replaces the list-filter-values API call.


\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/dimension_value'
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    dimension_value: {
      type: 'object',
      properties: {
        total_count: {
          type: 'integer'
        },
        value: {
          type: 'string'
        }
      },
      required: [        'total_count',
        'value'
      ]
    }
  }
}
\```

Input parameters:

- `DIMENSION_ID` (string, required)
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `page` (integer): Offset by this many pages, of the size of `limit`
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `list_dimensions_data_monitoring` (~283 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Lists available monitoring dimensions.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        type: 'object',
        properties: {
          display_name: {
            type: 'string'
          },
          name: {
            type: 'string'
          }
        },
        required: [          'display_name',
          'name'
        ]
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ]
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_monitoring_data_metrics` (~283 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Lists available monitoring metrics.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        type: 'object',
        properties: {
          display_name: {
            type: 'string'
          },
          name: {
            type: 'string'
          }
        },
        required: [          'display_name',
          'name'
        ]
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ]
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `get_breakdown_monitoring_data_metrics` (~539 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Gets breakdown information for a specific dimension and metric along with the number of concurrent viewers and negative impact score.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        type: 'object',
        properties: {
          concurrent_viewers: {
            type: 'integer'
          },
          metric_value: {
            type: 'number'
          },
          negative_impact: {
            type: 'integer'
          },
          starting_up_viewers: {
            type: 'integer'
          },
          value: {
            type: 'string'
          },
          display_value: {
            type: 'string'
          }
        },
        required: [          'concurrent_viewers',
          'metric_value',
          'negative_impact',
          'starting_up_viewers',
          'value'
        ]
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ]
}
\```

Input parameters:

- `MONITORING_METRIC_ID` (string, required)
- `dimension` (string): Dimension the specified value belongs to
- `filters` (array): Limit the results to rows that match conditions from provided key:value pairs. Must be provided as an array query string parameter. To exclude rows that match a certain condition, prepend a `!` char…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `order_by` (string): Value to order the results by
- `order_direction` (string): Sort order.
- `timestamp` (integer): Timestamp to limit results by. This value must be provided as a unix timestamp. Defaults to the current unix timestamp.

### `get_breakdown_timeseries_monitoring_data_metrics` (~639 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Gets timeseries of breakdown information for a specific dimension and metric. Each datapoint in the response represents 5 seconds worth of data.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        type: 'object',
        properties: {
          date: {
            type: 'string'
          },
          values: {
            type: 'array',
            items: {
              type: 'object',
              properties: {
                concurrent_viewers: {
                  type: 'integer'
                },
                metric_value: {
                  type: 'number'
                },
                starting_up_viewers: {
                  type: 'integer'
                },
                value: {
                  type: 'string'
                }
              },
              required: [                'concurrent_viewers',
                'metric_value',
                'starting_up_viewers',
                'value'
              ]
            }
          }
        },
        required: [          'date',
          'values'
        ]
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ]
}
\```

Input parameters:

- `MONITORING_METRIC_ID` (string, required)
- `dimension` (string): Dimension the specified value belongs to
- `filters` (array): Limit the results to rows that match conditions from provided key:value pairs. Must be provided as an array query string parameter. To exclude rows that match a certain condition, prepend a `!` char…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in each timestamp's `value` list. The default is 10, and the maximum is 100.
- `order_by` (string): Value to order the results by
- `order_direction` (string): Sort order.
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). The default for this is the last 60 seconds of available data. Timeframes larger than 1…

### `get_histogram_timeseries_monitoring_data_metrics` (~651 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Gets histogram timeseries information for a specific metric.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        type: 'object',
        properties: {
          average: {
            type: 'number'
          },
          bucket_values: {
            type: 'array',
            items: {
              type: 'object',
              properties: {
                count: {
                  type: 'integer'
                },
                percentage: {
                  type: 'number'
                }
              },
              required: [                'count',
                'percentage'
              ]
            }
          },
          max_percentage: {
            type: 'number'
          },
          median: {
            type: 'number'
          },
          p95: {
            type: 'number'
          },
          sum: {
            type: 'integer'
          },
          timestamp: {
            type: 'string'
          }
        },
        required: [          'average',
          'bucket_values',
          'max_percentage',
          'median',
          'p95',
          'sum',
          'timestamp'
        ]
      }
    },
    meta: {
      type: 'object',
      properties: {
        bucket_unit: {
          type: 'string'
        },
        buckets: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              end: {
                type: 'integer'
              },
              start: {
                type: 'integer'
              }
            },
            required: [              'end',
              'start'
            ]
          }
        }
      },
      required: [        'bucket_unit',
        'buckets'
      ]
    },
    timeframe: {
      type: 'array',…

Input parameters:

- `MONITORING_HISTOGRAM_METRIC_ID` (string, required)
- `filters` (array): Limit the results to rows that match conditions from provided key:value pairs. Must be provided as an array query string parameter. To exclude rows that match a certain condition, prepend a `!` char…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `get_timeseries_monitoring_data_metrics` (~446 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Gets Time series information for a specific metric along with the number of concurrent viewers.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        type: 'object',
        properties: {
          concurrent_viewers: {
            type: 'integer'
          },
          date: {
            type: 'string'
          },
          value: {
            type: 'number'
          }
        },
        required: [          'concurrent_viewers',
          'date',
          'value'
        ]
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ]
}
\```

Input parameters:

- `MONITORING_METRIC_ID` (string, required)
- `filters` (array): Limit the results to rows that match conditions from provided key:value pairs. Must be provided as an array query string parameter. To exclude rows that match a certain condition, prepend a `!` char…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `timestamp` (integer): Timestamp to use as the start of the timeseries data. This value must be provided as a unix timestamp. Defaults to 30 minutes ago.

### `list_data_errors` (~863 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of errors.

\# Response Schema
\```json
{
  $ref: '#/$defs/errors_response',
  $defs: {
    errors_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              id: {
                type: 'integer',
                description: 'A unique identifier for this error.'
              },
              code: {
                type: 'integer',
                description: 'The error code'
              },
              count: {
                type: 'integer',
                description: 'The total number of views that experienced this error.'
              },
              description: {
                type: 'string',
                description: 'Description of the error.'
              },
              last_seen: {
                type: 'string',
                description: 'The last time this error was seen (ISO 8601 timestamp).'
              },
              message: {
                type: 'string',
                description: 'The error message.'
              },
              notes: {
                type: 'string',
                description: 'Notes that are attached to this error.'
              },
              percentage: {
                type: 'number',
                description: 'The percentage of views that experienced this error.'
              },
              player_error_code: {
                type: 'string',
                description: 'The string version of the error code'
              }
            },
            required: [              'id',
              'code',
              'count',
              'description',
              'last_seen',
              'message',
              'notes',
              'percentage',
              'player_error_co…

Input parameters:

- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `list_video_views_data_exports` (~397 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Lists the available video view exports along with URLs to retrieve them.

\# Response Schema
\```json
{
  $ref: '#/$defs/video_view_exports_response',
  $defs: {
    video_view_exports_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              export_date: {
                type: 'string',
                format: 'date'
              },
              files: {
                type: 'array',
                items: {
                  type: 'object',
                  properties: {
                    path: {
                      type: 'string'
                    },
                    type: {
                      type: 'string'
                    },
                    version: {
                      type: 'integer'
                    }
                  },
                  required: [                    'path',
                    'type',
                    'version'
                  ]
                }
              }
            },
            required: [              'export_date',
              'files'
            ]
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_values_data_filters` (~612 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

The API has been replaced by the list-dimension-values API call.

Lists the values for a filter along with a total count of related views.


\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/filter_value'
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    filter_value: {
      type: 'object',
      properties: {
        total_count: {
          type: 'integer'
        },
        value: {
          type: 'string'
        }
      },
      required: [        'total_count',
        'value'
      ]
    }
  }
}
\```

Input parameters:

- `FILTER_ID` (string, required)
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `page` (integer): Offset by this many pages, of the size of `limit`
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `retrieve_data_incidents` (~996 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns the details of an incident.

\# Response Schema
\```json
{
  $ref: '#/$defs/incident_response',
  $defs: {
    incident_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/incident'
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'timeframe',
        'total_row_count'
      ]
    },
    incident: {
      type: 'object',
      properties: {
        id: {
          type: 'string'
        },
        affected_views: {
          type: 'integer'
        },
        affected_views_per_hour: {
          type: 'integer'
        },
        affected_views_per_hour_on_open: {
          type: 'integer'
        },
        breakdowns: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              id: {
                type: 'string'
              },
              name: {
                type: 'string'
              },
              value: {
                type: 'string'
              }
            },
            required: [              'id',
              'name',
              'value'
            ]
          }
        },
        description: {
          type: 'string'
        },
        error_description: {
          type: 'string'
        },
        impact: {
          type: 'string'
        },
        incident_key: {
          type: 'string'
        },
        measured_value: {
          type: 'number'
        },
        measured_value_on_close: {
          type: 'number'
        },
        measurement: {
          type: 'string'
        },
        notification_rules: {
          type: 'array',
          items: {
            type…

Input parameters:

- `INCIDENT_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_data_incidents` (~1063 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of incidents.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/incident'
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    incident: {
      type: 'object',
      properties: {
        id: {
          type: 'string'
        },
        affected_views: {
          type: 'integer'
        },
        affected_views_per_hour: {
          type: 'integer'
        },
        affected_views_per_hour_on_open: {
          type: 'integer'
        },
        breakdowns: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              id: {
                type: 'string'
              },
              name: {
                type: 'string'
              },
              value: {
                type: 'string'
              }
            },
            required: [              'id',
              'name',
              'value'
            ]
          }
        },
        description: {
          type: 'string'
        },
        error_description: {
          type: 'string'
        },
        impact: {
          type: 'string'
        },
        incident_key: {
          type: 'string'
        },
        measured_value: {
          type: 'number'
        },
        measured_value_on_close: {
          type: 'number'
        },
        measurement: {
          type: 'string'
        },
        notification_rules: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              id: {
                type: 'string'
              },…

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `order_by` (string): Value to order the results by
- `order_direction` (string): Sort order.
- `page` (integer): Offset by this many pages, of the size of `limit`
- `severity` (string): Severity to filter incidents by
- `status` (string): Status to filter incidents by

### `list_related_data_incidents` (~1054 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns all the incidents that seem related to a specific incident.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/incident'
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    incident: {
      type: 'object',
      properties: {
        id: {
          type: 'string'
        },
        affected_views: {
          type: 'integer'
        },
        affected_views_per_hour: {
          type: 'integer'
        },
        affected_views_per_hour_on_open: {
          type: 'integer'
        },
        breakdowns: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              id: {
                type: 'string'
              },
              name: {
                type: 'string'
              },
              value: {
                type: 'string'
              }
            },
            required: [              'id',
              'name',
              'value'
            ]
          }
        },
        description: {
          type: 'string'
        },
        error_description: {
          type: 'string'
        },
        impact: {
          type: 'string'
        },
        incident_key: {
          type: 'string'
        },
        measured_value: {
          type: 'number'
        },
        measured_value_on_close: {
          type: 'number'
        },
        measurement: {
          type: 'string'
        },
        notification_rules: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              id: {…

Input parameters:

- `INCIDENT_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `order_by` (string): Value to order the results by
- `order_direction` (string): Sort order.
- `page` (integer): Offset by this many pages, of the size of `limit`

### `list_data_metrics` (~890 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

List all of the values across every breakdown for a specific metric.

\# Response Schema
\```json
{
  $ref: '#/$defs/all_metric_values_response',
  $defs: {
    all_metric_values_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              name: {
                type: 'string'
              },
              ended_views: {
                type: 'integer'
              },
              items: {
                type: 'array',
                items: {
                  type: 'object',
                  properties: {
                    metric: {
                      type: 'string'
                    },
                    name: {
                      type: 'string'
                    },
                    type: {
                      type: 'string'
                    },
                    value: {
                      type: 'number'
                    },
                    measurement: {
                      type: 'string'
                    }
                  },
                  required: [                    'metric',
                    'name',
                    'type',
                    'value'
                  ]
                }
              },
              metric: {
                type: 'string'
              },
              started_views: {
                type: 'integer'
              },
              total_playing_time: {
                type: 'integer'
              },
              type: {
                type: 'string'
              },
              unique_viewers: {
                type: 'integer'
              },
              value: {
                type: 'number'
              },
              view_count: {
                type: 'integer'…

Input parameters:

- `dimension` (string): Dimension the specified value belongs to
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…
- `value` (string): Value to show all available metrics for

### `get_insights_data_metrics` (~1188 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of insights for a metric. These are the worst performing values across all breakdowns sorted by how much they negatively impact a specific metric.

\# Response Schema
\```json
{
  $ref: '#/$defs/insights_response',
  $defs: {
    insights_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              filter_column: {
                type: 'string'
              },
              filter_value: {
                type: 'string'
              },
              metric: {
                type: 'number'
              },
              negative_impact_score: {
                type: 'number'
              },
              total_playing_time: {
                type: 'integer'
              },
              total_views: {
                type: 'integer'
              },
              total_watch_time: {
                type: 'integer'
              }
            },
            required: [              'filter_column',
              'filter_value',
              'metric',
              'negative_impact_score',
              'total_playing_time',
              'total_views',
              'total_watch_time'
            ]
          }
        },
        meta: {
          type: 'object',
          properties: {
            aggregation: {
              type: 'string'
            },
            granularity: {
              type: 'string'
            }
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'meta',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `METRIC_ID` (string, required)
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `measurement` (string): Measurement for the provided metric. If omitted, the default for the metric will be used. The default measurement for each metric is: "sum" : `ad_attempt_count`, `ad_break_count`, `ad_break_error_cou…
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `order_direction` (string): Sort order.
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `get_overall_values_data_metrics` (~1129 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns the overall value for a specific metric, as well as the total view count, watch time, and the Mux Global metric value for the metric.

\# Response Schema
\```json
{
  $ref: '#/$defs/overall_values_response',
  $defs: {
    overall_values_response: {
      type: 'object',
      properties: {
        data: {
          type: 'object',
          properties: {
            global_value: {
              type: 'number'
            },
            total_playing_time: {
              type: 'integer'
            },
            total_views: {
              type: 'integer'
            },
            total_watch_time: {
              type: 'integer'
            },
            value: {
              type: 'number'
            }
          },
          required: [            'global_value',
            'total_playing_time',
            'total_views',
            'total_watch_time',
            'value'
          ]
        },
        meta: {
          type: 'object',
          properties: {
            aggregation: {
              type: 'string'
            },
            granularity: {
              type: 'string'
            }
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'meta',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `METRIC_ID` (string, required)
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `measurement` (string): Measurement for the provided metric. If omitted, the default for the metric will be used. The default measurement for each metric is: "sum" : `ad_attempt_count`, `ad_break_count`, `ad_break_error_cou…
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `get_timeseries_data_metrics` (~1236 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns timeseries data for a specific metric.

Each interval represented in the data array contains an array with the following values:
  \* the first element is the interval time
  \* the second element is the calculated metric value
  \* the third element is the number of views in the interval that have a valid metric value


\# Response Schema
\```json
{
  $ref: '#/$defs/metric_timeseries_data_response',
  $defs: {
    metric_timeseries_data_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'array',
            items: {
              anyOf: [                {
                  type: 'string'
                },
                {
                  type: 'number'
                }
              ]
            }
          }
        },
        meta: {
          type: 'object',
          properties: {
            aggregation: {
              type: 'string'
            },
            granularity: {
              type: 'string'
            }
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'meta',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `METRIC_ID` (string, required)
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `group_by` (string): Time granularity to group results by. If this value is omitted, a default granularity is chosen based on the timeframe. For timeframes of less than 90 minutes, the default granularity is `minute`. B…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `measurement` (string): Measurement for the provided metric. If omitted, the default for the metric will be used. The default measurement for each metric is: "sum" : `ad_attempt_count`, `ad_break_count`, `ad_break_error_cou…
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `order_direction` (string): Sort order.
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `list_breakdown_values_data_metrics` (~1207 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

List the breakdown values for a specific metric.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/breakdown_value'
      }
    },
    meta: {
      type: 'object',
      properties: {
        aggregation: {
          type: 'string'
        },
        granularity: {
          type: 'string'
        }
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'meta',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    breakdown_value: {
      type: 'object',
      properties: {
        field: {
          type: 'string'
        },
        negative_impact: {
          type: 'integer'
        },
        total_playing_time: {
          type: 'integer'
        },
        total_watch_time: {
          type: 'integer'
        },
        value: {
          type: 'number'
        },
        views: {
          type: 'integer'
        }
      },
      required: [        'field',
        'negative_impact',
        'total_playing_time',
        'total_watch_time',
        'value',
        'views'
      ]
    }
  }
}
\```

Input parameters:

- `METRIC_ID` (string, required)
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `group_by` (string): Breakdown value to group the results by
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `measurement` (string): Measurement for the provided metric. If omitted, the default for the metric will be used. The default measurement for each metric is: "sum" : `ad_attempt_count`, `ad_break_count`, `ad_break_error_cou…
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `order_by` (string): Value to order the results by
- `order_direction` (string): Sort order.
- `page` (integer): Offset by this many pages, of the size of `limit`
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `list_dimensions_data_real_time` (~329 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Lists available real-time dimensions. This API is now deprecated, please use the `List Monitoring Dimensions` API.

\# Response Schema
\```json
{
  $ref: '#/$defs/real_time_dimensions_response',
  $defs: {
    real_time_dimensions_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              display_name: {
                type: 'string'
              },
              name: {
                type: 'string'
              }
            },
            required: [              'display_name',
              'name'
            ]
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_metrics_data_real_time` (~329 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Lists available real-time metrics. This API is now deprecated, please use the `List Monitoring Metrics` API.

\# Response Schema
\```json
{
  $ref: '#/$defs/real_time_metrics_response',
  $defs: {
    real_time_metrics_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              display_name: {
                type: 'string'
              },
              name: {
                type: 'string'
              }
            },
            required: [              'display_name',
              'name'
            ]
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `retrieve_breakdown_data_real_time` (~584 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Gets breakdown information for a specific dimension and metric along with the number of concurrent viewers and negative impact score. This API is now deprecated, please use the `Get Monitoring Breakdown` API.

\# Response Schema
\```json
{
  $ref: '#/$defs/real_time_breakdown_response',
  $defs: {
    real_time_breakdown_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              concurrent_viewers: {
                type: 'integer'
              },
              metric_value: {
                type: 'number'
              },
              negative_impact: {
                type: 'integer'
              },
              starting_up_viewers: {
                type: 'integer'
              },
              value: {
                type: 'string'
              },
              display_value: {
                type: 'string'
              }
            },
            required: [              'concurrent_viewers',
              'metric_value',
              'negative_impact',
              'starting_up_viewers',
              'value'
            ]
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `REALTIME_METRIC_ID` (string, required)
- `dimension` (string): Dimension the specified value belongs to
- `filters` (array): Limit the results to rows that match conditions from provided key:value pairs. Must be provided as an array query string parameter. To exclude rows that match a certain condition, prepend a `!` char…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `order_by` (string): Value to order the results by
- `order_direction` (string): Sort order.
- `timestamp` (integer): Timestamp to limit results by. This value must be provided as a unix timestamp. Defaults to the current unix timestamp.

### `retrieve_histogram_timeseries_data_real_time` (~702 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Gets histogram timeseries information for a specific metric. This API is now deprecated, please use the `Get Monitoring Histogram Timeseries` API.

\# Response Schema
\```json
{
  $ref: '#/$defs/real_time_histogram_timeseries_response',
  $defs: {
    real_time_histogram_timeseries_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              average: {
                type: 'number'
              },
              bucket_values: {
                type: 'array',
                items: {
                  type: 'object',
                  properties: {
                    count: {
                      type: 'integer'
                    },
                    percentage: {
                      type: 'number'
                    }
                  },
                  required: [                    'count',
                    'percentage'
                  ]
                }
              },
              max_percentage: {
                type: 'number'
              },
              median: {
                type: 'number'
              },
              p95: {
                type: 'number'
              },
              sum: {
                type: 'integer'
              },
              timestamp: {
                type: 'string'
              }
            },
            required: [              'average',
              'bucket_values',
              'max_percentage',
              'median',
              'p95',
              'sum',
              'timestamp'
            ]
          }
        },
        meta: {
          type: 'object',
          properties: {
            bucket_unit: {
              type: 'string'
            },
            buckets: {
              type: 'array',…

Input parameters:

- `REALTIME_HISTOGRAM_METRIC_ID` (string, required)
- `filters` (array): Limit the results to rows that match conditions from provided key:value pairs. Must be provided as an array query string parameter. To exclude rows that match a certain condition, prepend a `!` char…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `retrieve_timeseries_data_real_time` (~492 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Gets Time series information for a specific metric along with the number of concurrent viewers. This API is now deprecated, please use the `Get Monitoring Timeseries` API.

\# Response Schema
\```json
{
  $ref: '#/$defs/real_time_timeseries_response',
  $defs: {
    real_time_timeseries_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              concurrent_viewers: {
                type: 'integer'
              },
              date: {
                type: 'string'
              },
              value: {
                type: 'number'
              }
            },
            required: [              'concurrent_viewers',
              'date',
              'value'
            ]
          }
        },
        timeframe: {
          type: 'array',
          items: {
            type: 'integer'
          }
        },
        total_row_count: {
          type: 'integer'
        }
      },
      required: [        'data',
        'timeframe',
        'total_row_count'
      ]
    }
  }
}
\```

Input parameters:

- `REALTIME_METRIC_ID` (string, required)
- `filters` (array): Limit the results to rows that match conditions from provided key:value pairs. Must be provided as an array query string parameter. To exclude rows that match a certain condition, prepend a `!` char…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `timestamp` (integer): Timestamp to use as the start of the timeseries data. This value must be provided as a unix timestamp. Defaults to 30 minutes ago.

### `retrieve_data_video_views` (~27 tokens)

Returns the details of a video view.

Input parameters:

- `VIDEO_VIEW_ID` (string, required)

### `list_data_video_views` (~1024 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of video views which match the filters and have a `view_end` within the specified timeframe.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/abridged_video_view'
      }
    },
    timeframe: {
      type: 'array',
      items: {
        type: 'integer'
      }
    },
    total_row_count: {
      type: 'integer'
    }
  },
  required: [    'data',
    'timeframe',
    'total_row_count'
  ],
  $defs: {
    abridged_video_view: {
      type: 'object',
      properties: {
        id: {
          type: 'string'
        },
        country_code: {
          type: 'string'
        },
        error_type_id: {
          type: 'integer'
        },
        playback_failure: {
          type: 'boolean'
        },
        player_error_code: {
          type: 'string'
        },
        player_error_message: {
          type: 'string'
        },
        total_row_count: {
          type: 'integer'
        },
        video_title: {
          type: 'string'
        },
        view_end: {
          type: 'string'
        },
        view_start: {
          type: 'string'
        },
        viewer_application_name: {
          type: 'string'
        },
        viewer_experience_score: {
          type: 'number'
        },
        viewer_os_family: {
          type: 'string'
        },
        watch_time: {
          type: 'integer'
        }
      },
      required: [        'id',
        'country_code',
        'error_type_id',
        'playback_failure',
        'player_error_code',
        'player_error_message',
        'total_row_count',
        'video_title',
        'view_end',
        'view_start',
        'viewer_application_name',
        'viewer_experience_score',
        'viewer_os_family',
        'watch_time'…

Input parameters:

- `error_id` (integer): Filter video views by the provided error ID (as returned in the error_type_id field in the list video views endpoint). If you provide any as the error ID, this will filter the results to those with a…
- `filters` (array): Filter results using key:value pairs. Must be provided as an array query string parameter. **Basic filtering:** * `filters[]=dimension:value` - Include rows where dimension equals value * `filters[]…
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `metric_filters` (array): Limit the results to rows that match inequality conditions from provided metric comparison clauses. Must be provided as an array query string parameter. Possible filterable metrics are the same as t…
- `order_direction` (string): Sort order.
- `page` (integer): Offset by this many pages, of the size of `limit`
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…
- `viewer_id` (string): Viewer ID to filter results by. This value may be provided by the integration, or may be created by Mux.

### `create_data_annotations` (~376 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Creates a new annotation.

\# Response Schema
\```json
{
  $ref: '#/$defs/annotation_response',
  $defs: {
    annotation_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/annotation'
        }
      },
      required: [        'data'
      ]
    },
    annotation: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the annotation'
        },
        date: {
          type: 'string',
          description: 'Datetime when the annotation applies',
          format: 'date-time'
        },
        note: {
          type: 'string',
          description: 'The annotation note content'
        },
        sub_property_id: {
          type: 'string',
          description: 'Customer-defined sub-property identifier'
        }
      },
      required: [        'id',
        'date',
        'note'
      ]
    }
  }
}
\```

Input parameters:

- `date` (integer, required): Datetime when the annotation applies (Unix timestamp)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `note` (string, required): The annotation note content
- `sub_property_id` (string): Customer-defined sub-property identifier

### `retrieve_data_annotations` (~348 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns the details of a specific annotation.

\# Response Schema
\```json
{
  $ref: '#/$defs/annotation_response',
  $defs: {
    annotation_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/annotation'
        }
      },
      required: [        'data'
      ]
    },
    annotation: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the annotation'
        },
        date: {
          type: 'string',
          description: 'Datetime when the annotation applies',
          format: 'date-time'
        },
        note: {
          type: 'string',
          description: 'The annotation note content'
        },
        sub_property_id: {
          type: 'string',
          description: 'Customer-defined sub-property identifier'
        }
      },
      required: [        'id',
        'date',
        'note'
      ]
    }
  }
}
\```

Input parameters:

- `ANNOTATION_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `update_data_annotations` (~386 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Updates an existing annotation.

\# Response Schema
\```json
{
  $ref: '#/$defs/annotation_response',
  $defs: {
    annotation_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/annotation'
        }
      },
      required: [        'data'
      ]
    },
    annotation: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the annotation'
        },
        date: {
          type: 'string',
          description: 'Datetime when the annotation applies',
          format: 'date-time'
        },
        note: {
          type: 'string',
          description: 'The annotation note content'
        },
        sub_property_id: {
          type: 'string',
          description: 'Customer-defined sub-property identifier'
        }
      },
      required: [        'id',
        'date',
        'note'
      ]
    }
  }
}
\```

Input parameters:

- `ANNOTATION_ID` (string, required)
- `date` (integer, required): Datetime when the annotation applies (Unix timestamp)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `note` (string, required): The annotation note content
- `sub_property_id` (string): Customer-defined sub-property identifier

### `list_data_annotations` (~542 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of annotations.

\# Response Schema
\```json
{
  $ref: '#/$defs/list_annotations_response',
  $defs: {
    list_annotations_response: {
      type: 'object',
      properties: {
        data: {
          type: 'array',
          items: {
            $ref: '#/$defs/annotation'
          }
        },
        total_row_count: {
          type: 'integer',
          description: 'Total number of annotations available'
        },
        timeframe: {
          type: 'array',
          description: 'Start and end unix timestamps for the data range',
          items: {
            type: 'integer'
          }
        }
      },
      required: [        'data',
        'total_row_count'
      ]
    },
    annotation: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the annotation'
        },
        date: {
          type: 'string',
          description: 'Datetime when the annotation applies',
          format: 'date-time'
        },
        note: {
          type: 'string',
          description: 'The annotation note content'
        },
        sub_property_id: {
          type: 'string',
          description: 'Customer-defined sub-property identifier'
        }
      },
      required: [        'id',
        'date',
        'note'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `order_direction` (string): Sort order.
- `page` (integer): Offset by this many pages, of the size of `limit`
- `timeframe` (array): Timeframe window to limit results by. Must be provided as an array query string parameter (e.g. timeframe[]=). Accepted formats are...   * array of epoch timestamps e.g. `timeframe[]=1498867200&tim…

### `delete_data_annotations` (~23 tokens)

Deletes an annotation.

Input parameters:

- `ANNOTATION_ID` (string, required)

### `create_system_signing_keys` (~408 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Creates a new signing key pair. When creating a new signing key, the API will generate a 2048-bit RSA key-pair and return the private key and a generated key-id; the public key will be stored at Mux to validate signed tokens.

\# Response Schema
\```json
{
  $ref: '#/$defs/signing_key_response',
  $defs: {
    signing_key_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/signing_key'
        }
      },
      required: [        'data'
      ]
    },
    signing_key: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Signing Key.'
        },
        created_at: {
          type: 'string',
          description: 'Time at which the object was created. Measured in seconds since the Unix epoch.'
        },
        private_key: {
          type: 'string',
          description: 'A Base64 encoded private key that can be used with the RS256 algorithm when creating a [JWT](https://jwt.io/). **Note that this value is only returned once when creating a URL signing key.**'
        }
      },
      required: [        'id',
        'created_at'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `retrieve_system_signing_keys` (~420 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieves the details of a signing key that has previously
been created. Supply the unique signing key ID that was returned from your
previous request, and Mux will return the corresponding signing key information.
\**The private key is not returned in this response.**


\# Response Schema
\```json
{
  $ref: '#/$defs/signing_key_response',
  $defs: {
    signing_key_response: {
      type: 'object',
      properties: {
        data: {
          $ref: '#/$defs/signing_key'
        }
      },
      required: [        'data'
      ]
    },
    signing_key: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Signing Key.'
        },
        created_at: {
          type: 'string',
          description: 'Time at which the object was created. Measured in seconds since the Unix epoch.'
        },
        private_key: {
          type: 'string',
          description: 'A Base64 encoded private key that can be used with the RS256 algorithm when creating a [JWT](https://jwt.io/). **Note that this value is only returned once when creating a URL signing key.**'
        }
      },
      required: [        'id',
        'created_at'
      ]
    }
  }
}
\```

Input parameters:

- `SIGNING_KEY_ID` (string, required)
- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

### `list_system_signing_keys` (~389 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Returns a list of signing keys.

\# Response Schema
\```json
{
  type: 'object',
  properties: {
    data: {
      type: 'array',
      items: {
        $ref: '#/$defs/signing_key'
      }
    }
  },
  required: [    'data'
  ],
  $defs: {
    signing_key: {
      type: 'object',
      properties: {
        id: {
          type: 'string',
          description: 'Unique identifier for the Signing Key.'
        },
        created_at: {
          type: 'string',
          description: 'Time at which the object was created. Measured in seconds since the Unix epoch.'
        },
        private_key: {
          type: 'string',
          description: 'A Base64 encoded private key that can be used with the RS256 algorithm when creating a [JWT](https://jwt.io/). **Note that this value is only returned once when creating a URL signing key.**'
        }
      },
      required: [        'id',
        'created_at'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…
- `limit` (integer): Number of items to include in the response
- `page` (integer): Offset by this many pages, of the size of `limit`

### `delete_system_signing_keys` (~50 tokens)

Deletes an existing signing key. Use with caution, as this will invalidate any existing signatures and no JWTs can be signed using the key again.

Input parameters:

- `SIGNING_KEY_ID` (string, required)

### `whoami_system_utilities` (~395 tokens)

When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.

Only omit if you're sure you don't need the data.

Retrieve information about your current access token, including organization, environment, and permissions. Note that this can only be access with an access token, and _all_ access tokens can access this route, regardless of what permissions they have assigned.

\# Response Schema
\```json
{
  $ref: '#/$defs/whoami_response',
  $defs: {
    whoami_response: {
      type: 'object',
      properties: {
        data: {
          type: 'object',
          properties: {
            access_token_name: {
              type: 'string'
            },
            environment_id: {
              type: 'string'
            },
            environment_name: {
              type: 'string'
            },
            environment_type: {
              type: 'string'
            },
            organization_id: {
              type: 'string'
            },
            organization_name: {
              type: 'string'
            },
            permissions: {
              type: 'array',
              items: {
                type: 'string'
              }
            }
          },
          required: [            'access_token_name',
            'environment_id',
            'environment_name',
            'environment_type',
            'organization_id',
            'organization_name',
            'permissions'
          ]
        }
      },
      required: [        'data'
      ]
    }
  }
}
\```

Input parameters:

- `jq_filter` (string): A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available. For example: to include only the `name` field…

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-mux-mcp/mux-mcp#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 62
- 2026-08-01: 5
- 2026-07-31: 22
- 2026-07-30: 24
- 2026-07-28: 40
- 2026-07-27: 40

## Links

- npm package: https://www.npmjs.com/package/@mux/mcp
- Socket report: https://socket.dev/npm/package/@mux/mcp
- Repository: https://github.com/muxinc/mux-node-sdk
- Changelog RSS feed: https://verifymcp.io/servers/com-mux-mcp/mux-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-mux-mcp/mux-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-mux-mcp/mux-mcp
