Skip to content
Scalekit Docs

Descript MCP

Vendor MCP14 toolsOAuth 2.1/DCRMediaAIProductivity

Connect to Descript MCP. Import media, export transcripts, publish projects, run AI editing agents, and manage jobs from your AI workflows.

Descript MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'descriptmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Descript MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'descriptmcp_get_drive_info',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Status report upload — Report that a direct upload failed, was aborted, or was abandoned so the import job stops waiting on that file
  • List folders, projects, jobs — List folders in the Descript drive, optionally scoped to a parent folder
  • Media import drive, import — Import media files into the Descript drive media library (not a project) via URLs or direct file upload
  • Get drive info, project — Return the Descript drive (workspace) connected to the current session, including its ID and name
  • Timeline export — Export a project composition as a timeline file (AAF, SESX, EDL, FCPXML, Premiere XML, or DaVinci Resolve XML) for import into another DAW/NLE
  • Job wait for, cancel — Poll a Descript job until it completes, streaming progress updates, with an optional timeout

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

descriptmcp_cancel_job#Cancel a queued or running Descript job by its ID.1 param

Cancel a queued or running Descript job by its ID.

NameTypeRequiredDescription
job_idstringrequiredUUID of the job to cancel.
descriptmcp_export_timeline#Export a project composition as a timeline file (AAF, SESX, EDL, FCPXML, Premiere XML, or DaVinci Resolve XML) for import into another DAW/NLE.8 params

Export a project composition as a timeline file (AAF, SESX, EDL, FCPXML, Premiere XML, or DaVinci Resolve XML) for import into another DAW/NLE.

NameTypeRequiredDescription
formatstringrequiredTimeline file format.
project_idstringrequiredUUID of the project to export from.
callback_urlstringoptionalWebhook URL for job completion.
composition_idstringoptionalUUID of a specific composition. Omit to use the first composition.
create_track_per_filebooleanoptionalGenerate one EDL/XML track per source media file rather than per script. Defaults to false. Not supported for fcp (FCPXML); rejected when true.
include_markersbooleanoptionalInclude markers in formats that support them (EDL, SESX). Defaults to the format-specific default (true for EDL/SESX/FCP/Premiere/DaVinci, false for AAF).
snap_frame_ratesbooleanoptionalPremiere / DaVinci Resolve only. When true, snaps to standard broadcast frame rates (24, 25, 30, 50, 60 + NTSC variants). When false, uses the source frame rate. Defaults to true. Rejected when false for other formats.
strip_spacesbooleanoptionalAAF only. Strip spaces from media filenames for Logic Pro compatibility. Defaults to false. Rejected when true for other formats.
descriptmcp_export_transcript#Export a project composition as a transcript document in txt, markdown, HTML, RTF, or SRT format.6 params

Export a project composition as a transcript document in txt, markdown, HTML, RTF, or SRT format.

NameTypeRequiredDescription
formatstringrequiredTranscript format.
project_idstringrequiredUUID of the project to export from.
composition_idstringoptionalUUID of a specific composition. Omit to use the first composition.
include_markersbooleanoptionalInclude markers in transcript.
include_speaker_labelsstringoptionalSpeaker label mode. off=none, changes=on speaker change, every_paragraph=every paragraph. Defaults to changes.
timecodesobjectoptionalTimecode options. When provided, timecodes are included in the output.
descriptmcp_get_drive_info#Return the Descript drive (workspace) connected to the current session, including its ID and name.0 params

Return the Descript drive (workspace) connected to the current session, including its ID and name.

descriptmcp_get_project#Retrieve detailed information about a Descript project, including its media files and compositions.1 param

Retrieve detailed information about a Descript project, including its media files and compositions.

NameTypeRequiredDescription
project_idstringrequiredUUID of the project.
descriptmcp_import_drive_media#Import media files into the Descript drive media library (not a project) via URLs or direct file upload.3 params

Import media files into the Descript drive media library (not a project) via URLs or direct file upload.

NameTypeRequiredDescription
add_mediaobjectrequiredMap of display name → media entry. Keys can include folder paths (e.g. "Recordings/intro.mp4"). Each entry is either a URL import (provide "url") or a direct upload (provide "content_type" and "file_size"). URL imports and direct uploads accept an optional "language" for transcription.
callback_urlstringoptionalWebhook URL to receive job completion notification.
folder_idstringoptionalTarget folder ID in the drive media library.
descriptmcp_import_media#Import media into a Descript project from URLs (Google Drive, Dropbox, direct links) or direct file upload.9 params

Import media into a Descript project from URLs (Google Drive, Dropbox, direct links) or direct file upload.

NameTypeRequiredDescription
add_mediaobjectrequiredMap of display name → media entry. Keys can include folder paths (e.g. "Recordings/intro.mp4") to organize media into folders in the project. Each entry is one of: a URL import (provide "url"), a direct upload (provide "content_type" and "file_size"), or a multitrack sequence (provide "tracks" array). Use exactly one variant per entry. URL imports and direct uploads accept an optional "language" for transcription.
add_compositionsarrayoptionalCompositions (timelines) to create from the imported media. Include this when creating a new project so media appears on the timeline. Omit when importing into an existing project unless the user asks to add to the timeline.
callback_urlstringoptionalWebhook URL for job completion.
folder_namestringoptionalFolder path to place the new project in (e.g. "Clients/Acme/Videos"). Use "/" to separate nested folders. Only valid when creating a new project (no project_id). Existing folders along the path are reused; missing segments are created automatically. Requires team_access to be set to "edit", "comment", or "view" — projects in folders must be accessible to drive members.
project_idstringoptionalUUID of an existing project. Mutually exclusive with project_name.
project_namestringoptionalName for a new project. Mutually exclusive with project_id.
team_accessstringoptionalTeam access for new projects.
update_compositionsarrayoptionalAppend clips to existing compositions in the target project. Requires project_id.
workspace_namestringoptionalWorkspace to create the new project in, matched by name (case-insensitive). Only valid when creating a new project (no project_id). Reserved names: "Personal" (private space, requires team_access "none" or omitted) and "General" (shared drive workspace). "General" and custom workspaces require a shared team_access ("edit", "comment", or "view"); defaults to "view" when omitted. Custom workspaces require the caller to be a workspace member.
descriptmcp_list_folders#List folders in the Descript drive, optionally scoped to a parent folder.1 param

List folders in the Descript drive, optionally scoped to a parent folder.

NameTypeRequiredDescription
parent_pathstringoptionalParent folder path (e.g. "Clients/Acme"). Returns child folders of this folder. Omit to list root-level folders.
descriptmcp_list_jobs#List recent Descript jobs with optional filtering by project or job type.2 params

List recent Descript jobs with optional filtering by project or job type.

NameTypeRequiredDescription
project_idstringoptionalFilter by project UUID.
typestringoptionalFilter by job type.
descriptmcp_list_projects#List Descript projects accessible to the authenticated user, with optional filtering and sorting.11 params

List Descript projects accessible to the authenticated user, with optional filtering and sorting.

NameTypeRequiredDescription
created_afterstringoptionalFilter projects created after this ISO 8601 timestamp.
created_beforestringoptionalFilter projects created before this ISO 8601 timestamp.
created_bystringoptionalFilter projects created by this user UUID. Pass `me` to filter by the authenticated user.
cursorstringoptionalPagination cursor from a previous response's next_cursor.
directionstringoptionalSort direction (default: desc).
folder_pathstringoptionalFilter projects by folder path (e.g. "Clients/Acme/Videos"). Use "/" to separate nested folders. Returns only projects directly inside the deepest folder.
limitnumberoptionalNumber of projects per page (1-100, default 20).
namestringoptionalFilter projects whose name contains this string (case-insensitive).
sortstringoptionalSort field (default: created_at).
updated_afterstringoptionalFilter projects updated after this ISO 8601 timestamp.
updated_beforestringoptionalFilter projects updated before this ISO 8601 timestamp.
descriptmcp_prompt_project_agent#Use Descript's AI agent to query, create, or edit a project using a natural language prompt.6 params

Use Descript's AI agent to query, create, or edit a project using a natural language prompt.

NameTypeRequiredDescription
promptstringrequiredNatural language instructions for the agent.
callback_urlstringoptionalWebhook URL for job completion.
composition_idstringoptionalComposition to target. Accepts a full UUID, a 5-character short ID from the project's Descript URL, or the project's full Descript URL (e.g. https://web.descript.com/{project_id}/{short_id}). Use get_project to find available composition IDs for this project. Omit to target the whole project.
modelstringoptionalAI model override. Omit for default.
project_idstringoptionalUUID of an existing project to edit. Provide either project_id or project_name, not both.
project_namestringoptionalName for a new project to create. Provide either project_id or project_name, not both.
descriptmcp_publish_project#Publish a Descript project composition as video or audio and return a shareable URL.6 params

Publish a Descript project composition as video or audio and return a shareable URL.

NameTypeRequiredDescription
project_idstringrequiredUUID of the project to publish.
access_levelstringoptionalDesired access level for the published share page. Defaults to the drive default. Fails with 403 if the requested level is not permitted by the drive publish settings.
callback_urlstringoptionalWebhook URL for job completion.
composition_idstringoptionalComposition to publish. Accepts a full UUID, a 5-character short ID from the project's Descript URL, or the project's full Descript URL (e.g. https://web.descript.com/{project_id}/{short_id}). Use get_project to find available composition IDs for this project. Defaults to the first composition if omitted.
media_typestringoptionalMedia type of the published output (default "Video").
resolutionstringoptionalResolution for the published output (default determined by project).
descriptmcp_report_upload_status#Report that a direct upload failed, was aborted, or was abandoned so the import job stops waiting on that file.4 params

Report that a direct upload failed, was aborted, or was abandoned so the import job stops waiting on that file.

NameTypeRequiredDescription
job_idstringrequiredID of the import job that owns the upload.
media_idstringrequiredMedia key (from the import request's add_media / upload_urls) to report.
statusstringrequiredfailed = the PUT errored; aborted = cancelled in flight; abandoned = never attempted.
detailstringoptionalOptional free-text context (e.g. "HTTP 403 from storage").
descriptmcp_wait_for_job#Poll a Descript job until it completes, streaming progress updates, with an optional timeout.2 params

Poll a Descript job until it completes, streaming progress updates, with an optional timeout.

NameTypeRequiredDescription
job_idstringrequiredThe job_id returned by import_media, prompt_project_agent, publish_project, or export_timeline.
wait_secondsnumberoptionalSeconds to poll for completion (default 300, max 300). Set 0 to return immediately.