Skip to main content
Glama

Upload a recording

upload_recording
Idempotent

Uploads a local recording to recordful.app and waits until it finishes, returning the videoId plus view and edit links.

Instructions

Recordful Pro only (check get_status recorder.account.plan first). Upload a local recording to recordful.app and, by default, wait until the upload finishes. Defaults to the last recording. Returns the videoId and its view and edit links. A recording made in the cloud is already uploading, so this just returns it. Then get_transcript reads it back.

Input Schema

NameRequiredDescriptionDefault
waitNoWait for the upload to finish (default true).
forceNoUpload again even if this recording was uploaded before.
titleNoTitle on recordful.app. Defaults to the recording's date.
takeIdNoA local recording from list_recordings. Defaults to the last recording.
timeoutMsNoHow long to wait, in milliseconds (default 240000). If it runs out, call again to keep waiting.
visibilityNoWho may watch: "private" (only the user), "workspace" (their team), or "public" (anyone with the link). Defaults to the workspace setting.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only say this is a non-destructive, open-world write. The description adds the behavior that matters: it blocks until the upload finishes by default, and a cloud-originated recording is a no-op that just returns the existing asset. It does not mention failure modes such as expired plan mid-upload or permission errors, so it stops short of full disclosure.

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

Conciseness4/5

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

Five short sentences, front-loaded with the plan gate and the core action, then returns and the next step. The parenthetical plan check and the closing sentence about cloud recordings both earn their place, though the density of defaults in one paragraph makes it slightly harder to scan.

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

Completeness5/5

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

With no output schema, the description correctly states what comes back (videoId plus view and edit links), covers the plan prerequisite, the blocking default, and the cloud-recording edge case. An agent has everything needed to decide whether to call it and what to do with the result.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3, but the description still contributes: it foregrounds the default wait behavior, the default-to-last-recording selection, and the timeout retry loop rather than leaving the agent to scan the schema. It does not explain the interaction between force and idempotentHint, which is the one parameter subtlety left implicit.

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 ("Upload a local recording to recordful.app") and immediately distinguishes the two cases an agent will hit: a local recording gets uploaded, while a cloud recording is already uploading and is simply returned. That separation from siblings like start_recording or list_recordings is explicit rather than inferred.

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?

Gives a concrete precondition ("Recordful Pro only (check get_status recorder.account.plan first)") and names the follow-up step (get_transcript reads it back). It lacks an explicit when-not-to-use statement or direct naming of an alternative upload path, which keeps it 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.