MCP Аудио Транскрибатор
Инструмент Python Dockerized, реализующий протокол контекста модели (MCP) через API AssemblyAI. Загрузите или укажите на аудиофайл и получите структурированную транскрипцию JSON.
Функции
AssemblyMCP : конкретная реализация MCP, использующая REST API AssemblyAI
Интерфейс командной строки (
app.py):python app.py <input_audio> <output_json>Веб-интерфейс Streamlit (
streamlit_app.py):Загрузите локальные файлы или вставьте URL-адреса
Нажмите «Транскрибировать»
Предварительный просмотр транскрипта и загрузка JSON
Поддержка Docker для обеспечения согласованности и переносимости среды
Related MCP server: Typecast API MCP Server
Предпосылки
Питон 3.10+
API-ключ AssemblyAI
ffmpeg (для локального декодирования, если используются локальные файлы)
(Необязательно) Рабочий стол Docker / Движок
(Необязательно) Streamlit (
pip install streamlit)
🔧 Установка
Клонировать репозиторий
git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git cd MCP---Audio-TranscriberСоздать
.envASSEMBLYAI_API_KEY=your_assemblyai_api_key_hereУбедитесь, что
.gitignoreсодержит:.envУстановить зависимости Python
pip install --upgrade pip pip install -r requirements.txtУстановить ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg -yWindows: скачайте с https://ffmpeg.org и добавьте его
bin/в ваш PATH
Использование
1. Транскрипция CLI
python app.py <input_audio> <output_json><input_audio>: любой файл или URL, поддерживаемый AssemblyAI<output_json>: путь для сгенерированного JSON
Пример:
python app.py data/input.ogg data/output.json
cat data/output.json2. Streamlit Web UI
streamlit run streamlit_app.pyОткройте http://localhost:8501
Загрузите или введите URL-адрес аудио
Нажмите «Транскрибировать»
Загрузите результат JSON
3. Докер
Создайте изображение:
docker build -t mcp-transcriber .Запустите его (смонтировав папку data/):
docker run --rm \
-e ASSEMBLYAI_API_KEY="$ASSEMBLYAI_API_KEY" \
-v "$(pwd)/data:/data" \
mcp-transcriber:latest \
/data/input.ogg /data/output.jsonЗатем проверьте:
ls data/output.json
cat data/output.jsonWindows PowerShell:
docker run --rm `
-e ASSEMBLYAI_API_KEY=$env:ASSEMBLYAI_API_KEY `
-v "${PWD}\data:/data" `
mcp-transcriber:latest `
/data/input.ogg /data/output.jsonСтруктура проекта
MCP-Audio-Transcriber/
├── app.py # CLI entrypoint (AssemblyMCP only)
├── mcp.py # ModelContextProtocol + AssemblyMCP
├── streamlit_app.py # Streamlit interface
├── requirements.txt # assemblyai, python-dotenv, streamlit, etc.
├── Dockerfile # builds the container
├── .gitignore # ignores .env, __pycache__, etc.
├── LICENSE # MIT license
└── data/ # sample input and output
├── input.ogg
└── output.json