プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

AssemblyAI

作者:AssemblyAIバージョン 1.0.0i★ –iクラウドで動く
レジストリ名com.assemblyai/mcp

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: デザイン・画像・音声

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:3項目中3項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://mcp.assemblyai.com/mcp

ターミナルでこれを実行します

claude mcp add --transport http assemblyai https://mcp.assemblyai.com/mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "assemblyai": {
      "url": "https://mcp.assemblyai.com/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "assemblyai": {
      "type": "http",
      "url": "https://mcp.assemblyai.com/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://mcp.assemblyai.com/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーは、ツール一覧を表示する前にサインインを求めます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン assemblyai.com で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • ✓ 合格

    エンドポイントが応答する

    132ミリ秒で応答(HTTP 401)

  • ✓ 合格

    OAuthでサインイン

    OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

デザイン・画像・音声のほかのサーバーとの比較i

  • このカテゴリのほかの2172件のうち0%よりスターが多い
  • このカテゴリのほかの2172件のうち92%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの2172件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

AssemblyAIは安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.0.0)がレジストリに届いたのは3 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Figma Context MCP

作者:GLips

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

パソコンで動く★ 16,165MIT5 か月前更新
インストール

Claude Real Video

作者:HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

パソコンで動く★ 2,284MIT2 か月前更新
インストール

Figma MCP Server

作者:figma

The Figma MCP server brings Figma design context directly into your AI workflow.

クラウドで動く★ 2,15213 か月前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

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

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く