Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

AssemblyAI

by AssemblyAIversion 1.0.0i★ 1iRuns in the cloud
Registry namecom.assemblyai/mcp

How to install

What it does

Transcribe, summarize and analyze audio with AssemblyAI speech-to-text and Speech Understanding.

  • Connects Runs in the cloud
  • Account or key Sign in to the service when you connect (OAuth)
  • Category Design, images & audio

Install

Pick the AI app you use, then copy the settings.

Passed 5/5 checks · What you ask goes through the maker’s server (mcp.assemblyai.com)

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 2 min

No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. Click “+ Add” → “Add custom connector” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · Name

    Checking the commands · copy buttons appear once they pass

    Remote MCP server URL · Address

    Checking the commands · copy buttons appear once they pass

    Leave Authentication as Claude detected it, then click Add

  3. Turn it on in a chat

    +ConnectorsAssemblyAI

  4. Try it

    Use AssemblyAI and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using AssemblyAI or shows a AssemblyAI tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with ChatGPT on business plans only

ChatGPT Business, Enterprise or Edu on the web, added by a workspace admin or owner · On Free, Plus or Pro: your ChatGPT plan cannot connect MCP yet

  1. Open ChatGPT’s add-MCP page on the web

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. Fill in the name and address

    Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin

    Name · Name

    Checking the commands · copy buttons appear once they pass

    Connection · Address

    Checking the commands · copy buttons appear once they pass

  3. Pick AssemblyAI in a chat

    Start a new chat and pick AssemblyAI from your plugins before typing

  4. Try it

    Use AssemblyAI and tell me what you can do for me, then show me one thing

    ✓ If ChatGPT says it is using AssemblyAI or shows a AssemblyAI tool in the answer, you are connected

Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Claude Code · about 2 min

No key, nothing to install

  1. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  2. Paste this command and press Enter

    Checking the commands · copy buttons appear once they pass

  3. Type /mcp in Claude Code

    You should see AssemblyAI listed as connected

  4. Try it

    Use AssemblyAI and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using AssemblyAI or shows a AssemblyAI tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 2 min

No key, nothing to install

  1. Click this button to open Cursor

    Checking the commands · copy buttons appear once they pass

  2. Open the AI chat in Cursor in Agent mode

  3. Try it

    Use AssemblyAI and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using AssemblyAI or shows a AssemblyAI tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 2 min

No key, nothing to install

  1. Click this button to open VS Code

    Checking the commands · copy buttons appear once they pass

  2. Open the AI chat in VS Code in Agent mode

  3. Try it

    Use AssemblyAI and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using AssemblyAI or shows a AssemblyAI tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Address

Checking the commands · copy buttons appear once they pass

JSON settings are under “For developers” below

Stuck? Ask people who use AssemblyAI💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

Checking the commands · copy buttons appear once they pass

Cursor (~/.cursor/mcp.json)

Checking the commands · copy buttons appear once they pass

VS Code (mcp.json)

Checking the commands · copy buttons appear once they pass

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
Not on npm/PyPI
Verified domain
✓ assemblyai.com
Connection
Runs in the cloud
Transport
streamable-http
Latest versioni
1.0.0
Published to registryi
Nov 4, 2026
Code last changedi
Nov 10, 2026
Maker
AssemblyAI
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

All apps, with pros and cons →

Related guides

What it can do

The server asks you to sign in before it lists its tools.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain assemblyai.com (the registry checks domain ownership)

  • ✓ Pass

    Still maintained

    Code last changed 3 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • ✓ Pass

    Endpoint responds

    Responded in 272 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Design, images & audioi

  • More stars than 78% of the other 2979 servers in this category
  • Published to the registry more recently than 79% of the other 2979 servers in this category
  • Basic checks equal to or better than 100% of the other 2979 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is AssemblyAI safe?

It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed 3 days ago, and the latest version (1.0.0) reached the registry 9 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.

What can I use instead?

In the same category: Figma Context MCP, AutoClip, Next AI Draw.io

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Figma Context MCP

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

by GLipsWidely used↓ 152.1K/wk★ 16.2KUpdated 5 months ago

Runs on your computer

AutoClip

Clip long videos into short clips with covers and captions. Local CLI and MCP.

by zhouxiaokaWidely used↓ 205/wk★ 10.4KUpdated 16 days ago

Runs on your computer

Next AI Draw.io

draw.io diagrams your AI agent draws on a live browser canvas that you can also edit by hand

by DayuanJiangWidely used↓ 21.7K/wk★ 36.9K Stars for the whole repoUpdated 6 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

AssemblyAI MCP Server

A remote MCP server for the AssemblyAI API. It gives any MCP-capable agent five tools covering async speech-to-text, Speech Understanding (translation, speaker identification, custom formatting, chaptered summarization, action items), and Guardrails (PII redaction, content moderation, profanity filtering) — served over Streamable HTTP and authenticated per-request, either by signing in with AssemblyAI (OAuth) or with the caller's own AssemblyAI API key.

Works with any MCP client that supports MCP authorization (Claude Code, Claude.ai, Cursor, MCP Inspector, and others) or can send a Bearer header. Built with Next.js 16 + mcp-handler + the official @modelcontextprotocol/sdk; deploys as a Vercel serverless function.

Quickstart

Sign in with AssemblyAI: add the server's /mcp endpoint with no headers. The client opens AssemblyAI's sign-in and consent page, and the server uses an API key it gets for that connection; nothing to copy or paste. (This works against AssemblyAI's hosted deployment; a self-hosted copy uses API keys, see Auth.)

claude mcp add --transport http assemblyai https://<host>/mcp

With an API key: point your MCP client at the /mcp endpoint with your AssemblyAI API key as the Bearer token.

Claude Code

claude mcp add --transport http assemblyai https://<host>/mcp \

--header "Authorization: Bearer $ASSEMBLYAI_API_KEY"

Generic remote-MCP client config

{

"mcpServers": { "assemblyai": { "url": "https:// /mcp", "headers": { "Authorization": "Bearer " } } } }

No hosted instance handy? npm install && npm run dev serves it at http://localhost:3000/mcp (see Local dev).

Then prompt the agent, e.g. *"transcribe this audio file and summarize it: https://assembly.ai/wildfires.mp3"*.

Tools

ToolPurpose
submit_transcript(audio_url, ...)Start an async transcription of a public audio/video URL. Returns { transcript_id, status } immediately.
get_transcript(transcript_id)Fetch the current state; full results once status is completed. Agents poll this ~every 3s.
understand_transcript(transcript_id, speech_understanding)Run Speech Understanding on an already-completed transcript — translation, speaker identification, custom formatting, chaptered summarization, action items — without re-submitting the audio (LLM Gateway /v1/understanding).
summarize_transcript(transcript_id, style?, custom_prompt?)Freeform or custom-prompt summary of a completed transcript via the LLM Gateway. style: bullets (default), paragraph, headline, action_items, or custom.
delete_transcript(transcript_id)Permanently delete a transcript and its data. Irreversible — only on explicit user request.

Typical agent flow: submit_transcript → poll get_transcript until completed → optionally understand_transcript / summarize_transcript → delete_transcript when the user asks for cleanup. When the need is known up front, request Speech Understanding features inline at submit time instead of post-hoc.

submit_transcript parameter surface

Accepts the full public async transcription param surface with API-native names, grouped roughly as:

  • Prompting — prompt (a contextual *description* of the audio, not instructions), keyterms_prompt
  • Language — language_code, language_codes, language_detection, language_detection_options, language_confidence_threshold
  • Models — speech_models (defaults to the pinned ["universal-3-5-pro", "universal-2"] priority list), temperature
  • Diarization — speaker_labels, speaker_options
  • Guardrails — redact_pii (+ redact_pii_policies, redact_pii_sub, redact_pii_audio, redact_pii_return_unredacted, redact_static_entities), filter_profanity, content_safety (+ content_safety_confidence), speech_threshold
  • Speech Understanding, inline — speech_understanding.request.{translation, speaker_identification, custom_formatting, summarization, action_items}, run during transcription
  • Other — sentiment_analysis (English only), entity_detection, iab_categories, auto_highlights, multichannel, disfluencies, custom_spelling, punctuate, format_text, audio_start_from, audio_end_at, domain (medical-v1 for Medical Mode), and remove_audio_tags, plus webhooks (webhook_url, webhook_auth_header_name/_value)

Omitted params are never sent — AssemblyAI's own defaults apply. See the submit endpoint docs for parameter semantics.

get_transcript output

Everything renders into content[].text as labeled sections, because some MCP clients surface only that to the model: --- text --- and --- utterances --- always; sentiment, entities, translations (whole-transcript and per-utterance), speaker identification, custom formatting, chaptered summary, action items, content safety, topics, highlights, unredacted text, the redacted-audio URL, and processing warnings when requested/present. Raw fields are mirrored in structuredContent.

Auth

Every request carries a Bearer token, which is one of two things.

An OAuth access token (Sign in with AssemblyAI). A request with no token gets a 401 whose WWW-Authenticate names /.well-known/oauth-protected-resource, which names AssemblyAI's authorization server. The client registers itself there, signs the member in through the consent page (scope aai:api), and sends the access token it gets back. AssemblyAI's API takes API keys, not access tokens, so src/oauth.ts exchanges the token for the API key of the member's connection to that client (POST /api/v2/oauth/api-key) before the request reaches withMcpAuth, and the request continues with that key. The exchange also proves which server is asking: the deployment's Vercel OIDC token goes in X-AAI-Service-Token, and AssemblyAI only accepts its own production deployment of this project, so a self-hosted copy can't exchange tokens and uses API keys instead. Keys are cached per access token for at most five minutes, so a connection revoked from the dashboard stops working within minutes. A refused token answers 401 (403 for a missing scope) and sends the client back to sign-in; an outage answers 503, which doesn't.

An AssemblyAI API key (pass-through). MCP clients send the API key as Authorization: Bearer (most client configs prepend Bearer automatically). AssemblyAI's REST API expects the raw key, so withMcpAuth extracts the token, strips the prefix, and threads it into every tool callback via extra.authInfo.token. No keys are written to disk or shared between requests — each request runs on the key it arrived with.

Configuration

Every setting defaults to AssemblyAI's production endpoints, so a production deployment needs none. A deployment that signs in against another AssemblyAI environment sets all four together, since that environment's keys only work against its own API.

VariableDefaultWhat it is
ASSEMBLYAI_OAUTH_ISSUERhttps://auth.assemblyai.comThe authorization server advertised in the protected resource metadata
ASSEMBLYAI_OAUTH_EXCHANGE_ORIGINhttps://www.assemblyai.comWhere access tokens are exchanged for API keys
ASSEMBLYAI_BASE_URLhttps://api.assemblyai.comThe AssemblyAI API
ASSEMBLYAI_LLM_GATEWAY_BASE_URLhttps://llm-gateway.assemblyai.comThe LLM Gateway

The service token needs no setting: Vercel provides it to the deployment (VERCEL_OIDC_TOKEN), and @vercel/oidc reads it.

Extending the tool surface (additive-only contract)

MCP clients discover tools at runtime (list_tools); client configs store only URL + auth, not a tool-schema snapshot. So new tools and new optional parameters appear automatically — no client reconfiguration, and for platforms with a connection-test step, no re-test. To keep that guarantee, all changes here are additive:

  1. Tool names are permanent — only add tools, never rename or remove.
  2. New inputs are always optional, with defaults that preserve current behavior.
  3. **get_transcript text output only *gains* labeled sections** — existing sections (--- text ---, --- utterances ---, --- sentiment ---, --- entities ---) are never renamed or reshaped, because text-only MCP clients read content[].text. (A legacy --- summary --- section is still rendered if present, but summaries now come from the summarize_transcript tool, not get_transcript.) The same protection covers the newer sections added for Speech Understanding and guardrails: --- translation: ---, --- translated_utterances ---, --- speaker_identification ---, --- custom_formatting ---, --- su_summary ---, --- action_items ---, --- content_safety ---, --- topics ---, --- highlights ---, --- unredacted_text ---, --- redacted_audio ---, and --- warnings ---.
  4. `structuredContent` is additive only — new fields, never removed/renamed.
  5. Avoid deprecated AssemblyAI transcript params (auto_chapters, summarization, summary_model, summary_type); use LLM Gateway instead. Mirror AssemblyAI's official MCP tool shapes where they exist.

Local dev

Requires Node 24.x.

npm install

npm test # in-process smoke + OAuth exchange tests (no network) npm run dev # next dev on http://localhost:3000

MCP endpoint: http://localhost:3000/mcp. OAuth protected resource metadata: http://localhost:3000/.well-known/oauth-protected-resource. Sign-in needs a deployment AssemblyAI accepts (see Auth); locally, use an API key.

Smoke test with MCP Inspector
npx @modelcontextprotocol/inspector

Connect to http://localhost:3000/mcp via Streamable HTTP, paste your AssemblyAI key as the Bearer token. Call submit_transcript with a public mp3 URL, then get_transcript with the returned id until completed.

Smoke test with curl
# No auth — expect 401

curl -i -X POST http://localhost:3000/mcp \ -H "Accept: application/json, text/event-stream" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

With your AssemblyAI key as the Bearer token — expect 200 + Mcp-Session-Id

curl -i -X POST http://localhost:3000/mcp \ -H "Authorization: Bearer $ASSEMBLYAI_API_KEY" \ -H "Accept: application/json, text/event-stream" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

Live end-to-end test (real AssemblyAI, real transcription)
ASSEMBLYAI_API_KEY=... npm run test:live                       # against localhost:3001

ASSEMBLYAI_API_KEY=... MCP_URL=https:// /mcp npm run test:live

Drives the running server with the MCP SDK client over Streamable HTTP: tool discovery, all submit_transcript feature flags, speech_model_used assertion, summarize_transcript, inline Speech Understanding (translation + chaptered summary), guardrails (content safety), post-hoc Speech Understanding via understand_transcript, graceful failure on a bad audio URL, and teardown via delete_transcript. Every transcript id is recorded as soon as submit_transcript returns it and deleted from a finally block, so the suite tears down every transcript it successfully creates even when the run fails midway. Costs a few cents of transcription credit per run.

Sign-in test against a deployment

`b

Only the beginning is shown; read the rest in the repo