【要約】Zoom AI ServicesをMCPサーバー化してClaude Codeから使ってみた [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
開発者が音声データを処理する際、用途ごとに個別のパイプラインを構築しなければならない問題に直面していた。従来の方式では、特定の処理フローを完結させるために、一連のステップを記述したコードを都度用意する必要があった。
具体的には以下の課題が存在する。
具体的には以下の課題が存在する。
- ・用途が増えるたびに、録音から要約、通知に至るパイプラインを書き直す必要がある。
- ・エージェントがAPIの文字数制限などの詳細な仕様を意識しなければならず、指示が複雑化する。
- ・音声処理のステップを固定化すると、柔軟なワークフローへの対応が困難になる。
// Approach
開発者がエージェントから直接音声処理を行えるよう、Zoom AI ServicesをMCPサーバーとして実装した。各APIを独立したツールとして定義し、エージェントが自律的に組み合わせられる構成を採用している。
具体的な手法は以下の通りである。
具体的な手法は以下の通りである。
- ・3つのMCPツール(transcribe_audio, summarize_transcript, translate_text)を実装。
- ・JWT(HS256)を用いた認証機能をNode.js標準のcryptoで実装。
- ・Translator APIの4,000文字制限を、サーバー側での文境界に基づいたチャンク分割により隠蔽。
- ・ローカルファイルとURLの両方に対応するため、必要に応じてbase64エンコードを行う処理を実装。
// Result
Claude Codeを用いた検証により、エージェントが指示一つで音声の文字起こしから翻訳までを自律的に完結できることを確認した。
得られた成果は以下の通りである。
得られた成果は以下の通りである。
- ・エージェントが「音声 → 文字起こし → 翻訳」の順序を自ら判断して実行可能になった。
- ・レイテンシは、文字起こしにおいて音声時間の4〜5倍速という高速な処理を実現。
- ・APIの制限を意識せず、自然な言語指示で高度な音声処理が可能になった。
- ・検証におけるコストは、1分程度の処理で約1円相当と極めて低廉である。
Senior Engineer Insight
> 本実装の白眉は、APIの制約をMCPサーバー側で吸収し、エージェントの抽象度を維持した点にある。4,000字制限のチャンク分割などは、エージェントの推論リソースを無駄に消費させない優れた設計だ。実運用では、話者分離(channel_separation)がステレオ音源に限定される点や、多言語モデルの挙動に留意すべきである。低コストかつ軽量な実装であり、開発ワークフローへの音声入力統合は極めて実用的だ。