Skip to main content
Glama

zoom-ai-mcp

Zoom AI Services の3つの API(Scribe / Translator / Summarizer)を MCP ツールとして公開するサーバーです。

Claude Code などの MCP クライアントに接続すると、エージェントに音声ファイルを渡して「何が録音されてるか教えて。英訳も欲しい」のように頼めるようになります。文字起こし → 翻訳のような API の呼び分けはエージェントが自分で判断するので、処理ごとのパイプラインを書く必要はありません。

ツール

ツール

使用API

できること

transcribe_audio

Scribe

音声/動画の文字起こし(wav / mp3 / m4a / mp4、ローカルパスまたはURL)

summarize_transcript

Summarizer

会話テキストの要約(recap / action_items / summary / full_summary)

translate_text

Translator

9言語間のテキスト翻訳。4,000字を超える入力は文境界で自動分割

Related MCP server: Zoom API MCP Server

必要なもの

セットアップ

git clone https://github.com/rai03k/zoom-ai-mcp.git
cd zoom-ai-mcp
npm install
npm run build

Claude Code に登録:

claude mcp add zoom-ai \
  -e ZOOM_API_KEY=your_api_key \
  -e ZOOM_API_SECRET=your_api_secret \
  -- node /path/to/zoom-ai-mcp/dist/index.js

Claude Desktop の場合は claude_desktop_config.json に以下を追加:

{
  "mcpServers": {
    "zoom-ai": {
      "command": "node",
      "args": ["/path/to/zoom-ai-mcp/dist/index.js"],
      "env": {
        "ZOOM_API_KEY": "your_api_key",
        "ZOOM_API_SECRET": "your_api_secret"
      }
    }
  }
}

使い方

エージェントに普通に話しかけるだけです。

meeting.mp3 で何が決まったか教えて。決定事項は英語でもまとめて。

transcribe_audiosummarize_transcripttranslate_text が必要な順で自動的に呼ばれます。

実装メモ

  • 認証は API Key / Secret から HS256 の JWT を生成して Bearer 送信(src/zoom.ts)。外部の JWT ライブラリは使っていません

  • Translator API の入力4,000字制限は、段落・文境界で分割してから順に翻訳することで吸収しています

  • 動作確認用の音声は zoom/ai-services-quickstartsample_data/ にあるサンプルが使えます(ライセンスの関係で本リポジトリには同梱していません)

License

MIT

Available Tools

3 tools
summarize_transcriptSummarize a conversation (Zoom Summarizer)A

Summarize a conversation transcript using the Zoom Summarizer API. Input is plain text / VTT / SRT (max 96 KB). task=recap gives a short recap, action_items extracts to-dos, summary gives a standard summary, full_summary the most detailed one.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNoWhat to generate from the transcriptsummary
textYesThe conversation transcript to summarize
languageNoOutput languageja-jp

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses API source, input formats, and size limit, but lacks details on authentication, rate limits, or whether the operation is read-only. This is adequate but could be more comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first sentence establishes purpose and constraints, second explains task variants. No wasted words, front-loaded with essential info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not specify return format or structure. It lists task outputs but not whether they are strings, objects, etc. Missing error conditions or handling of max size exceeded. Adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds value by explaining task options (e.g., 'recap gives a short recap') and clarifying text input as 'plain text / VTT / SRT', which is beyond the schema's generic type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it summarizes transcripts using Zoom Summarizer API, specifies input formats and size limit, and lists task options. It differentiates from siblings transcribe_audio and translate_text by focusing on summarization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for summarizing transcripts and provides context on input formats and size limit, but does not explicitly state when not to use or mention alternatives beyond the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transcribe_audioTranscribe audio (Zoom Scribe)A

Transcribe an audio/video file to text using the Zoom Scribe API. Accepts a local file path or an https URL (wav / mp3 / m4a / mp4). Returns the transcript with speaker-separated segments when channel_separation is enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesLocal file path or https URL of the audio/video file
languageNoBCP-47 language code of the audio (e.g. ja-JP, en-US, zh-CN, ko-KR, es-ES, fr-FR, de-DE, pt-BR, it-IT)ja-JP
channel_separationNoSeparate speakers by audio channel

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It discloses the API used (Zoom Scribe), input formats, and that output contains speaker-separated segments when enabled. However, it does not mention potential side effects, authentication requirements, file size limits, or error handling. For a transcription tool, this is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two sentences, each providing essential information without redundancy. It is front-loaded with the main purpose and efficiently covers key details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, no output schema, and no annotations, the description adequately covers input types, file formats, and output characteristics. It lacks constraints like maximum file size or URL accessibility requirements, but overall it provides sufficient context for an agent to understand the tool's functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds limited additional meaning: it clarifies that channel_separation affects speaker-separated segments and provides examples for language codes. This is marginal improvement over the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool transcribes audio/video to text using Zoom Scribe API, specifies accepted file formats (wav, mp3, m4a, mp4) and input types (local file or https URL). It mentions output includes speaker-separated segments when channel_separation is enabled, distinguishing it from sibling tools like summarize_transcript and translate_text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies transcription is a preprocessing step before summarization or translation, but provides no explicit guidance on when to use this tool vs alternatives or any exclusion criteria. It lacks explicit 'when to use' or 'when not to use' statements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

translate_textTranslate text (Zoom Translator)A

Translate text between languages using the Zoom Translator API. Texts longer than the 4,000-character API limit are automatically split on sentence boundaries and translated chunk by chunk.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to translate
source_languageYesLanguage of the input text
target_languageYesLanguage to translate into

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the automatic splitting behavior for long texts, which is important. However, with no annotations, the description should also cover authentication, rate limits, and error handling, which are absent. The split detail is valuable but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. First sentence states purpose, second adds critical behavioral detail. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description covers purpose and a key behavior (splitting). However, it does not describe the return format, error handling, or prerequisites. Slightly incomplete for a simple tool, but adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds context about the character limit and splitting, but does not enhance per-parameter meaning beyond what the schema provides (text, source, target). Adequate but not extra.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool translates text between languages using a specific API. It also mentions automatic splitting for long texts, which is a key detail. The tool's purpose is distinct from siblings summarize_transcript and transcribe_audio, making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The purpose is clear, but the description does not provide usage context or contrast with siblings. Implied usage from the tool name and siblings, but no explicit when-not-to-use.

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.

  1. 3 tool updatesv0.1.0
    • First observedsummarize_transcript
    • First observedtranscribe_audio
    • First observedtranslate_text

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct operation: transcription, summarization, and translation. No overlap in functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (summarize_transcript, transcribe_audio, translate_text), making them predictable.

Tool Count5/5

Three tools cover the core AI processing utilities (transcription, summarization, translation) without unnecessary bloat or missing essentials.

Completeness5/5

The tool set provides a complete pipeline: transcribe audio, summarize transcripts with multiple detail levels, and translate text. No obvious gaps for the stated AI processing purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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/rai03k/zoom-ai-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server