MCP Audio Transcriber
Ein Docker-Python-Tool, das das Model Context Protocol (MCP) über die API von AssemblyAI implementiert. Laden Sie eine Audiodatei hoch oder verweisen Sie darauf, und erhalten Sie eine strukturierte JSON-Transkription.
Merkmale
AssemblyMCP : eine konkrete MCP-Implementierung, die die REST-API von AssemblyAI verwendet
Befehlszeilenschnittstelle (
app.py):python app.py <input_audio> <output_json>Streamlit-Web-Benutzeroberfläche (
streamlit_app.py):Laden Sie lokale Dateien hoch oder fügen Sie URLs ein
Klicken Sie auf Transkribieren
Transkriptvorschau und JSON herunterladen
Docker-Unterstützung für Umgebungskonsistenz und Portabilität
Related MCP server: Typecast API MCP Server
Voraussetzungen
Python 3.10+
Ein AssemblyAI-API-Schlüssel
ffmpeg (für lokale Dekodierung, wenn lokale Dateien verwendet werden)
(Optional) Docker Desktop / Engine
(Optional) Streamlit (
pip install streamlit)
🔧 Installation
Klonen Sie das Repo
git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git cd MCP---Audio-TranscriberErstellen Sie eine
.envASSEMBLYAI_API_KEY=your_assemblyai_api_key_hereStellen Sie sicher, dass
.gitignoreFolgendes enthält:.envInstallieren Sie Python-Abhängigkeiten
pip install --upgrade pip pip install -r requirements.txtInstallieren Sie ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg -yWindows: Laden Sie es von https://ffmpeg.org herunter und fügen Sie
bin/zu Ihrem PATH hinzu
Verwendung
1. CLI-Transkription
python app.py <input_audio> <output_json><input_audio>: jede von AssemblyAI unterstützte Datei oder URL<output_json>: Pfad für das generierte JSON
Beispiel:
python app.py data/input.ogg data/output.json
cat data/output.json2. Streamlit-Web-Benutzeroberfläche
streamlit run streamlit_app.pyÖffnen Sie http://localhost:8501
Audio-URL hochladen oder eingeben
Klicken Sie auf Transkribieren
Laden Sie das JSON-Ergebnis herunter
3. Docker
Erstellen Sie das Image:
docker build -t mcp-transcriber .Führen Sie es aus (mounten Sie Ihre Daten/Ordner):
docker run --rm \
-e ASSEMBLYAI_API_KEY="$ASSEMBLYAI_API_KEY" \
-v "$(pwd)/data:/data" \
mcp-transcriber:latest \
/data/input.ogg /data/output.jsonDann prüfen Sie:
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.jsonProjektstruktur
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