Skip to main content
Glama

@voxloom/mcp

Model Context Protocol server for Voxloom. Lets an assistant transcribe a video or podcast, then read, search and summarise the result.

Works with Claude Desktop, Claude Code, Cursor, Cline, and anything else that speaks MCP over stdio.

Setup

You need a Voxloom API key from API keys in your dashboard. API access is included from the Studio plan upwards.

Claude Desktop

claude_desktop_config.json:

{
  "mcpServers": {
    "voxloom": {
      "command": "npx",
      "args": ["-y", "@voxloom/mcp"],
      "env": { "VOXLOOM_API_KEY": "sk_prod_..." }
    }
  }
}

Claude Code

claude mcp add voxloom --env VOXLOOM_API_KEY=sk_prod_... -- npx -y @voxloom/mcp

Cursor and Cline

Both read the same shape of config as Claude Desktop. Add the voxloom entry above to the MCP settings.

Related MCP server: @scriptivox/mcp-server

Tools

Tool

Charges

What it does

estimate

No

What a recording would cost, and whether the balance covers it

transcribe

Yes

Transcribes a recording and returns the transcript

get_transcript

No

Reads a transcript by job id, or reports progress

search_transcript

No

Finds where something was said, with timestamps

get_summary

No

Abstract, key points, quotes and chapters

list_transcripts

No

Recent transcripts and their job ids

get_speakers

No

Who is in a transcript and for how long

rename_speaker

No

Renames a speaker everywhere, exports included

cancel_transcription

No

Stops a running job; refunds the remainder

list_languages

No

The 101 languages, and which can be translated into

Two things worth knowing

Transcription costs money. transcribe prices the job before submitting it and refuses anything above a ceiling (30 minutes of audio by default) unless it is passed confirm_spend: true. So an assistant cannot quietly spend your balance on a three-hour video: it has to tell you the cost and ask.

Raise or lower the ceiling with VOXLOOM_MAX_CREDITS_PER_CALL. A credit is one second of audio, so 60 credits is a minute.

Transcripts are large. Nothing returns a whole one by default. Reads are budgeted and say plainly when they truncated, so the assistant knows it is looking at an excerpt. For a question about one moment, search_transcript is both cheaper and more accurate than reading everything.

Configuration

Variable

Default

What it does

VOXLOOM_API_KEY

required

Your API key

VOXLOOM_BASE_URL

https://voxloom.ai

Override for self-hosting

VOXLOOM_MAX_CREDITS_PER_CALL

3600

Spend ceiling per transcribe call

VOXLOOM_WAIT_MS

90000

How long transcribe waits before handing back a job id

VOXLOOM_MAX_CHARS

12000

Text budget for a transcript read

Example conversation

You: Transcribe https://youtu.be/VIDEO_ID and tell me what they say about consensus.

The assistant estimates the cost, transcribes it, then searches the transcript for "consensus" rather than reading all 9,000 words, and answers with timestamps you can check.

Development

npm install
npm run typecheck
npm test        # builds, then runs the tests against dist/

Tests run against the compiled output rather than the sources, because that is what ships and it means the NodeNext module specifiers resolve as they will at runtime.

Licence

MIT.

Available Tools

10 tools
cancel_transcriptionCancel a running jobA
Destructive

Stops a running job. The unprocessed remainder is refunded; the part already transcribed stays charged, because that work was done.

Inputs: job_id (required).

estimateEstimate the cost of transcribing somethingA
Read-only

What a recording would cost and how long it would take, without transcribing it or charging anything. Call this first whenever the recording might be long, or the user has not already agreed to spend. Returns the media length, the price in minutes, whether the balance covers it, and an ETA that accounts for the queue.

Inputs: url (required), model, features.

get_speakersList the speakers in a transcriptA
Read-only

Who is in a transcript, how long each one speaks, and their speaker ids for renaming. Free. Speaking time is usually the quickest way to tell an interviewer from an interviewee.

Inputs: job_id (required).

get_summaryGet the summary, key points and chaptersA
Read-only

The abstract, key points, verbatim pull quotes with timestamps, and timestamped chapters for a finished transcript. Free.

The cheapest way to find out what a long recording is about. Only present if the job was run with the summary feature.

Inputs: job_id (required).

get_transcriptRead a transcriptA
Read-only

Fetches a transcript by job id, or reports progress if it is still running. Free, and does not charge anything.

Returns a budgeted excerpt rather than the whole transcript, and says so when it truncates. For a question about a specific moment, use search_transcript instead; for the gist, get_summary.

Inputs: job_id (required), verbatim, max_chars, timestamps.

list_languagesList supported languagesA
Read-only

Every language that can be transcribed, and which of them can be translated into. Free. Check a target here before asking for a translation: more languages can be transcribed than translated into.

Inputs: no named parameters.

list_transcriptsList recent transcriptsA
Read-only

The account's transcripts, newest first, with their job ids. Free. Use this to find the id of something transcribed earlier.

Inputs: limit, search, status.

rename_speakerRename a speakerA

Replaces a speaker's label across the whole transcript in one operation, including in every export. Free. Get the speaker ids from get_speakers first.

Inputs: label (required), job_id (required), speaker_id (required).

search_transcriptFind where something was saidA
Read-only

Searches a finished transcript and returns matching turns with their timestamps and speakers. Free.

Prefer this over reading a whole transcript when the question is about a specific topic or moment. Note it is a literal text search, not a semantic one, so search for words that were actually spoken rather than a paraphrase.

Inputs: query (required), job_id (required), max_results.

transcribeTranscribe a video or podcastA

Transcribes a recording and returns the transcript. This charges the user's account, by the length of the recording.

Waits for the result and returns it if the job finishes in time. For a long recording it returns a job id instead; call get_transcript with it shortly afterwards.

Refuses anything costing more than 30m of minutes unless confirm_spend is true. When it refuses, tell the user the cost and ask before retrying with confirm_spend.

Inputs: url (required), model, features, language, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool has a clearly distinct role: estimate (free pricing/preview), transcribe (charges), get_transcript (fetch by id), search_transcript (literal search), get_summary (abstract), plus account/list/speaker lifecycle tools. Descriptions even cross-reference each other to steer selection (e.g., search vs get vs summary). No meaningful overlap.

    Naming Consistency4/5

    Most tools follow a verb_noun pattern (get_transcript, search_transcript, get_summary, list_transcripts, get_speakers, rename_speaker, cancel_transcription, list_languages). The two bare verbs 'estimate' and 'transcribe' deviate slightly, but the style remains readable and predictable.

    Tool Count5/5

    Ten tools for a transcription service is well-scoped: pricing, execution, retrieval in several modes, speaker management, cancellation, and language listing each earn their place without redundancy.

    Completeness4/5

    Full lifecycle is covered: estimate → transcribe → retrieve/summarize/search → manage speakers → cancel, plus language discovery. Minor gap: list_languages references translations ('check a target before asking for a translation'), implying a translate operation that no tool exposes.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables MCP-capable assistants to transcribe local audio files or URLs and perform speaker diarization for Spanish and Portuguese audio, with options for speaker count hints, domain prompts, and transcript retrieval in multiple formats.
      4
      12 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to submit and manage durable long-form audio transcription jobs, and read or export structured transcripts via MCP tools.
      1
      MIT