txscribe MCP Server
OfficialEnables creating txscribe transcriptions from Dropbox links; recordings are transcribed without being downloaded, and the resulting transcript and summary can be retrieved.
Enables creating txscribe transcriptions from Google Drive links; recordings are transcribed without being downloaded, and the resulting transcript and summary can be retrieved.
Enables creating txscribe transcriptions from YouTube links, then retrieving transcription status, transcripts, and summaries through the MCP tools.
Click on "Deploy 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., "@txscribe MCP Server Transcribe this YouTube link and provide a concise summary."
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.
@txscribe/mcp
An MCP server for the txscribe developer API. It lets an AI assistant transcribe a link with your txscribe account and read the transcript and the summary back, through the same API documented at https://txscribe.ai/developers.
There are two ways to connect, with the same eight tools:
Hosted —
https://txscribe.ai/mcp(Streamable HTTP). Claude and ChatGPT connect to it as a custom connector and sign you in to txscribe with OAuth; nothing to install. Clients that take a header can send an API key instead.Local — this package, run as a command (
npx -y @txscribe/mcp) by Claude Desktop, Claude Code, Cursor and other clients that start MCP servers themselves, with your API key in its environment.
Both are thin wrappers: every tool is one call to the developer API as you. What a tool may do, and the minutes it uses, is exactly what your account may do in the app. Nothing is cached or stored on your machine.
Hosted: Claude and ChatGPT
Claude (claude.ai, the desktop app): Settings → Connectors → Add custom connector, URL
https://txscribe.ai/mcp. Claude opens txscribe; sign in and choose Allow.ChatGPT (with developer mode on): add a connector with the URL
https://txscribe.ai/mcpand OAuth as its authentication, then allow it on the txscribe page that opens.Claude Code:
claude mcp add --transport http txscribe https://txscribe.ai/mcp(it signs in with OAuth), or with a key:claude mcp add --transport http txscribe https://txscribe.ai/mcp --header "Authorization: Bearer txs_live_…".Cursor and others that take a URL and headers: the URL above with the header
Authorization: Bearer txs_live_….
A connection made with Allow is an API key the app holds for you. It is listed under Plan and billing → Developer API, where Revoke disconnects that app. It does not expire on its own.
Related MCP server: @scriptivox/mcp-server
Local: this package
In the app, open Plan and billing → Developer API and make a key (it starts with
txs_live_; you see it once).Add the server to your client with the key in its environment.
Claude Desktop (claude_desktop_config.json) or any client that takes a command:
{
"mcpServers": {
"txscribe": {
"command": "npx",
"args": ["-y", "@txscribe/mcp"],
"env": { "TXSCRIBE_API_KEY": "txs_live_…" }
}
}
}Claude Code:
claude mcp add txscribe --env TXSCRIBE_API_KEY=txs_live_… -- npx -y @txscribe/mcpTXSCRIBE_API_BASE points the server at another deployment (default
https://txscribe.ai/api/v1).
Tools
Tool | What it does | Writes? |
| Your transcriptions, newest first, with paging | no |
| Which recordings said a word or phrase, and when: up to five matches each, with the second they start at. Reads the finished ones among your newest 500 recordings; searches what was said, not titles. | no |
| Create a transcription from a link (YouTube, Google Drive, Dropbox …). The recording is transcribed, never downloaded. Uses your minutes. | yes |
| Status and metadata of one transcription | no |
| The finished transcript as | no |
| The summary and its status | no |
| Ask for a summary, or a new one, in a language and for a kind of recording | yes |
| Delete a transcription and everything made from it. Cannot be undone. | yes, destructive |
Five tools only read; three change your account. Uploading a file is not a tool: the API's upload is a signed PUT of the whole file, which an assistant cannot make from a chat. Use the app, or the API directly, for files.
A typical exchange: "Transcribe this talk and give me the three claims to check" →
transcribe_link → get_transcription until status is done → get_transcript (txt) →
the assistant reads it; request_summary + get_summary for the summary txscribe makes.
Finding something in recordings you already have: "What did we agree about the budget?" →
search_transcriptions ("budget") → get_transcript with from/to around the matches it
returned, instead of whole transcripts.
Errors
API refusals come back as tool errors with the API's own code (invalid_api_key,
quota_exceeded, not_ready, unsupported_link …), the HTTP status, the request id to quote
to support and, on 429, the Retry-After seconds. Neither server retries anything itself.
Develop
npm ci
npm testThe tests run the server over an in-memory transport against a fake fetch; nothing reaches
the network. The hosted server lives in the web app (web/src/lib/mcp/), and its tests check
that its tool list matches this one.
Publish (maintainers)
cd mcp
npm ci && npm test
npm login # an npm account that owns the @txscribe scope
npm publish # publishConfig makes it public; prepublishOnly runs the testsserver.json is the entry for the MCP Registry (registry.modelcontextprotocol.io); its name
matches mcpName in package.json, which is how the registry checks the npm package is ours.
Publish it after the npm package is up and the hosted endpoint is switched on, with
mcp-publisher and DNS proof of txscribe.ai.
Available Tools
8 toolsdelete_transcriptionDelete a transcriptionADestructiveIdempotentInspect
Delete a transcription, its media and everything made from it. Cannot be undone.
Inputs: id (required).
get_summaryRead a summaryARead-onlyInspect
The summary of a finished transcription and its status. Ask for one with request_summary if there is none yet.
Inputs: id (required).
get_transcriptRead a transcriptARead-onlyInspect
The finished transcript. json gives segments with word timings and speakers (what the app shows); txt, srt and vtt give the file the app's Export menu makes. A long recording is a lot of text: pass from and to (seconds) for only the paragraphs around a moment, such as a match from search_transcriptions, or summaryOnly for the summary instead. Not ready yet answers with the not_ready error; check get_transcription first.
Inputs: id (required), to, from, format, +3 more.
get_transcriptionTranscription statusBRead-onlyInspect
Status and metadata of one transcription: fetching, uploading, preparing, transcribing, done or error.
Inputs: id (required).
list_transcriptionsList transcriptionsARead-onlyInspect
The account's transcriptions, newest first. Pass the previous page's nextCursor to read on.
Inputs: limit, cursor, status.
request_summaryRequest a summaryAInspect
Ask for a summary of a finished transcription, or a new one. Returns at once with status generating; read it with get_summary.
Inputs: id (required), scene, language.
search_transcriptionsSearch transcriptionsARead-onlyInspect
Which of the account's recordings said something, and when. Looks for the words as one phrase in what was said (not in titles), in the newest 500 recordings (ones still processing or failed among them are skipped; truncated is true when there may be older ones, which are not read): give a distinctive word or short phrase, not a question. Each result has up to five matches with the second each starts at; read around one with get_transcript's from and to rather than reading the whole transcript.
Inputs: query (required).
transcribe_linkTranscribe a linkAInspect
Create a transcription from a link to a video or recording (YouTube, Google Drive, Dropbox and others; the recording is transcribed, never downloaded). Starts at once and uses the account's minutes. Returns the transcription with its id; poll get_transcription until status is done, then read get_transcript.
Inputs: url (required), captions, language, diarization.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool maps to a distinct operation, but the trio get_transcription (status/metadata), get_transcript (content) and get_summary (summary) shares similar names and resource focus, so an agent must read descriptions carefully to pick correctly. The descriptions do explicitly disambiguate (e.g., 'Not ready yet... check get_transcription first'), keeping overlap manageable.
All eight tools follow a consistent snake_case verb_noun pattern: list_transcriptions, get_transcript, get_summary, request_summary, delete_transcription, transcribe_link, search_transcriptions, get_transcription. Verbs are used predictably (get_ for reads, request_ for creating async work, delete_ for removal).
Eight tools is well-scoped for a transcription service, with each tool earning its place across listing, creation, status polling, content retrieval, search, summarization, and deletion. No redundant or filler tools.
The lifecycle is largely covered: create via link, poll status, retrieve transcript in multiple formats, summarize, search, and delete. Minor gaps exist—there is no tool for directly uploading a local media file (despite an 'uploading' status) and no rename/update metadata operation.
Maintenance
Related MCP Connectors
AI transcription API: turn voice memos, meetings and audio URLs into text and SRT subtitles.
Transcribe audio, video and YouTube links, then search, summarize and export your transcripts.
Transcribe audio and video and work with your transcript library from any AI app. 119 languages.
Transcribe audio and video links, read transcripts and summarize them, signed in with your account.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceEnables AI tools to access and manage MeetGeek meetings, including transcripts, highlights, summaries, and recording uploads.12 npm23-- AlicenseAqualityBmaintenanceEnables AI assistants to transcribe audio and video from URLs or local files with high accuracy, speaker diarization, 119 languages, and word-level timestamps, while also supporting transcription management and caption export in SRT, WebVTT, or plain text.14298 npm9MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search meeting transcripts, retrieve speaker-attributed quotes, decisions, and action items, and transcribe new files or links directly from the QuillHub archive.MIT

transcript1official
AlicenseNot gradedqualityBmaintenanceEnables AI clients to transcribe YouTube links and uploaded audio or video files, then retrieve the resulting transcripts as text, SRT, VTT, or JSON with timestamps and optional speaker labels. Also supports paging through long transcripts, checking upload progress, listing or deleting jobs, and viewing remaining account minutes.354 npm1MIT