Skip to main content
Glama

Dutify

hub_get_media_url

Read-onlyIdempotent

Like hub_get_audio_url but returns the full media (video + audio) when the recording has a video track. Falls back to audio-only when there isn't one. Same expiry semantics. Requires recordings:read scope.

Input Schema

NameRequiredDescriptionDefault
accountNoMulti-account auth only: name of the account from X-Dutify-Accounts to use for this call. Ignored in single-account mode (X-API-Key header). When multiple accounts are configured and this is omitted, the call fails with ACCOUNT_REQUIRED listing the available names. list_accounts never requires a selection.
workspaceNoWorkspace identifier or exact name for this call. Overrides the configured workspace. For personal keys, discover candidates with list_workspaces and select explicitly. Does not change other calls or expand a workspace key's access.
recordingIdYesRecording ID.
expiryMinutesNoHow long the URL stays valid. Default 30.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, non-destructive, idempotent), and the description adds genuinely new behavior: automatic degradation to audio-only when no video track exists, shared expiry semantics with the audio tool, and the recordings:read authorization requirement. What it omits is the concrete return shape (e.g. whether the response includes an expiry timestamp alongside the URL).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no filler, led by the differentiation that matters most. Each sentence carries distinct information: what differs from the audio tool, the fallback, and the auth prerequisite.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a URL-returning read with no output schema, the definition covers purpose, sibling choice, fallback behavior, expiry and scope. The remaining gap is return-value shape (URL field name, whether expiry is returned), which an agent would have to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so account, workspace, recordingId and expiryMinutes are already documented in the schema. The description only gestures at expiry ('Same expiry semantics') without restating the parameter or its default, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (get media URL) and explicitly anchors it to a named sibling, hub_get_audio_url, contrasting the two: this returns video+audio when a video track exists, audio-only otherwise. An agent can distinguish it from hub_get_audio_url and hub_get_preview_url without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Like X but...' framing gives a clear selection rule: choose this over the audio-only tool when full media is wanted, with the fallback stated as automatic. It also names the required recordings:read scope. It does not spell out an explicit when-not case (e.g. when to prefer hub_get_audio_url instead), keeping it just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources