Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Quiz.Video MCP server

Vendor MCP
Open markdown

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

Tools
30
What they doRead · write · destructive
14 · 12 · 414 read12 write4 destructive
Users sign in with
OAuth app
Scalekit's or your own

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 Quiz.Video MCP connection

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

    Scalekit credentials are available for Quiz.Video MCP server, so you don't need to register an OAuth app.

  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 = 'quizvideomcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Quiz.Video 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: 'quizvideomcp_quiz_video_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
  • quizvideomcp_get_api_catalogReturn the Quiz.Video API catalog linkset for agent discovery.Read-only

    Get API catalog

    Return the Quiz.Video API catalog linkset for agent discovery.

    Inputs

    This tool takes no inputs.

  • quizvideomcp_get_llms_txtReturn a compact LLM-readable summary of the Quiz.Video API.Read-only

    Get LLM API summary

    Return a compact LLM-readable summary of the Quiz.Video API.

    Inputs

    This tool takes no inputs.

  • quizvideomcp_get_openapi_specReturn the Quiz.Video OpenAPI 3.1 specification.Read-only

    Get OpenAPI specification

    Return the Quiz.Video OpenAPI 3.1 specification.

    Inputs

    This tool takes no inputs.

  • quizvideomcp_quiz_video_get_accountGet the authenticated user's account info, plan, and usage limits.Read-only

    Get account

    Get the authenticated user's account info, plan, and usage limits.

    Inputs

    This tool takes no inputs.

  • quizvideomcp_quiz_video_get_flashcard_deckFetch a flashcard deck (including all cards) by id.Read-only

    Get a flashcard deck

    Fetch a flashcard deck (including all cards) by id.

    Inputs

    deckIdstringrequired
    Flashcard deck ID.
  • quizvideomcp_quiz_video_get_quizFetch a single quiz (including settings and metadata) by id.Read-only

    Get a quiz

    Fetch a single quiz (including settings and metadata) by id.

    Inputs

    quizIdstringrequired
    Quiz ID in YouTube-style 11-character base64url format.
  • quizvideomcp_quiz_video_get_renderFetch the status and progress of a render session.Read-only

    Get render status

    Fetch the status and progress of a render session. When status is "completed", the response also contains a signed `videoUrl` (and `filename`) so the agent can share the MP4 directly without a separate quiz_video_download_render call. In-progress polls return status + progress.

    Inputs

    sessionIdstringrequired
    Render session id returned when the render was started.
  • quizvideomcp_quiz_video_get_templateFetch a single custom template (including the full scenes/layers payload) by id.Read-only

    Get a custom template

    Fetch a single custom template (including the full scenes/layers payload) by id.

    Inputs

    templateIdstringrequired
    Template id (tpl_...).