Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Dropbox MCP server

Vendor MCP
Open markdown

The Dropbox MCP connector routes your AI agent's tool calls to Dropbox's own MCP server through Scalekit. Each user signs in to Dropbox once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 25 tools.

Tools
25
What they doRead · write · destructive
16 · 5 · 416 read5 write4 destructive
Users sign in with
OAuth app
Scalekit's or your own

What you can do

  • Browse and search files: list folder contents, search by name, and fetch file details and content
  • Manage files and folders: create, copy, move, and delete files and folders
  • Convert and transcribe: turn documents into markdown and transcribe audio or video files
  • Share files: create shared links with access controls, get download links, and set up file requests
  • Restore earlier versions: view file revision history and restore files or folders to a previous state

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    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. Create the Dropbox MCP connection

    In AgentKit > Connections, create a Dropbox MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Dropbox, so you don't need to register an OAuth app. To show your own app on the consent screen, use your own credentials instead.

    Use your own OAuth app

    Create a Dropbox OAuth app to get a client ID and secret, then register your Scalekit redirect URI so Dropbox can redirect users back after authorization.

    1. Create a Dropbox developer app

    2. Configure the app

      On the app creation form:

      • Choose an API: Select Scoped access.
      • Choose the type of access: Select Full Dropbox — Access to all files and folders in a user’s Dropbox.
      • Name your app: Enter a name (e.g. Agent Auth).
      • Click Create app.

    3. Copy your credentials and add the redirect URI

      On your app’s settings page:

      • Copy the App key (this is your client ID) and App secret (click Show to reveal).
      • Under OAuth 2 → Redirect URIs, add your Scalekit redirect URI and click Add.

    4. Create a connection in Scalekit

      • In the Scalekit dashboard, go to AgentKit → Connections → Create Connection.
      • Search for Dropbox MCP and click Create.
      • Enter the App key as the client ID and App secret as the client secret.
      • Note the Connection name — use this as connection_name in your code (e.g., dropboxmcp).
  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'dropboxmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Dropbox MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'dropboxmcp_check_job_status',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • dropboxmcp_check_job_statusCheck the status of an async Dropbox operation by its job ID.Read-only

    Check Job Status

    Check the status of an async Dropbox operation by its job ID.

    Inputs

    operation_idstring
    The async job ID returned from a previous Dropbox operation.
    wait_msinteger
    Milliseconds to wait for the job to complete before returning.
  • dropboxmcp_get_file_contentRetrieve the raw content of a file by path or file ID.Read-only

    Get File Content

    Retrieve the raw content of a file by path or file ID.

    Inputs

    path_or_file_idstringrequired
    The Dropbox path or file ID of the file or folder.
  • dropboxmcp_get_file_metadataRetrieve metadata for a file or folder by path or file ID.Read-only

    Get File Metadata

    Retrieve metadata for a file or folder by path or file ID.

    Inputs

    path_or_file_idstringrequired
    The Dropbox path or file ID of the file or folder.
  • dropboxmcp_get_file_requestRetrieve details of a specific file request by its ID.Read-only

    Get File Request

    Retrieve details of a specific file request by its ID.

    Inputs

    idstringrequired
    The unique ID of the file request.
  • dropboxmcp_get_markdownConvert a Dropbox document to markdown, optionally polling an in-progress async conversion job.Read-only

    Get Markdown

    Convert a Dropbox document to markdown, optionally polling an in-progress async conversion job.

    Inputs

    async_job_idstring
    Opaque token from a previous in_progress get_markdown response. Send this alone to poll for completion.
    embed_imagesboolean
    Embed images as base64 data URIs in the markdown output. Can significantly increase output size. Omit to disable.
    enable_ocrboolean
    Run OCR on PDF documents. Processing is slower when enabled. Omit to disable.
    path_or_file_idstring
    Document to convert to markdown. Required on a new request; omit when polling with async_job_id.
  • dropboxmcp_get_transcriptTranscribe a Dropbox audio or video file, optionally polling an in-progress async transcription job.Read-only

    Get Transcript

    Transcribe a Dropbox audio or video file, optionally polling an in-progress async transcription job.

    Inputs

    async_job_idstring
    Opaque token from a previous in_progress get_transcript response. Send this alone to poll for completion.
    audio_languagestring
    ISO 639-1 two-letter language code such as "en". Omit for auto-detection.
    path_or_file_idstring
    Audio or video file to transcribe. Required on a new request; omit when polling with async_job_id.
    timestamp_levelstring
    Granularity of segment timestamps. Omit for the default of "sentence".one of sentenceword