Skip to main content
Glama

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: Transcripter 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

  1. Clone the repo

    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:

    .env
  4. Install Python dependencies

    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

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.json

2. Streamlit Web UI

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:

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

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
-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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