whipscribe-mcp
Enables transcription of audio and video content from YouTube URLs, returning transcripts in various formats including txt, json, srt, vtt, and docx.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@whipscribe-mcptranscribe this YouTube video: https://youtu.be/dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
whipscribe-mcp
MCP server for Whipscribe — transcribe audio and video from a URL or local file via Claude Desktop, Claude Code, Cursor, Windsurf, or any MCP-compatible client.
⚠️ Beta service
whipscribe-mcpand the Whipscribe API are in beta. Endpoints, response shapes, and quotas may change without notice.Jobs can fail, stall, or return partial output. Retry logic is your responsibility.
Beta credits can be invalidated without notice — e.g. for infrastructure migration, key compromise, or pricing reset. Beta credits do not convert to cash.
We will give 7 days' written notice before any pricing change that affects active keys, and honor unused credits at the old rate for 7 days after the notice.
Not suitable for production use cases where transcription failure has legal, safety, or financial consequences.
By installing and using this package, you accept the full terms at whipscribe.com/terms.
Install
uvx whipscribe-mcpAlternatives:
pipx install whipscribe-mcp
pip install whipscribe-mcpRequires Python 3.10+.
Related MCP server: whisper-windows-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"whipscribe": {
"command": "uvx",
"args": ["whipscribe-mcp"]
}
}
}Optional: set WHIPSCRIBE_API_KEY in env to unlock paid quota.
{
"mcpServers": {
"whipscribe": {
"command": "uvx",
"args": ["whipscribe-mcp"],
"env": {
"WHIPSCRIBE_API_KEY": "your-key"
}
}
}
}Restart Claude Desktop. Type "transcribe this podcast URL: …" and Claude will call the tool.
Tools
Tool | Description |
| Transcribe audio/video from any URL (YouTube, podcast feeds, direct file links). |
| Transcribe a local audio/video file. |
| Check progress of a running job. |
| Fetch the transcript in |
| Browse your recent jobs (local cache). |
All tools return a JSON object of the shape:
{
"ok": true,
"job_id": "...",
"status": "done",
"transcript_preview": "first 300 chars...",
"url_to_full": "https://whipscribe.com/view?id=...",
"duration_sec": 967.3,
"beta_notice": "..."
}On failure:
{
"ok": false,
"error": {
"code": "upload_failed",
"message": "human-readable explanation",
"retryable": true
}
}Environment variables
Variable | Required | Default | Purpose |
| No | — | API key (unlocks paid quota; anonymous free tier works without it) |
| No |
| Override API base URL (e.g. for staging) |
| No |
| Set to |
| No |
| Max seconds |
| No |
| Seconds between job-status polls during transcription |
Privacy
Opt-in anonymous telemetry (on by default; disable with WHIPSCRIBE_MCP_TELEMETRY=0):
What we collect (metadata only):
Anonymous install hash:
sha256(machine_id + salt)[:16]Package version, OS, Python version
Tool name, duration in milliseconds, error code
What we never collect:
URLs you transcribe
Local file paths
API keys
Transcript text
Email or any personally identifying information
The anonymization algorithm is in this repo (src/whipscribe_mcp/telemetry.py). Inspect it. If it's not acceptable, turn it off.
Pricing
See whipscribe.com/pricing for current rates. The free tier works without an API key at reduced rate limits.
License
Apache License 2.0. Copyright 2026 Neugence Technology Pvt. Ltd.
Contact
Website: whipscribe.com
Email: contact@neugence.ai
Available Tools
6 toolsget_job_statusARead-only
Poll the current status of a transcription job by job_id.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Identifier returned by a previous transcribe_* call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. Description adds 'poll' implying repeated calls are safe and stateless. However, it does not specify whether the call blocks or returns immediately, or describe possible status values. With annotations, bar is lower; a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose. Efficient and no wasted words. Could be slightly improved with bullet points or explicit status list, but concise enough.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple tool with 1 parameter and annotations present, the description is minimal but missing details like possible return statuses or whether it's a long poll. No output schema, so some behavioral info would help. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a clear description for job_id. The tool description adds context that job_id comes from a previous transcribe_* call, which is useful beyond the schema. No additional parameter details needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'poll' and clearly identifies the resource: current status of a transcription job by job_id. It distinguishes from siblings like get_transcript (getting content) and transcribe_* (starting jobs). No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for checking status after a transcribe call, but does not explicitly state when to use this vs alternatives like get_transcript or list_recent_jobs. Lacks exclusions or direct sibling comparison, though context from sibling names helps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptARead-only
Fetch a finished transcript in the requested format. Returns a 300-character preview plus a link to the full transcript; large transcripts are not inlined in the MCP response.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format. | txt |
| job_id | Yes | Identifier of a completed job. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description adds important behavioral details: returns a 300-character preview plus a link, and large transcripts are not inlined. This goes beyond what annotations provide and gives clear expectations about the response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, each serving a clear purpose: first states the core action and format capability, second explains output behavior. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters, no output schema, and clear annotations, the description covers the essential aspects: purpose, format flexibility, and return characteristics (preview + link, large transcript behavior). It is comprehensive enough for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description does not add significant meaning beyond what the schema already provides, e.g., the format parameter is fully enumerated in the schema. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches finished transcripts in a requested format, specifying the verb and resource. It distinguishes from sibling tools like transcribe_file and transcribe_url which create transcripts, and list_recent_jobs/get_job_status which are for listing or checking status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage only for finished transcripts and notes that large transcripts are not inlined. However, it does not explicitly state when not to use it (e.g., for ongoing jobs) or mention alternative tools for checking job status before calling this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_jobsARead-only
List jobs submitted from this machine (local SQLite cache). Stores only job_id, source kind, status, duration, and created-at timestamp — never URLs, file paths, or transcripts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of jobs to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds valuable behavioral details: it uses a local SQLite cache, stores only specific fields, and explicitly lists what is never stored. This manages expectations about data completeness and scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of two sentences that front-load the main purpose and immediately follow with important caveats. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with one parameter and no output schema, the description adequately covers what data is returned and what is excluded. Minor gap: missing details on ordering or pagination beyond the limit parameter, but still sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the 'limit' parameter. The tool description does not add additional meaning to the parameter, but the schema already suffices. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists jobs from the local SQLite cache, specifying exact fields stored (job_id, source kind, status, duration, created-at) and explicitly what is not stored (URLs, file paths, transcripts). This distinguishes it from sibling tools like get_transcript or transcribe_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this only lists jobs from the local machine, which helps the agent decide when to use it. However, it does not explicitly exclude other scenarios or mention alternative tools for different needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_fileA
Transcribe a local audio or video file. The path is never sent to telemetry. Polls until the job is done or the poll timeout elapses.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to a local media file. | |
| diarize | No | Label speakers in the transcript. | |
| language | No | ISO 639-1 language code. Auto-detect when omitted. | |
| word_timestamps | No | Include per-word timing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not read-only and not destructive, but the description adds valuable context: it polls until completion (blocking call) and explicitly states the file path is never sent to telemetry. This goes beyond the annotations, though it could mention other side effects like network usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that cover the action, scope, and key behavioral traits (privacy, polling). Every word adds value with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the main purpose and blocking behavior, it does not explain what the tool returns (e.g., transcript text, object). Since there is no output schema, the agent lacks information about the function's output format, making it incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description adds no additional information about parameters beyond what is already in the schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool transcribes local audio or video files, which distinguishes it from siblings like transcribe_url (for remote URLs) and batch variants. The polling behavior is also mentioned, providing a complete picture of the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for local files via the word 'local', but it does not explicitly state when to use this tool over alternatives or provide exclusion criteria. There is no mention of when not to use it or reference to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_urlA
Transcribe audio or video from a URL (direct media link, podcast episode, or Creative-Commons YouTube). Polls until the job is done or the poll timeout elapses, then returns a transcript preview plus a link to the full transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Direct media URL or supported share URL. | |
| diarize | No | Label speakers in the transcript. | |
| language | No | ISO 639-1 language code (e.g. 'en', 'es'). Auto-detect when omitted. | |
| word_timestamps | No | Include per-word timing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the polling behavior ('Polls until the job is done or the poll timeout elapses') which is not captured by annotations. Annotations indicate the tool is neither read-only nor destructive, so the description adds value by explaining the asynchronous nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence states the core function, and the second provides behavioral context and output. Every word is necessary, and the structure is front-loaded for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema), the description covers the essential aspects: purpose, polling behavior, and output (preview + link). However, it could mention the format of the preview or potential error conditions to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any extra meaning beyond what is already in the parameter descriptions (e.g., 'url', 'diarize', 'language', 'word_timestamps'). No additional semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Transcribe audio or video from a URL'. It specifies supported URL types (direct media link, podcast episode, Creative-Commons YouTube) and distinguishes from sibling tools like transcribe_file and transcribe_urls_batch by focusing on single URL input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (for URL-based media) and implicitly excludes file upload or batch processing. However, it does not explicitly mention alternatives or when not to use it, missing the opportunity to guide the agent away from inappropriate uses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_urls_batchA
Transcribe a list of URLs (YouTube, podcast, direct media) concurrently. Submit up to 20 URLs in one call; each job runs in parallel and the tool returns when all are done or failed. Per-URL failures do not abort the batch. Ideal for building a second-brain knowledge base from a playlist or a curated list of videos.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | List of media URLs to transcribe (max 20). | |
| diarize | No | Label speakers in every transcript. | |
| language | No | ISO 639-1 language code. Auto-detect when omitted. | |
| word_timestamps | No | Include per-word timing in every transcript. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses concurrency and failure behavior beyond annotations (readOnlyHint=false, destructiveHint=false). Adds value explaining parallel execution and partial failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with purpose, then details. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key behavioral aspects for a batch tool. Missing output schema description, but the tool likely returns results immediately; context is adequate for invocation decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have schema descriptions (100% coverage). The description adds the batch context but does not elaborate on diarize, language, or word_timestamps beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'transcribe' and the resource 'a list of URLs', distinguishing it from sibling tools like transcribe_url (single URL) and transcribe_file (file).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions concurrency, batch size limit, and per-URL failure handling, providing good usage context. Could be improved by explicitly stating when not to use (e.g., single URLs).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v0.1.3- First observed
get_job_status - First observed
get_transcript - First observed
list_recent_jobs - First observed
transcribe_file - First observed
transcribe_url - First observed
transcribe_urls_batch
TDQS
Each tool targets a distinct action: submitting jobs (file, URL, batch), checking status, fetching transcripts, and listing recent jobs. There is no overlap or ambiguity between tool purposes.
All tool names follow a consistent 'verb_noun' pattern using snake_case (e.g., transcribe_file, get_job_status). The prefixes 'get_', 'list_', and 'transcribe_' are used uniformly.
With 6 tools, the scope is well-scoped for a transcription MCP server. Each tool serves a distinct function without being overly granular or insufficient.
The core workflow of submitting transcription jobs (single file, single URL, batch) and retrieving results is covered. Missing operations like canceling or deleting jobs are minor gaps but not critical for the primary use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for RiverScript, an AI transcription platform - fetches transcripts shared via a link.
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Transcribe audio and video with Speechmatics speech-to-text from Claude and any MCP client.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP Server for Web2MD — convert webpage URLs to clean Markdown from Claude Desktop, Cursor, or any MCP-compatible agent.611MIT
- FlicenseAqualityAmaintenanceA Windows-native MCP server that lets Claude Desktop transcribe audio files locally using whisper.cpp, with no internet connection required.131251-
- AlicenseAqualityDmaintenanceMCP server for Scribefy — extract YouTube transcripts from Claude Desktop, Cursor, Windsurf, ChatGPT custom GPTs, or any other MCP-compatible client.41381MIT
- FlicenseNot gradedqualityDmaintenanceA local MCP server that gives Claude Desktop full video editing capabilities via FFmpeg, Whisper, and yt-dlp.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/neugence/whipscribe-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server