Low Risk

list_video_delivery_usage

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: 'obj...

Part of the Mux MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

@mux/mcp Read

AI agents call list_video_delivery_usage to retrieve information from Mux without modifying any data. This is common in research, monitoring, and reporting workflows where the agent needs context before taking action. Because read operations don't change state, they are generally safe to allow without restrictions -- but you may still want rate limits to control API costs.

Even though list_video_delivery_usage only reads data, uncontrolled read access can leak sensitive information or rack up API costs. An agent caught in a retry loop could make thousands of calls per minute. A rate limit gives you a safety net without blocking legitimate use.

Read-only tools are safe to allow by default. No rate limit needed unless you want to control costs.

com-mux-mcp.yaml
tools:
  list_video_delivery_usage:
    rules:
      - action: allow

See the full Mux policy for all 98 tools.

Tool Name list_video_delivery_usage
Category Read
MCP Server Mux MCP Server
Risk Level Low

View all 98 tools →

Agents calling read-class tools like list_video_delivery_usage have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Read risk category across the catalogue. The same policy patterns (rate-limit, allow) apply to each.

What does the list_video_delivery_usage tool do? +

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', 'deleted' ] }, created_at: { type: 'string', description: 'Time at which the asset was created. Measured in seconds since the Unix epoch.' }, delivered_seconds: { type: 'number', description: 'Total number of delivered seconds during this time window.' }, delivered_seconds_by_resolution: { type: 'object', description: 'Seconds delivered broken into resolution tiers. Each tier will only be displayed if there was content delivered in the tier.', properties: { tier_1080p: { type: 'number', description: 'Total number of delivered seconds during this time window that had a resolution larger than the 720p tier but less than or equal to the 1440p tier (over 921,600 and <= 2,073,600 pixels total).' }, tier_1440p: { type: 'number', description: 'Total number of delivered seconds during this time window that had a resolution larger than the 1080p tier but less than or equal to the 2160p tier (over 2,073,600 and <= 4,194,304 pixels total).' }, tier_2160p: { type: 'number', description: 'Total number of delivered seconds during this time window that had a resolution larger than the 1440p tier (over 4,194,304 pixels total).' }, tier_720p: { type: 'number', description: 'Total number of delivered seconds during this time window that had a resolution within the 720p tier (up to 921,600 pixels total, based on typical 1280x720).' }, tier_audio_only: { type: 'number', description: 'Total number of delivered seconds during this time window that had a resolution of audio only.' } } }, asset_video_quality: { type: 'string', description: 'The video quality that the asset was ingested at. This field replaces `asset_encoding_tier`. [See the video quality guide for more details.](https://docs.mux.com/guides/use-video-quality-levels)', enum: [ 'basic', 'plus', 'premium' ] }, deleted_at: { type: 'string', description: 'If exists, time at which the asset was deleted. Measured in seconds since the Unix epoch.' }, live_stream_id: { type: 'string', description: 'Unique identifier for the live stream that created the asset.' }, passthrough: { type: 'string', description: 'The `passthrough` value for the asset.' } }, required: [ 'asset_duration', 'asset_encoding_tier', 'asset_id', 'asset_resolution_tier', 'asset_state', 'created_at', 'delivered_seconds', 'delivered_seconds_by_resolution' ] } } } ```. It is categorised as a Read tool in the Mux MCP Server, which means it retrieves data without modifying state.

How do I enforce a policy on list_video_delivery_usage? +

Add a rule in your Intercept YAML policy under the tools section for list_video_delivery_usage. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Mux MCP server.

What risk level is list_video_delivery_usage? +

list_video_delivery_usage is a Read tool with low risk. Read-only tools are generally safe to allow by default.

Can I rate-limit list_video_delivery_usage? +

Yes. Add a rate_limit block to the list_video_delivery_usage rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block list_video_delivery_usage completely? +

Set action: deny in the Intercept policy for list_video_delivery_usage. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides list_video_delivery_usage? +

list_video_delivery_usage is provided by the Mux MCP server (@mux/mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Mux

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.