Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the HappyScribe MCP server

Vendor MCP
Open markdown

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

Tools
39
What they doRead · write · destructive
18 · 18 · 318 read18 write3 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 HappyScribe MCP connection

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

    Scalekit credentials are available for HappyScribe 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 = 'happyscribemcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize HappyScribe 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: 'happyscribemcp_get_folder_hierarchy',
    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
  • happyscribemcp_get_export_statusCheck an export that export_transcription reported as still processing, and get its link.Read-only

    Get Export Status

    Check an export that export_transcription reported as still processing, and get its link.

    Inputs

    export_idstringrequired
    The export_id from export_transcription.
  • happyscribemcp_get_folder_hierarchyGet the folder hierarchy with transcription counts.Read-only

    Get Folder Hierarchy

    Get the folder hierarchy with transcription counts. Shows accessible folders organized by location (Team, Private, Shared with me). USE THIS when list_transcriptions returns more results than you can effectively browse and you need to understand how transcriptions are organized. Then use list_transcriptions with folder_path to browse specific folders.

    Inputs

    locationstring
    Optional. Filter by location: workspace (team folders), private (your personal folders), or shared (folders shared with you by others).one of workspaceprivateshared
    max_depthinteger
    Optional. Maximum folder depth to return (default: unlimited). Depth 1 = immediate children only, 2 = children and grandchildren, etc.
    root_pathstring
    Optional. Start from this folder path instead of root (e.g., "/Projects/2024"). Only returns folders under this path. When set, output is flat (not grouped by location).
  • happyscribemcp_get_glossaryGet the full contents of a glossary, including all custom terms and their definitions.Read-only

    Get Glossary

    Get the full contents of a glossary, including all custom terms and their definitions.

    Inputs

    idintegerrequired
    Glossary ID (from list_glossaries)
  • happyscribemcp_get_helpdesk_articleGet the full content of a HappyScribe help article by ID.Read-only

    Get Helpdesk Article

    Get the full content of a HappyScribe help article by ID. Use search_helpdesk first to find relevant article IDs.

    Inputs

    idstringrequired
    Help article ID (from search_helpdesk results)
  • happyscribemcp_get_meeting_diagnosticsGet technical diagnostics for a meeting recording: Notetaker join status, recording state, processing errors, and timeline events.Read-only

    Get Meeting Diagnostics

    Get technical diagnostics for a meeting recording: Notetaker join status, recording state, processing errors, and timeline events. Use this when a meeting recording is missing or has issues.

    Inputs

    calendar_event_idintegerrequired
    Calendar event ID (from list_calendar_events)
  • happyscribemcp_get_transcriptionGet detailed information about a specific transcriptionRead-only

    Get Transcription

    Get detailed information about a specific transcription

    Inputs

    idstringrequired
    The transcription ID (hashed_id)
    display_modestring
    Display mode: full_text (default, complete transcription), summary (AI-generated summary, typically <500 words), or metadata_only (no content)one of metadata_onlysummaryfull_text
  • happyscribemcp_get_transcription_statusCheck the progress of a transcription, by the order_uuid from create_transcription or by a transcription_id.Read-only

    Get Transcription Status

    Check the progress of a transcription, by the order_uuid from create_transcription or by a transcription_id. Returns one status (importing, analyzing, transcribing, needs_credits, waiting_for_payment, done or failed) and the next step. While it runs, poll_after_seconds says when to check again. HappyScribe sends no notification in the chat when it finishes: the transcript is ready once this reports done, and the user can ask for a new check anytime.

    Inputs

    order_uuidstring
    The order_uuid returned by create_transcription.
    transcription_idstring
    A transcription ID, when you do not have the order_uuid (e.g. from list_transcriptions).
  • happyscribemcp_get_transcriptionsGet detailed information about multiple transcriptions at once.Read-only

    Get Transcriptions

    Get detailed information about multiple transcriptions at once. Use this after listing transcriptions to get full content/summaries for multiple files efficiently.

    Inputs

    idsarrayrequired
    Array of transcription IDs (hashed_id) to retrieve (max 5)
    display_modestring
    Display mode: full_text (default, complete transcription), summary (AI-generated summary, typically <500 words), or metadata_only (no content)one of metadata_onlysummaryfull_text