Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Descript MCP connector

OAuth 2.1/DCR MediaAIProductivity

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.

Name Type Required Description
job_id string required UUID 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.

Name Type Required Description
format string required Transcript format.
project_id string required UUID of the project to export from.
composition_id string optional UUID of a specific composition. Omit to use the first composition.
include_markers boolean optional Include markers in transcript.
include_speaker_labels string optional Speaker label mode. off=none, changes=on speaker change, every_paragraph=every paragraph. Defaults to changes.
timecodes object optional Timecode 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.

Name Type Required Description
project_id string required UUID 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.

Name Type Required Description
add_media object required Map 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_compositions array optional Compositions (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_url string optional Webhook URL for job completion.
folder_name string optional Folder 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_id string optional UUID of an existing project. Mutually exclusive with project_name.
project_name string optional Name for a new project. Mutually exclusive with project_id.
team_access string optional Team 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.

Name Type Required Description
project_id string optional Filter by project UUID.
type string optional Filter 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.

Name Type Required Description
created_after string optional Filter projects created after this ISO 8601 timestamp.
created_before string optional Filter projects created before this ISO 8601 timestamp.
created_by string optional Filter projects created by this user UUID. Pass `me` to filter by the authenticated user.
cursor string optional Pagination cursor from a previous response's next_cursor.
direction string optional Sort direction (default: desc).
folder_path string optional Filter projects by folder path (e.g. "Clients/Acme/Videos"). Use "/" to separate nested folders. Returns only projects directly inside the deepest folder.
limit number optional Number of projects per page (1-100, default 20).
name string optional Filter projects whose name contains this string (case-insensitive).
sort string optional Sort field (default: created_at).
updated_after string optional Filter projects updated after this ISO 8601 timestamp.
updated_before string optional Filter 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.

Name Type Required Description
prompt string required Natural language instructions for the agent.
callback_url string optional Webhook URL for job completion.
composition_id string optional Composition 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_id string optional Conversation 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.
model string optional AI model override. Omit for default.
project_id string optional UUID of an existing project to edit. Provide either project_id or project_name, not both.
project_name string optional Name 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.

Name Type Required Description
project_id string required UUID of the project to publish.
access_level string optional Desired 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_url string optional Webhook URL for job completion.
composition_id string optional Composition 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_type string optional Media type of the published output (default "Video").
resolution string optional Resolution 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.

Name Type Required Description
job_id string required The job_id returned by import_media, prompt_project_agent, or publish_project.
wait_seconds number optional Seconds to poll for completion (default 300, max 300). Set 0 to return immediately.