Cancel job
Cancel a queued or running job.
Descript MCP lets agents import media, run project-agent workflows, and inspect or manage authorized processing jobs in Descript.
Cancel a queued or running job.
Export a project composition as a timeline file for import into another DAW/NLE (Premiere, DaVinci Resolve, Final Cut Pro, Pro Tools, Logic, Audition, Reaper). Media files are never bundled — only the timeline/XML/EDL file itself. Returns immediately with a job_id. Use the wait_for_job tool with the returned job_id to wait for completion; when the job finishes, its result carries a time-limited download_url (valid until download_url_expires_at). Always display the download_url to the user so they can download the file directly. Large exports can take several minutes, so polling avoids connection timeouts. Formats: edl (Samplitude/Reaper), sesx (Adobe Audition), fcp (Final Cut Pro X .fcpxml), premiere (Premiere Pro XML), davinci_resolve (DaVinci Resolve XML), aaf (Pro Tools/Logic, binary).
Export a project composition as a transcript document. Formats: txt, markdown, html, rtf, srt. Returns the exported content directly in the response.
Returns the drive (workspace) connected to the current session, including its ID and name. Use this to confirm which drive your requests will operate on.
Get a detailed project summary including all media files, compositions, and existing publishes. Returns the project's id, name, drive_id, created_at, updated_at, folder_path (if in a folder), a map of media files (keyed by display path) with type and duration, a list of compositions with id, name, duration, and media type, and a list of existing publishes with share_url, access_level, media_type, and publish time. Use this to inspect a project's contents before editing or importing media, or to retrieve existing share URLs without triggering a republish.
Import media files into the drive media library (not into a project). Use this when the user wants to add files to their media library without creating or editing a project. Supports URL imports and direct file uploads. DIRECT FILE UPLOAD: Instead of a url, provide content_type (MIME type) and file_size (bytes). The response includes upload_urls — a map of media key → { upload_url, asset_id, artifact_id }. PUT each file to its upload_url with header Content-Type: application/octet-stream. Returns immediately with a job_id and drive_id. Please use the wait_for_job tool with the returned job_id to wait for the job to complete.
Import media into a Descript project via URLs (direct links, Google Drive, Dropbox) or direct file upload. Pass URLs as-is. Pass empty add_media ({}) with project_name to create an empty project. ADDING TO COMPOSITION: When creating a new project, include add_compositions so imported media appears on the timeline — this is the expected default. Only omit add_compositions for new projects when the user explicitly asks to import without adding to the composition. When importing into an existing project, omit add_compositions unless the user requests it, to avoid disrupting existing edits. To append media to an EXISTING composition, use update_compositions (composition_id + append_clips) instead of add_compositions. DIRECT FILE UPLOAD: Instead of a url, provide content_type (MIME type) and file_size (bytes). The response includes upload_urls — a map of media key → { upload_url, asset_id, artifact_id }. PUT each file to its upload_url with header Content-Type: application/octet-stream. The uploaded file size must match the file_size declared in the request. Returns immediately with a job_id, project_id, and project_url. Always display the project_url to the user so they can open the project in Descript. Please use the wait_for_job tool with the returned job_id to wait for the job to complete.
List folders in the drive. Returns each folder's full path from the drive root. By default lists root-level folders. Pass parent_path to list child folders of a specific parent. Use this to browse the folder hierarchy before filtering projects by folder_path.
List recent jobs, optionally filtered by project or type. Job states: queued, running, stopped (check result.status), cancelled.
List projects accessible to the authenticated user. Returns each project's id, name, created_at, updated_at, and folder_path (if the project is inside a folder). Use this to discover project IDs before editing or importing media. Supports cursor-based pagination — pass the next_cursor from a previous response's pagination field to fetch the next page.
Agent Underlord, Descript's built-in AI editor, queries, creates, and edits Descript projects using natural language. Refer to it as Agent Underlord when telling the user what is doing the editing, since that is the name they see in the Descript app. Use project_id for existing projects, project_name to create new ones. Returns immediately with a job_id, project_id, and project_url. Always display the project_url to the user so they can open the project in Descript. Please use the wait_for_job tool with the returned job_id to wait for the job to complete. The response includes a conversation_id — pass it back on subsequent calls to the same project to continue the conversation with full context.
Publish a Descript project composition as video or audio, producing a shareable URL. Requires a project_id. Optionally specify a composition_id (defaults to the first composition). Publishing the same composition again automatically reuses the previous share URL, overwriting its content; Video and Audio publishes of the same composition get separate share URLs. If the composition has no video content: omitting media_type publishes it as audio (the result reports media_type="Audio"), while explicitly requesting media_type="Video" fails with a 422. Returns immediately with a job_id. Please use the wait_for_job tool with the returned job_id to wait for the job to complete. When the job completes, always display the share_url and download_url from the result to the user.
Report that a specific direct upload failed, was aborted, or was abandoned so the import job stops waiting on just that file (other files keep uploading). Use this after a PUT to an upload_url errors ("failed"), the user cancels an in-flight upload ("aborted"), or a file will never be uploaded ("abandoned", e.g. the upload UI was dismissed). media_id is the key from the import request's add_media / upload_urls map.
Wait for a job to complete. Polls for completion by default (840s) and streams progress updates. Set wait_seconds to 0 to return immediately without waiting. Job states: queued, running, stopped, cancelled. A stopped job has a result object — check result.status for "success" or "error". These jobs routinely run for many minutes, so a long wait is normal rather than a stall. If the job is still going when the wait window elapses, the call still succeeds and returns a non-terminal job_state with wait_status "still_running". That is not a failure — call wait_for_job again with the same job_id and keep calling until job_state is "stopped" or "cancelled". While the job is running, progress.label contains a human-readable status (e.g. "Editing script", "Searching web") — display this to the user so they can see what the agent is doing. The response includes project_url — when a composition ID is available in the result, the URL includes a composition short ID suffix so it opens directly to the right composition. Always display project_url to the user. A completed export_timeline job returns a time-limited result.download_url (valid until result.download_url_expires_at); always display this URL to the user so they can download the file directly. For prompt_project_agent jobs, the completed result includes result.conversation_id — save it and pass it back as conversation_id on the next prompt_project_agent call to the same project to continue the conversation.
The Descript MCP integration connects your Dench AI CRM directly to Descript MCP, so agents can read and act on your Descript MCP data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.
14 actions are available for agents to invoke on your behalf. Every call runs through Descript MCP's own authorization, scoped to the account you connect.
Sign in to your Dench workspace and open Integrations.
Find Descript MCP and click Connect — you'll authorize access through Descript MCP's own sign-in flow. No API keys or code required.
Ask an agent to use Descript MCP in chat, or call it from an automation.
Manage or disconnect the connection any time from workspace settings.
The Dench Descript MCP integration connects your AI CRM to Descript MCP, so AI agents can work with your Descript MCP data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.
The Descript MCP integration currently exposes 14 actions, including Cancel job, Export timeline, Export transcript, Get drive info, Get project, and Import drive media. Agents invoke them on your behalf from chat or from automations.
No. You connect Descript MCP from your Dench workspace using Descript MCP's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.
Connections are authorized through Descript MCP's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Descript MCP connection from your workspace settings at any time.