Enables containerized deployment of the transcription service, making it portable and providing a consistent runtime environment.
Provides audio file processing capabilities, allowing the transcription service to handle various audio formats like .wav, .mp3, .ogg, and .m4a.
Integrates with OpenAI's Whisper models to provide high-quality, multi-language audio transcription with options for different model sizes.
Offers a web-based user interface for uploading audio files, selecting model parameters, previewing transcriptions, and downloading results.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Audio Transcribertranscribe this meeting recording from the URL https://example.com/meeting.mp3"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Audio Transcriber
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.
Features
AssemblyMCP: a concrete MCP implementation that uses AssemblyAI's REST API
Command-line interface (
app.py):python app.py <input_audio> <output_json>Streamlit web UI (
streamlit_app.py):Upload local files or paste URLs
Click Transcribe
Preview transcript and download JSON
Docker support for environment consistency and portability
Related MCP server: Typecast API MCP Server
Prerequisites
Python 3.10+
An AssemblyAI API key
ffmpeg (for local decoding, if using local files)
(Optional) Docker Desktop / Engine
(Optional) Streamlit (
pip install streamlit)
🔧 Installation
Clone the repo
git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git cd MCP---Audio-TranscriberCreate a
.envASSEMBLYAI_API_KEY=your_assemblyai_api_key_hereEnsure
.gitignorecontains:.envInstall Python dependencies
pip install --upgrade pip pip install -r requirements.txtInstall ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg -yWindows: download from https://ffmpeg.org and add its
bin/to your PATH
Usage
1. CLI Transcription
python app.py <input_audio> <output_json><input_audio>: any file or URL supported by AssemblyAI<output_json>: path for the generated JSON
Example:
python app.py data/input.ogg data/output.json
cat data/output.json2. Streamlit Web UI
streamlit run streamlit_app.pyOpen http://localhost:8501
Upload or enter an audio URL
Click Transcribe
Download the JSON result
3. Docker
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.jsonThen inspect:
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.jsonProject Structure
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.jsonThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.