Transcriptor de audio MCP
Una herramienta de Python Dockerizada que implementa el Protocolo de Contexto de Modelo (MCP) mediante la API de AssemblyAI. Sube o apunta a un archivo de audio y recibe una transcripción JSON estructurada.
Características
AssemblyMCP : una implementación concreta de MCP que utiliza la API REST de AssemblyAI
Interfaz de línea de comandos (
app.py):python app.py <input_audio> <output_json>Interfaz web de Streamlit (
streamlit_app.py):Subir archivos locales o pegar URL
Haga clic en Transcribir
Vista previa de la transcripción y descarga JSON
Compatibilidad de Docker con la coherencia y portabilidad del entorno
Related MCP server: Typecast API MCP Server
Prerrequisitos
Python 3.10+
Una clave API de AssemblyAI
ffmpeg (para decodificación local, si se utilizan archivos locales)
(Opcional) Docker Desktop/Motor
(Opcional) Streamlit (
pip install streamlit)
🔧 Instalación
Clonar el repositorio
git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git cd MCP---Audio-TranscriberCrear un
.envASSEMBLYAI_API_KEY=your_assemblyai_api_key_hereAsegúrese de que
.gitignorecontenga:.envInstalar dependencias de Python
pip install --upgrade pip pip install -r requirements.txtInstalar ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg -yWindows: descargue desde https://ffmpeg.org y agregue su
bin/a su RUTA
Uso
1. Transcripción CLI
python app.py <input_audio> <output_json><input_audio>: cualquier archivo o URL compatible con AssemblyAI<output_json>: ruta para el JSON generado
Ejemplo:
python app.py data/input.ogg data/output.json
cat data/output.json2. Interfaz web optimizada
streamlit run streamlit_app.pySubir o ingresar una URL de audio
Haga clic en Transcribir
Descargar el resultado JSON
3. Docker
Construye la imagen:
docker build -t mcp-transcriber .Ejecútalo (montando tus datos/carpeta):
docker run --rm \
-e ASSEMBLYAI_API_KEY="$ASSEMBLYAI_API_KEY" \
-v "$(pwd)/data:/data" \
mcp-transcriber:latest \
/data/input.ogg /data/output.jsonLuego inspeccionar:
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.jsonEstructura del proyecto
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