Skip to main content
Glama

MCP Audio Transcriber

README.md3 kB
# 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`): ```bash 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 ## 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 1. Clone the repo ```bash git clone https://github.com/ShreyasTembhare/MCP---Audio-Transcriber.git cd MCP---Audio-Transcriber ``` 2. Create a `.env` ``` ASSEMBLYAI_API_KEY=your_assemblyai_api_key_here ``` 3. Ensure `.gitignore` contains: ```gitignore .env ``` 4. Install Python dependencies ```bash pip install --upgrade pip pip install -r requirements.txt ``` 5. Install ffmpeg - Ubuntu/Debian: `sudo apt update && sudo apt install ffmpeg -y` - Windows: download from https://ffmpeg.org and add its `bin/` to your PATH ## Usage ### 1. CLI Transcription ```bash python app.py <input_audio> <output_json> ``` - `<input_audio>`: any file or URL supported by AssemblyAI - `<output_json>`: path for the generated JSON Example: ```bash python app.py data/input.ogg data/output.json cat data/output.json ``` ### 2. Streamlit Web UI ```bash streamlit run streamlit_app.py ``` - Open http://localhost:8501 - Upload or enter an audio URL - Click Transcribe - Download the JSON result ### 3. Docker Build the image: ```bash docker build -t mcp-transcriber . ``` Run it (mounting your data/ folder): ```bash 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: ```bash ls data/output.json cat data/output.json ``` Windows PowerShell: ```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 ``` ## Project 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.json ```

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShreyasTembhare/MCP---Audio-Transcriber'

If you have feedback or need assistance with the MCP directory API, please join our Discord server