Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the AssemblyAI in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Speech to text with AssemblyAI: transcribe audio and video files from a public link with speaker labels, language detection, PII redaction, summaries, chapters, entities and sentiment, read transcripts as text, sentences, paragraphs or SRT/VTT subtitles, search words, translate or name speakers, ask an LLM about a transcript and create streaming tokens. US or EU data residency; paid per hour of audio, with free credit for new accounts.
Try asking
Example prompts for AssemblyAI
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → AssemblyAI, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
AssemblyAI + ChatGPT
Speech to text with AssemblyAI: transcribe audio and video files from a public link with speaker labels, language detection, PII redaction, summaries, chapters, entities and sentiment, read transcripts as text, sentences, paragraphs or SRT/VTT subtitles, search words, translate or name speakers, ask an LLM about a transcript and create streaming tokens. US or EU data residency; paid per hour of audio, with free credit for new accounts.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
ASSEMBLYAI_API_KEY, ASSEMBLYAI_DOMAIN
Step 1 — Get credentials
Setting up takes about 2 minutes. You need an AssemblyAI account; new accounts get $50 of free credit for transcription and Speech Understanding.
- Sign up at https://www.assemblyai.com/dashboard/signup.
- In the dashboard open API Keys, copy a key and paste it into
ASSEMBLYAI_API_KEY. It is sent as the rawAuthorizationheader value, so paste only the key, withoutBeareror quotes. - Set
ASSEMBLYAI_DOMAINtoassemblyai.com(US, the default) oreu.assemblyai.com(EU data residency: audio, transcripts and prompts are processed and stored in the EU), withouthttps://orapi.. Transcripts made in one region are not visible from the other, and on the EU LLM Gateway only Claude and Gemini models are available. - Install the connector and run
assemblyai_list_transcripts: it lists the account's transcripts (none yet on a new account) and confirms the key.
What costs money:
assemblyai_submit_transcriptis billed per hour of audio, pro-rated to the second: Universal-3.5 Pro $0.21/h, Universal-2 $0.15/h. Add-ons: speaker labels $0.02/h, keyterms or prompt $0.05/h (Universal-3.5 Pro), medical mode $0.15/h. Withmultichannelevery channel is billed, and Speech Understanding features cost extra.assemblyai_understand_transcriptis billed per task.assemblyai_ask_transcriptis billed per input and output token at the model's price, whichassemblyai_list_llm_modelsshows in USD per million tokens. It is not covered by the free credit.assemblyai_create_streaming_tokenis free, but the streaming session opened with the token is billed by connection time.
Failed transcripts are free. All reads and assemblyai_list_llm_models are free. The AI tells you the cost of long files and asks before transcribing them.
Transcribing: assemblyai_submit_transcript takes audio_url, a public direct link to an audio or video file (mp3, wav, m4a, mp4, webm and more, up to 2.2 GB and 10 hours), such as a cloud storage link or a podcast MP3. A web page such as YouTube does not work, and local files cannot be uploaded through this connector. By default Universal-3.5 Pro (18 languages) is used, with Universal-2 (99 languages) for other languages. Options include speaker_labels with speakers_expected, language_code or language_detection, keyterms_prompt for names and terms, prompt to describe the audio, redact_pii with redact_pii_policies (plus redact_pii_audio for a beeped copy of the audio), summarization or auto_chapters, auto_highlights, entity_detection, sentiment_analysis, iab_categories, content_safety, speech_understanding for translation or speaker names, audio_start_from and audio_end_at, domain medical-v1 and an optional webhook_url. The call returns an id with status queued; the AI polls assemblyai_get_transcript every few seconds until the status is completed, or error with the reason in error. Processing usually takes a fraction of the audio length.
What it reads:
- The transcript: full text, utterances by speaker, detected language, audio duration, confidence and the results of each requested feature (summary, chapters, entities, sentiment, highlights, content safety, translations).
- Sentences (with speaker) and paragraphs, each with start, end and confidence.
- Subtitles in SRT or WebVTT, optionally with
chars_per_caption, ready to save as.srtor.vtt. - Word search: for each word or phrase, the number of matches and their timestamps.
- The link to the redacted audio, once the status is
redacted_audio_ready. - The models of the LLM Gateway (Claude, GPT, Gemini and open models) with context length, prices and the regions where each is available.
Analysing: assemblyai_ask_transcript sends a prompt to a model on the LLM Gateway, the successor of the retired LeMUR API. The prompt contains {{ transcript }} where the transcript goes, for example List the action items with owners in this meeting: {{ transcript }}. The answer is in choices[0].message.content, with the token usage; the default model is claude-sonnet-4-6. assemblyai_understand_transcript runs translation, speaker identification (names or roles instead of A and B), custom formatting or summarization on a finished transcript without transcribing again.
Streaming: assemblyai_create_streaming_token returns a short-lived token that a browser or device uses to open the Universal-Streaming WebSocket (wss://streaming.assemblyai.com/v3/ws?token=...) without the API key. The token can open a connection for 1 to 600 seconds; a session lasts up to 10,800 seconds.
Data formats: all times (start, end, audio_start_from, word timestamps) are in milliseconds, except audio_duration, which is in seconds. confidence runs from 0 to 1. Speakers are labelled A, B, C within one transcript. Dates such as created are ISO 8601 UTC. Word-level timestamps are left out of transcripts, sentences and paragraphs to keep answers small, and very long transcripts are cut at about 600 KB.
Paging: assemblyai_list_transcripts returns up to 200 transcripts a page (20 by default), newest first, filtered by status or created_on. For older ones the AI passes the id of the last transcript of the page as before_id.
Switched off at install: assemblyai_delete_transcript, which removes a transcript's text and data permanently (the record stays, marked as deleted, and files uploaded for it are deleted too). It cannot be undone, so a workspace admin turns it on when the team needs it.
Common errors: 401 "Authentication error, API token missing/invalid" means a wrong key, or Bearer in front of it. 400 names the bad parameter in error, for example a feature that is not available for the language or model. 404 means the transcript does not exist or was made in the other region. A transcript with status error and "Download error" means the audio_url could not be fetched: it is not public, or it is a web page instead of a file. 429 means too many concurrent requests. On the streaming token, a wrong key answers 404 "Invalid API key".
The connector does not upload local files, use the synchronous Sync and Dictation APIs, turn text into speech, or use saved prompts and tool calling on the LLM Gateway.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT adds MCP servers as plugins on its Plugins page, on the web and on paid plans. Developer mode is no longer needed. In a Business workspace only admins and owners can add one; in Enterprise and Edu an admin can grant the Create plugins with MCPs permission.
- Go to chatgpt.com/plugins, click +, then Add custom MCP server.
- Enter a name, e.g. Name:
AssemblyAI. - Under Connection, enter the Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand keep Authentication on OAuth. - Select I understand and want to continue, then Create as a plugin. When ChatGPT asks, sign in to AnythingMCP and allow access.
- Install the new plugin from your personal plugins, then type @ in a chat and pick it.
Available tools
| Tool | What it does |
|---|---|
assemblyai_list_transcripts | List the transcripts of the account, newest first, with id, status (queued, processing, completed, error), creation and completion time and… |
assemblyai_get_transcript | Get a transcript by id: status (queued, processing, completed or error with the error text), the full text, utterances by speaker, detected… |
assemblyai_get_sentences | The completed transcript split into sentences, each with text, start and end in milliseconds, confidence and speaker |
assemblyai_get_paragraphs | The completed transcript split into paragraphs, each with text, start and end in milliseconds and confidence |
assemblyai_get_subtitles | Export a completed transcript as subtitles in SRT or WebVTT format (plain text, ready to save as .srt or .vtt) |
assemblyai_search_words | Find where words or phrases are said in a completed transcript: per word, the number of matches and their timestamps in milliseconds |
assemblyai_get_redacted_audio | Get the link to the copy of the audio with personal data beeped out, for a transcript submitted with redact_pii_audio. status is… |
assemblyai_list_llm_models | List the language models of AssemblyAI's LLM Gateway (Claude, GPT, Gemini and open models) with id, context length, price per million input… |
assemblyai_create_streaming_token | Create a temporary token for AssemblyAI real-time streaming transcription (Universal-Streaming WebSocket), to hand to a browser or device… |
assemblyai_submit_transcript | Start transcribing an audio or video file from a public URL with AssemblyAI, optionally with speaker labels, language detection, PII… |
assemblyai_understand_transcript | Run a Speech Understanding task on a completed transcript without transcribing again: translation into other languages, speaker… |
assemblyai_ask_transcript | Ask a language model about a transcript through AssemblyAI's LLM Gateway (the successor of LeMUR): summaries, action items, answers to… |
assemblyai_delete_transcript | Remove a transcript's text and data permanently; the record stays, marked as deleted |
Example prompts
- "Transcribe this podcast episode with speaker labels, but tell me what it costs first: https://example.com/episode-42.mp3"
- "Summarize yesterday's meeting transcript and list the action items with owners."
- "Export the transcript as SRT subtitles with at most 42 characters per caption."
- "When in the call did anyone mention the budget or the next quarter?"
- "Transcribe this German interview, redact names and phone numbers, and translate it into English."
FAQ
Does the free ChatGPT plan work with custom MCP servers? OpenAI documents custom MCP servers for paid plans only; the Free plan is not on its list.
Next steps
- Connector landing page
- Connect to Claude
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?