Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Vivu MCP server

Vendor MCP
Open markdown

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

Tools
11
What they doRead · write · destructive
7 · 2 · 27 read2 write2 destructive
Users sign in with
OAuth app
Your own Vivu MCP server app

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 Vivu MCP connection

    In AgentKit > Connections, create a Vivu MCP connection and copy its redirect URI. The name you give it is the connection_name your code passes. See Configure connections.

  4. Register an OAuth app

    Vivu MCP server connections use your own OAuth app. Register one with Vivu MCP server and add the redirect URI you copied.

    Then enter the app's Client ID and Client Secret on the Vivu MCP connection.

  5. 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 = 'vivumcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Vivu 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: 'vivumcp_vivu_get_account',
    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
  • vivumcp_vivu_get_accountShow the Vivu account connected to this assistant.Read-only

    Get connected Vivu account

    Show the Vivu account connected to this assistant.

    Inputs

    This tool takes no inputs.

  • vivumcp_vivu_get_search_resultsWait for a pending video search and return its final results when ready.Read-only

    Get video search results

    Wait for a pending video search and return its final results when ready.

    Inputs

    job_idstringrequired
    Search identifier returned by the search tool.
  • vivumcp_vivu_get_usageCheck the connected account's remaining allowance and plan information.Read-only

    Get Usage

    Check the connected account's remaining allowance and plan information.

    Inputs

    This tool takes no inputs.

  • vivumcp_vivu_get_video_summaryRead a video's saved overview and optional timestamped section summaries.Read-only

    Read video summary

    Read a video's saved overview and optional timestamped section summaries. Use this when asked what a video is about.

    Inputs

    project_idstringrequired
    Project containing the video.
    video_idstringrequired
    Video to summarize.
    end_msstring
    Optional end of the section range in milliseconds.
    include_segmentsboolean
    Include section summaries.default false
    limitinteger
    Maximum sections in this response.default 50
    offsetinteger
    Section pagination offset.default 0
    start_msinteger
    Start of the section range in milliseconds.default 0
  • vivumcp_vivu_list_projectsList the video projects available to the signed-in user.Read-only

    List Vivu projects

    List the video projects available to the signed-in user.

    Inputs

    This tool takes no inputs.

  • vivumcp_vivu_list_videosList videos and indexing status in a cloud project.Read-only

    List project videos

    List videos and indexing status in a cloud project.

    Inputs

    project_idstringrequired
    Project to list videos from.
  • vivumcp_vivu_open_upload_pageGet a secure browser page for uploading videos to a project.Read-only

    Open video upload page

    Get a secure browser page for uploading videos to a project.

    Inputs

    project_idstringrequired
    Project to upload videos to.
  • vivumcp_vivu_create_projectCreate a cloud video project.Write

    Create a Vivu project

    Create a cloud video project.

    Inputs

    namestringrequired
    Name of the new project.
    descriptionstring
    Optional description of the project.default
    visibilitystring
    Who can see the project.one of organizationprivatedefault organization