A portable, Dockerized Python tool that implements Model Context Protocol for audio transcription using Whisper models, featuring both CLI and web UI interfaces for converting audio files to JSON transcriptions.
A Dockerized Python tool that implements the Model Context Protocol (MCP) via AssemblyAI's API. Upload or point to an audio file, and receive a structured JSON transcription.
app.py
):
python app.py
streamlit_app.py
):
pip install streamlit
)Clone the repo
git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git cd MCP---Audio-Transcriber
Create a .env
ASSEMBLYAI_API_KEY=your_assemblyai_api_key_here
Ensure .gitignore
contains:
.env
Install Python dependencies
pip install --upgrade pip pip install -r requirements.txt
Install ffmpeg
sudo apt update && sudo apt install ffmpeg -y
bin/
to your PATHpython app.py
Example:
python app.py data/input.ogg data/output.json cat data/output.json
streamlit run streamlit_app.py
Build the image:
docker build -t mcp-transcriber .
Run it (mounting your data/ folder):
docker run --rm \ -e ASSEMBLYAI_API_KEY="$ASSEMBLYAI_API_KEY" \ -v "$(pwd)/data:/data" \ mcp-transcriber:latest \ /data/input.ogg /data/output.json
Then inspect:
ls data/output.json cat data/output.json
Windows 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
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!