Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Descript MCP connector

OAuth 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_list_jobs',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Job wait for, cancel — Poll a Descript job until it completes, streaming progress updates, with an optional timeout
  • Project publish — Publish a Descript project composition as video or audio and return a shareable URL
  • Agent prompt project — Use Descript’s AI agent to query, create, or edit a project using a natural language prompt
  • List projects, jobs — List Descript projects accessible to the authenticated user, with optional filtering and sorting
  • Media import — Import media into a Descript project from URLs (Google Drive, Dropbox, direct links) or direct file upload
  • Get project — Retrieve detailed information about a Descript project, including its media files and compositions

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_transcript#Export a project composition as a transcript document in txt, markdown, HTML, or RTF format.6 params

Export a project composition as a transcript document in txt, markdown, HTML, or RTF 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_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_media#Import media into a Descript project from URLs (Google Drive, Dropbox, direct links) or direct file upload.7 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.
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.7 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.
conversation_idstringoptionalConversation ID (UUID) from a previous agent job to continue that conversation. Omit to start a new conversation. The conversation_id is returned in the job result.
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_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, or publish_project.
wait_secondsnumberoptionalSeconds to poll for completion (default 300, max 300). Set 0 to return immediately.