Documentation

You never call these tools by name — you just ask in plain language, and your assistant picks the right one. This reference lists everything the assistant can do on your behalf across your Dadan library: 70 tools organized into 13 areas.

At a glance: The Dadan MCP server exposes 70 tools across 13 areas at https://mcp.dadan.io/mcp over streamable HTTP with OAuth 2.1 (no API keys). You never call tools by name — describe the goal in plain language and your assistant picks and chains the right tools. Endpoint, auth, conventions, error codes, and every tool are documented below.

For agents & developers

If you're building an agent on top of Dadan, here's how the connector behaves — the conventions, the failure modes, and how tools chain into workflows.

One rule: describe the goal, not the plumbing

Callers never pass tool names or internal ids. Refer to a video by its title or paste its Dadan link; every result already carries the ids a follow-up step needs, so the assistant threads them across a multi-step request on its own. Each response comes back as both a concise markdown answer and structured data, so an agent can read fields directly instead of parsing prose.

Connect

Endpoint
https://mcp.dadan.io/mcp — MCP over streamable HTTP.
Auth
OAuth 2.1 + PKCE with dynamic client registration. No API keys, no client secret to manage.
Discovery
/.well-known/oauth-authorization-server, /.well-known/oauth-protected-resource; registration at /oauth/register. Spec-compliant clients self-configure.
Identity
Each user signs in with their own Dadan account; every call runs as that user against Dadan's own permission checks. There is no master credential.

Conventions worth knowing

Errors an agent should handle

Chain tools into workflows

The assistant assembles these from a single sentence — you don't orchestrate the steps yourself:

FAQ

Do I call these tools by name? No. You describe your goal in plain language and your assistant picks the right tool and threads any ids across steps. Refer to a video by its title or paste its Dadan link. Each response returns both a markdown answer and structured data an agent can read directly.

How is the server authenticated? With OAuth 2.1 and PKCE plus dynamic client registration — no API keys. Metadata is published at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource, with registration at /oauth/register, so spec-compliant clients self-configure. Every call runs as the signed-in user.

How do long-running edits work? Studio edits, transcription, and translation run in the background and return a job. Poll get_job_status until it reports completed before relying on the result. Edits render a new copy by default, leaving the original untouched. A transcript is required first for summaries, notes, chapters, metadata, and translation.

Meetings 5

Send the Dadan bot to sit in on your online meetings and record them straight to your library.

record_meeting

Sends the Dadan bot to join a live meeting from its link — Zoom, Google Meet, Teams, or GoTo — and records it into your library. Each recording draws on your account's meeting allowance.

Try "My Zoom is starting — join and record it: https://zoom.us/j/123456789"

get_meeting_allowance

Shows how much of your meeting-recording allowance you've used this period — minutes used, your total, what's left, and when it resets.

Try "How many meeting-recording minutes do I have left this month?"

get_speaker_timeline

For a recorded meeting, breaks down who spoke and for how long, with each person's share of the talk time in percent and seconds.

Try "Who did most of the talking in yesterday's client call?"

list_calendars

Lists the calendar providers you've connected for automatic recording — Google or Microsoft/Outlook — and flags any that need reconnecting.

Try "Which of my calendars are connected for auto-recording?"

list_upcoming_meetings

Shows the upcoming meetings on a connected calendar, each with its title, start time, and join link. You'll need a calendar linked first.

Try "What meetings do I have coming up tomorrow?"

Library & discovery 4

Find the right video and pull up everything you need to know about it.

search_videos

Searches a workspace across titles, descriptions, tags, and transcript text, newest first and paginated. Leave the query empty to list everything.

Try "Find my videos that mention the pricing update"

get_video

Pulls the full details for one video — title, description, tags, length, status, share link, thumbnail, privacy, view count, and whether it has a transcript yet.

Try "Show me the details for my onboarding walkthrough"

list_folders

Lists the folders in a workspace with a video count for each. Their ids let you narrow a search to a single folder.

Try "What folders do I have, and how many videos are in each?"

list_workspaces

Lists the workspaces you belong to, including your default. Usually the first step when another action needs to know which workspace to work in.

Try "Which workspaces do I have access to?"

Transcript & AI 6

Turn what's said in a video into text, then into summaries, notes, chapters, and metadata. The transcript is the foundation every AI feature builds on.

transcribe_video

Starts transcribing a video in the language you choose. This is the first step after uploading, since summaries, tags, titles, and translations all build on the transcript.

Try "Transcribe my product demo in English"

get_transcript

Returns the timestamped transcript, with speaker labels where available — best for quoting or close analysis. Long transcripts come back in pages.

Try "Pull the full transcript of my keynote so I can quote from it"

generate_summary

Generates a fresh AI summary of a video in markdown. It's created on the spot rather than stored, uses one AI credit, and needs a transcript first.

Try "Give me a short summary of this training video"

generate_meeting_notes

Turns a transcript into structured meeting notes using a Note-Taker template, returned as markdown. Uses one AI credit and needs a transcript first.

Try "Write up meeting notes from this recorded standup"

get_chapters

Returns the AI-generated chapter list with start and end times — a quick way to navigate a long recording.

Try "Break this hour-long webinar into chapters"

generate_metadata

Uses AI to write a title, description, and tags from the transcript and applies them to the video. Needs a transcript first.

Try "Come up with a title, description, and tags for this video"

Translation & captions 5

Caption your videos in other languages so more people can follow along.

list_translation_languages

Lists the languages a transcript can be translated into, each with its code and name.

Try "What languages can I translate this video into?"

translate_video

Translates a video's transcript into another language and produces captions from it. This runs in the background, is plan-gated, uses AI credits, and needs a transcript first.

Try "Add Spanish captions to my welcome video"

list_translations

Lists the languages a video already has captions for, including its original language.

Try "Which languages does this video already have captions in?"

get_translation

Returns the translated caption text for one language, as timestamped segments.

Try "Show me the French captions for this video"

delete_translation

Removes one language's translation. Your original transcript stays untouched.

Try "Remove the German captions from this video"

Studio editing 9

Render an edited copy of a video without opening an editor. These edits run in the background — renders take a while, so check progress with a job-status request — and each one creates a new copy by default, leaving your original untouched.

trim_video

Keeps one time range or several and cuts everything else, with times given in seconds.

Try "Trim my recording down to just the 2 to 5 minute stretch"

crop_video

Reframes a video to a social aspect ratio — for example vertical 9:16 for Shorts, Reels, or TikTok. Many ratios are supported.

Try "Make a vertical version of this for TikTok"

add_text_overlay

Adds a text overlay — a title card, lower-third, end slate, or call-to-action — with timing in seconds and optional styling.

Try "Put a title card reading 'Q3 Recap' on the first five seconds"

add_watermark

Overlays a logo, sticker, or image from a public image URL. You can set its corner or center position, scale, opacity, and time window.

Try "Add my logo to the bottom-right corner of this video"

blur_region

Blurs one or more regions to hide things like emails, faces, or sensitive on-screen details. Regions are given in canvas pixels, with an optional time window.

Try "Blur the top-right corner from 0:10 to 0:30 — an email shows there"

add_zoom

Adds a punch-in or Ken Burns zoom, set by a magnification above 1, a focus point in canvas pixels, and a time window.

Try "Add a punch-in zoom around the one-minute mark"

adjust_volume

Mutes, ducks, or sets the level of the video's own audio over specific windows — without adding any music.

Try "Mute the first ten seconds of this clip"

add_background_music

Mixes a soundtrack over a video from a public audio URL. You set the music level and can optionally mute or duck the original audio.

Try "Add soft background music under this intro"

stitch_videos

Combines clips from one or more videos into a single video — played back to back, as picture-in-picture overlays, or both.

Try "Stitch my intro clip and my demo clip into one video"

Video editing & lifecycle 10

Get videos into your library and manage them from upload through publishing and archiving.

upload_video

Uploads a video into your library from a public, direct video URL and hands back the Dadan share link.

Try "Upload the video at this link into my library"

prepare_upload

Opens the inline upload widget — in apps that support it — so you can pick a file from your own device. The file uploads straight from your browser to Dadan.

Try "I want to upload a video file from my laptop"

update_video

Updates a video's title, description, or tags. Only the fields you mention change.

Try "Rename this video to 'March All-Hands' and add the tag internal"

set_chapters

Sets or replaces the chapter markers on a video, each with a title and a start time. This one is plan-gated.

Try "Add chapters at 0:00 Intro, 2:30 Demo, and 8:00 Q&A"

move_video

Moves a video into a different folder or library.

Try "Move this video into my Marketing folder"

clone_video

Duplicates a video within the same library — handy for making a variant before you edit. You get back the copy's id.

Try "Make a copy of this video before I start trimming it"

archive_video

Archives a video, a soft-delete you can undo. Nothing is permanently removed, and you can bring it back with a restore.

Try "Archive this old draft so it's out of the way"

restore_video

Brings back a video you archived earlier.

Try "Restore the video I archived yesterday"

make_video_public

Makes a video public so anyone can watch, or switches it back to private. This is a publishing action.

Try "Make my launch announcement public"

schedule_video

Schedules when a video goes live, using an ISO-8601 time in UTC, with an optional end time to unpublish it.

Try "Publish this video next Monday at 9am UTC"

Interactions & leads 5

Make videos interactive and capture demand right inside the player.

add_interaction

Adds an interactive element at a chosen timestamp — a poll, quiz, question, rating, free-text prompt, or a call-to-action / lead form.

Try "Add a quick poll at the two-minute mark asking which feature they'd use most"

list_interactions

Lists the interactions already on a video, each with its id, type, timestamp, and prompt.

Try "What interactions are on my demo video?"

delete_interaction

Removes a single interaction, identified by its type and id.

Try "Delete the poll on this video"

get_form_responses

Returns how viewers answered a video's polls, quizzes, and forms — question, answer, and who responded when that's known — newest first.

Try "What did people answer on my feedback poll?"

list_captured_leads

Lists the leads captured through in-video lead forms — name, email, source video, and any extra fields — newest first. You can also narrow it to one video.

Try "Show me the leads that came in through my pricing video"

Request a recording 4

Collect videos from other people with a simple request link.

create_recording_request

Creates a "request a recording" link you can send someone. Whatever they record lands straight in your library.

Try "Create a link so a candidate can record a two-minute intro for me"

list_recording_requests

Lists your recording-request links — your Requests History — newest first, each with its submission count.

Try "Show me all my recording requests and how many replies each got"

get_recording_request

Pulls up one recording request by id, with its link and how many submissions it's received.

Try "How many people have responded to my interview request?"

revoke_recording_request

Disables a request link so it stops accepting new submissions. Videos already collected are unaffected.

Try "Turn off my old feedback request link"

Playlists 8

Group videos into collections you can share as one link.

create_playlist

Creates a named, shareable playlist and hands back its id and share link.

Try "Make a playlist called 'Onboarding Series'"

add_video_to_playlist

Adds a video to a playlist.

Try "Add this welcome video to my Onboarding Series playlist"

remove_video_from_playlist

Removes a video from a playlist. The video itself stays in your library.

Try "Take the outdated clip out of my onboarding playlist"

list_playlists

Lists or searches your playlists, each with a video count. Results come back in pages.

Try "What playlists do I have?"

get_playlist

Pulls up one playlist by id, including how many videos it holds.

Try "Show me what's in my product-tour playlist"

update_playlist

Updates a playlist's name, description, or visibility.

Try "Rename my playlist to 'Customer Onboarding' and make it public"

share_playlist

Returns the public, shareable link for a playlist.

Try "Give me the share link for my onboarding playlist"

delete_playlist

Deletes a playlist. The videos in it stay in your library.

Try "Delete my old test playlist"

Folders & teams 7

Organize your library into folders and open it up to a team.

create_folder

Creates a folder — a library — and can nest it under a parent folder.

Try "Create a folder called 'Sales Demos'"

rename_folder

Renames a folder.

Try "Rename my 'Misc' folder to 'Archive 2025'"

move_folder

Moves a folder under a different parent.

Try "Move my Demos folder inside the Sales folder"

archive_folder

Archives a folder as a soft-delete, taking its videos with it. You can restore it later.

Try "Archive the folder from last year's campaign"

restore_folder

Restores an archived folder along with its videos.

Try "Bring back the campaign folder I archived"

create_team

Creates a team — a shared library others can be invited into.

Try "Set up a team space for my marketing group"

list_team_members

Lists a team's members, each with their name, email, and role.

Try "Who's on my marketing team space?"

Analytics & insights 3

See what's landing and where to focus next.

get_video_analytics

Shows the engagement on a single video — views, unique viewers, play rate, CTA clicks, form submissions, and poll responses.

Try "How is my launch video performing?"

get_insights

Pulls a workspace-level dashboard for one metric, such as KPIs, top videos, views over time, geography, or conversions.

Try "Show me my top videos this month"

analyze_library

Reviews engagement across your videos and returns prioritized, practical recommendations — like which videos would benefit from a CTA or lead form.

Try "Which of my videos should I add a lead form to?"

Sharing 1

Get everything you need to share a video in one place.

create_share_link

Returns the ways to share a video — its Dadan page, embed HTML, and a one-click watch link that plays in the browser with no login.

Try "Give me a link I can send someone to watch this video"

Account & system 3

Check your plan, keep tabs on background jobs, and confirm the server's reachable.

get_plan_usage

Shows your plan — free, lite, pro, or business — and your usage against its limits, such as video count and storage (unlimited shows as no limit).

Try "How much of my storage have I used?"

get_job_status

Reports the status of a video's most recent background edit — processing, completed, failed, or none. Worth checking until it's completed before you rely on the result.

Try "Is my vertical crop done rendering yet?"

ping

A quick health check that replies "pong" when the server is reachable.

Try "Are you connected to Dadan right now?"