Tools Reference
Every tool of the VIDTREO MCP — what it does, its inputs, the permission it needs, and its limits.
Tools Reference
The VIDTREO MCP exposes 37 tools to the assistant, plus 3 that only the recorder and player use. You never call them yourself: you ask in plain words and the assistant picks the tools. This reference is for knowing exactly what the assistant can do, and for building on the server from your own MCP client.
Each tool declares its kind, which clients use to decide when to ask for your approval:
| Kind | Meaning |
|---|---|
| Read | Only reads. Changes nothing |
| Write | Creates or changes something that can be changed back |
| Destructive | Deletes, revokes, or replaces something, or changes who can access a recording. The assistant only calls it when you explicitly asked |
Every tool also depends on your role in the workspace — see Your role still applies.
Videos
| Tool | What it does | Scope | Kind |
|---|---|---|---|
search_videos | Lists and searches videos, newest first by default | videos:read | Read |
get_video | Details of one video: title, status, duration, size, visibility, dates | videos:read | Read |
get_video_transcript | The transcript as WebVTT, with timestamps | videos:read | Read |
rename_video | Changes a video's title (1–120 characters) | videos:write | Write |
reprocess_transcript | Starts a new transcription that replaces the current one | videos:write | Destructive |
delete_video | Deletes a video. Cannot be undone | videos:delete | Destructive |
search_videos filters — all optional:
| Input | Values |
|---|---|
search | Text in the title, 3–100 characters |
scope | all, or shared for videos other people shared with you |
environmentId | Only videos recorded in this environment |
status | pending, processing, completed, failed, deleted |
startDate, endDate | Creation dates, YYYY-MM-DD |
sortBy | createdAt, sharedAt, duration, fileSize |
sortDirection | asc, desc |
limit | 1–100, default 20 |
cursor | nextCursor of the previous page, when it returned hasMore: true |
reprocess_transcript works on videos that already have a transcription — for example one that failed. It does not create the first transcript; turn on AI transcription in the environment (update_environment) so new recordings are transcribed. The new transcript takes a few minutes.
Audios
| Tool | What it does | Scope | Kind |
|---|---|---|---|
search_audios | Lists and searches audio recordings, newest first | videos:read | Read |
get_audio | Details of one audio: title, status, duration, size, format, visibility, dates | videos:read | Read |
get_audio_transcript | The transcript as WebVTT, with timestamps | videos:read | Read |
rename_audio | Changes an audio's title (1–120 characters) | videos:write | Write |
delete_audio | Deletes an audio. Cannot be undone | videos:delete | Destructive |
search_audios accepts search, environmentId, status, limit, and cursor, with the same values as search_videos.
Sharing
Sharing tools work on videos.
| Tool | What it does | Scope | Kind |
|---|---|---|---|
get_video_sharing | Visibility, public link, invited people (with their recipient ids), and view statistics | videos:read | Read |
update_video_sharing | Changes visibility and allowDownload; send only what changes | videos:write | Destructive |
invite_video_recipients | Emails each address a personal link to watch the video | videos:write | Write |
revoke_video_recipient | Revokes the personal link of an invited person | videos:write | Destructive |
| Visibility | Who can watch |
|---|---|
private | Workspace members only |
people | Workspace members and invited emails |
public | Anyone with the link |
invite_video_recipients takes up to 20 addresses and an optional message of up to 500 characters for the email. Inviting someone to a private video makes it visible to them; inviting the same address again issues a new link. The assistant only invites addresses you asked it to.
Environments
| Tool | What it does | Scope | Kind |
|---|---|---|---|
list_environments | Environments you can access; isDefault marks your default one | environment:read | Read |
get_environment | One environment: name, quality, storage type, AI transcription | environment:read | Read |
create_environment | Creates an environment with its name and settings | environment:write | Write |
update_environment | Changes only the settings you asked for (at least one) | environment:write | Write |
set_default_environment | Makes an environment your default for recordings. Also changes it in the dashboard | environment:write | Write |
Settings the assistant can set — before creating an environment, it asks you for the name and each setting, offering the options and defaults:
| Setting | Values | Default |
|---|---|---|
name | 1–100 characters | — (required) |
presetEncoding | sd, hd, fhd, 4k | hd |
enableAiTranscription | Transcribe every new recording with AI | false |
audio.enabled | Allow audio-only recordings | false |
audio.format | aac, opus | aac |
audio.bitrate | 64000, 96000, 128000, 192000 | 128000 |
audio.channels | 1 (mono), 2 (stereo) | 1 |
audio.echoCancellation | true, false | true |
audio.noiseSuppression | true, false | true |
audio.autoGain | true, false | true |
audio.normalize | true, false | false |
Name and AI transcription are saved separately from quality and audio. If one part fails, the error lists what was and was not applied, for example: The environment was only partly updated. Applied: name. Not applied: presetEncoding, audio. …
Your own S3 storage and webhook endpoints are configured in the dashboard only. The MCP never sends them, and environment results leave them out.
Intelligence: Analyses
| Tool | What it does | Scope | Kind |
|---|---|---|---|
list_lenses | Lenses of the workspace, with the objective of their latest published version | videos:read | Read |
start_analysis | Analyzes a video with a lens. Uses credits | intelligence:run | Write |
list_video_analyses | Analyses of a video, newest first, with their status | videos:read | Read |
get_analysis_result | Result of a completed analysis, without word-by-word timings | videos:read | Read |
ask_video | Answers a question (up to 1,000 characters) about a video from its latest completed analysis — or the one given in runId — with citations | videos:read + a role that can create videos | Read |
See Intelligence in the chat for how these work together.
Intelligence: Lenses
| Tool | What it does | Scope | Kind |
|---|---|---|---|
get_lens | One lens with every version, its configuration, and its activations | videos:read | Read |
create_lens | Creates a lens, as a draft or published and activated in the environments you chose | intelligence:manage | Write |
rename_lens | Changes a lens's name (1–120 characters) | intelligence:manage | Write |
update_lens_config | Saves a complete new configuration as a new version, as a draft or published | intelligence:manage | Write |
publish_lens_version | Publishes a draft version and moves the lens's activations to it | intelligence:manage | Write |
delete_lens | Archives a lens. It cannot be restored from the assistant | intelligence:manage | Destructive |
list_lens_activations | Lenses active in an environment, their version, and whether auto-analyze is on | videos:read | Read |
activate_lens | Activates a published lens in an environment, with auto-analyze off | intelligence:manage | Write |
deactivate_lens | Removes a lens from an environment; the lens and its analyses are kept | intelligence:manage | Write |
set_lens_auto_analyze | Turns automatic analysis of new recordings on or off. Uses credits while on | intelligence:manage | Write |
create_lens and update_lens_config take the full lens configuration (objective, instructions, outputLanguage, summarySections, fields, rubric, scale, trustRules, visualChecks, artifacts) with the limits in Lenses, an optional version note of up to 200 characters, and publish, which the assistant always asks you about.
Recording and Playback
| Tool | What it does | Scope | Kind |
|---|---|---|---|
record | Shows the recorder in the conversation, and returns a link to the dashboard recorder for clients without MCP Apps | environment:read when no environment is given; videos:write to upload | Read |
play | Shows the player for a video or an audio, and returns a link to it in the dashboard for clients without MCP Apps | videos:read | Read |
| Input | Tool | Values |
|---|---|---|
mode | record | audio, camera, screen, camera_screen |
title | record | 1–120 characters, chosen by you |
environmentId | record | Optional; otherwise your default environment |
mediaKind | play | video, audio |
id | play | The video or audio id |
record itself records nothing — you do, in the recorder. See Recording & Playback.
App-only Tools
The recorder and player call these tools themselves. They are hidden from the assistant:
| Tool | Used by | What it does |
|---|---|---|
create_upload_token | Recorder | Exchanges your session for a short-lived upload token, so your sign-in token never reaches the recorder |
find_new_recording | Recorder | Detects the recording made in the dashboard after Record in Vidtreo |
get_playback_url | Player | Gets a temporary link to stream the media |
Limits
| Limit | Value |
|---|---|
Results per page (search_videos, search_audios) | 1–100, default 20 |
| Search text | 3–100 characters |
| Titles (videos, audios, recordings) | 1–120 characters |
| Tool result size | 100,000 characters — longer results, such as very long transcripts, are cut and say so: [Truncated: showing the first 100000 of … characters] |
| Invitations per call | 20 addresses |
Question to ask_video | 1,000 characters |