Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the ListenLabs MCP server

Vendor MCP
Open markdown

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

Tools
13
What they doRead · write · destructive
7 · 4 · 27 read4 write2 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 ListenLabs MCP connection

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

    Scalekit credentials are available for ListenLabs 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 = 'listenlabsmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize ListenLabs 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: 'listenlabsmcp_list_creatable_orgs',
    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
  • listenlabsmcp_get_responseDeep-dive into a single respondent's interview.Read-only

    Get Response

    Deep-dive into a single respondent's interview. Returns a structured transcript with question tracking, input types, multiple choice data, and source URLs for each message. Paginated for large interviews.

    Inputs

    readable_idnumberrequired
    Respondent number from get_study_responses
    study_idstringrequired
    Study ID (UUID) from list_studies
    cursorstring
    Pagination cursor for long transcripts
  • listenlabsmcp_get_study_analysisGet the AI-generated analysis report for a study, rendered as markdown.Read-only

    Get Study Analysis

    Get the AI-generated analysis report for a study, rendered as markdown. Use list_studies first to find studies where has_analysis is true. The report includes sourced respondent quotes with deep-links to the original transcript messages.

    Inputs

    study_idstringrequired
    Study ID (UUID) from list_studies
  • listenlabsmcp_get_study_responsesGet response transcripts for a study.Read-only

    Get Study Responses

    Get response transcripts for a study. Returns formatted interview transcripts with pagination. Each respondent answer includes a source link to that exact message in the transcript.

    Inputs

    study_idstringrequired
    Study ID (UUID) from list_studies
    cursorstring
    Pagination cursor from previous response
    max_responsesnumber
    Maximum number of responses to return (default 10, max 50)default 10
    question_numbersarray
    Only include these question numbers in the transcript (1-indexed)
    readable_idsarray
    Filter to specific respondents by their readable ID numbers
  • listenlabsmcp_get_study_stateReturn the current state of a study — title, audience, study guide, questions, screener, and recruitment details.Read-only

    Get Study State

    Return the current state of a study — title, audience, study guide, questions, screener, and recruitment details. Also includes launch eligibility, credit balance, and per-recruitment cost. Call before edit_study or launch_study to inspect the current study configuration.

    Inputs

    studyIdstringrequired
    UUID of the study to inspect
  • listenlabsmcp_list_creatable_orgsList organizations the user belongs to where they can create studies.Read-only

    List Creatable Orgs

    List organizations the user belongs to where they can create studies. Returns org ID, name, and role. Supports pagination and case-insensitive name search. Call before create_study when the user has not specified an organization.

    Inputs

    cursorstring
    Pagination cursor from a previous call's nextCursor
    limitinteger
    Page size (default 10, max 25)
    textHintstring
    Case-insensitive substring to filter org names by
  • listenlabsmcp_list_studiesList studies accessible to the authenticated user.Read-only

    List Studies

    List studies accessible to the authenticated user. Returns study ID, name, status, creation date, response count, and whether analysis is available. Paginated (50 per page). Use textHint to filter by study title; use cursor for pagination.

    Inputs

    cursorstring
    Pagination cursor from previous response
    statusstring
    Filter by study statusone of openclosed
    textHintstring
    Case-insensitive substring to filter study titles by
  • listenlabsmcp_search_across_studiesSearch across study metadata using a text query.Read-only

    Search Across Studies

    Search across study metadata using a text query. Returns matching studies with relevant context.

    Inputs

    querystringrequired
    Search term to find across studies
    max_resultsnumber
    Maximum number of results to return (default 10)default 10
  • listenlabsmcp_create_studyStart a new guided user-interview study.Write

    Create Study

    Start a new guided user-interview study. Provide a plain-language description of the study goals and target audience. The platform's creation agent walks through onboarding stages; subsequent turns must use edit_study with the returned studyId and chatId.

    Inputs

    promptstringrequired
    Plain-language description of the study to create (goals, who to interview, what to learn)
    orgIdstring
    Organization UUID when known (e.g. from list_creatable_orgs)
    orgNamestring
    Organization name to create the study in. Required when the user belongs to multiple organizations.