Transcription MCP Sever について
Transcription MCP Sever は、AssemblyAI API を使って MP3 音声を JSON の文字起こしに変換する MCP サーバーです。ポッドキャスター、教育者、業務チーム向けで、セグメントのタイムスタンプや話者ラベルに対応し、コマンドラインまたは Docker で実行できます。
主な機能
- 01AssemblyAI による MP3 の文字起こし
- 02タイムスタンプ付き JSON の生成
- 03話者ごとのラベル付け
- 04コマンドラインや AI アシスタントからファイルパスを指定
- 05文字起こし結果をローカルに保存
- 06Docker での実行
活用シーン
- 01ポッドキャスト音声の文字起こし作成
- 02教材音声へのセグメント別タイムスタンプ付与
- 03会議や業務音声の話者整理
- 04Docker 環境での文字起こしサービス実行
MCP 対応
ファイルパスを受け取り、タイムスタンプと話者ラベル付きの JSON 文字起こしを返す機能を AI アシスタントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
文字起こし MCP Sever
AssemblyAI API を使用して MP3 音声ファイルを文字起こしするための MCP(Model-Context-Protocol)サーバーです。このサーバーは、音声を文字起こしするためのコマンドラインおよび Docker ベースのツールを提供します。このアプリケーションは、ポッドキャスター、コンテンツクリエイター、教育者、ビジネスチームがタスクをより簡単に実行するために利用できます。
特長
- コマンドラインインターフェースから .mp3 ファイルを受け付けます
- Claude や Cursor などの AI アシスタントから指定された .mp3 ファイルのパスを受け付けます。
- AssemblyAI API を使用して MP3 音声ファイルを JSON の文字起こしデータに変換します
- 文字起こしされた各セグメントの開始時刻と終了時刻を含むタイムスタンプを付与します
- 話者ダイアライゼーション(話者ラベル)を有効にしています
- 文字起こしデータをローカルの "transcripts/" ディレクトリに保存します
- 移植性とデプロイのため、Docker コンテナですぐに実行できます
システムアーキテクチャの概要
このアプリケーションは、AssemblyAI を使用して音声ファイルを文字起こしするマイクロサービスです。
アーキテクチャの内訳
- MCP サーバーのランタイムとしての Uvicorn:Uvicorn がサーバープロセスを実行し、文字起こしジョブを実行するためのエントリーポイントとして機能します。
- AssemblyAI クライアント:このコンポーネントが AssemblyAI API とのすべての通信を処理します。
- Google Fire による CLI:Google Fire を使用して構築された、堅牢なコマンドラインインターフェースを備えています。ユーザーはターミナルから直接、音声ファイルを文字起こしできます。
- Docker 化された環境:サーバーはローカルマシン上で直接実行できますが、コンテナ化されたデプロイを希望するユーザー向けに、軽量な Docker 設定も含まれています。
はじめに
前提条件
- Python 3.10+(安定性があり、広く利用され、十分にサポートされています)
- Uvicorn(軽量な ASGI サーバー)
- Google Fire(CLI フレームワーク。簡単かつ強力に CLI を作成できます)
- AssemblyAI API キー(API インターフェース。https://www.assemblyai.com/ で登録してください)
- Docker(任意。コンテナでの利用に使用します。一貫性のある移植可能なデプロイを実現します)
インストール
- リポジトリをクローンします:
git clone <your-repo-url>
cd <repo-folder>
- 依存関係をインストールします:
pip install -r requirements.txt
- AssemblyAI API キーを環境変数として設定します:
export API_KEY="your_assemblyai_api_key" # Linux / macOS
set API_KEY="your_assemblyai_api_key" # Windows CMD
使用方法
MCP Dev で検査する
Web UI でツールの機能を検査してテストするには、このコマンドを実行します。
uv run mcp dev mcp/server_transcription.py
server_transcription に接続してテストする
Claude に接続するには、次のコマンドを実行します。
uv run mcp install mcp\server_transcription.py
JSON 形式
Claude や Cursor などの AI アシスタントに接続する場合、設定は次の JSON 形式にする必要があります。
{
"mcpServers": {
"Audio Transcription Service": {
"command": "C:\\Users\\HomePC\\Desktop\\mcp_task2\\.venv\\Scripts\\python.exe",
"args": [
"-u",
"C:\\Users\\HomePC\\Desktop\\mcp_task2\\mcp\\server_transcription.py"
],
"env": {
"API_KEY": "<input-your-api-key-here>"
}
}
}
}
client_transcription をテストする
次のコマンドを実行します。
python mcp\client_transcription.py "path/to/audio/file"
Docker の使用方法
Docker イメージをビルドします
docker build -t transcription-service -f run_with_docker/Dockerfile .
Docker コンテナを実行します
set API_KEY="your-api-key-here"
docker run -d -p 8050:8050 -e API_KEY=%API_KEY% -v C:\Users:/mnt/users -v %CD%\transcripts:/app/transcripts -v %CD%\logs:/app/logs --dns 8.8.8.8 --name transcription-server transcription-service
クライアントを実行します
python run_with_docker\client.py "path/to/audio/file"
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。